- 浏览: 656370 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
HkEndless:
不好意思,请问这确定是回调机制吗。你的例子中只是将接口的实现类 ...
Spring CallBack回调机制介绍 -
hanmiao:
写的真乱啊,完全不知所云...
Java如何调用可执行文件和批处理命令 -
junia_1:
junia_1 写道 shock: ...
为什么要使用EJB -
junia_1:
shock:
为什么要使用EJB -
coollifer:
不错
SQL Server数据导入到Oracle中的方法
raid是当前存储提高安全和性能的主要技术手段,实现raid一般用raid卡实现,也就是硬raid。除此之外,我们还可以用软件来实现raid技术。
这篇文章就简单介绍如何用软件实现raid技术(以raid0为例)。
有两个可以实现软raid的工具:raidtools, mdadm。
raidtool,这是在RHEL3中所使用的,但是我在RHEL4中没有找到raidtool,只有mdadm,看来RH也是偏向于使用mdadm的。
本文也以mdadm为例讲述。
一、查看当前硬盘情况
[root@primary /]# fdisk -l
Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 1114 8843782+ 83 Linux
/dev/sda3 1115 1305 1534207+ 82 Linux swap
Disk /dev/sdb: 107 MB, 107374080 bytes
64 heads, 32 sectors/track, 102 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk /dev/sdb doesn't contain a valid partition table
Disk /dev/sdc: 107 MB, 107374080 bytes
64 heads, 32 sectors/track, 102 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk /dev/sdc doesn't contain a valid partition table
二、为硬盘分区
raid一般多个硬盘来组成,你也可以用同一个硬盘的多个分区组成raid,但这样是没有意义的。
[root@primary /]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-102, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-102, default 102):
Using default value 102
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@primary /]# fdisk /dev/sdc
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-102, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-102, default 102):
Using default value 102
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
此时硬盘的分区情况:
[root@primary /]# fdisk -l
Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 1114 8843782+ 83 Linux
/dev/sda3 1115 1305 1534207+ 82 Linux swap
Disk /dev/sdb: 107 MB, 107374080 bytes
64 heads, 32 sectors/track, 102 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 102 104432 83 Linux
Disk /dev/sdc: 107 MB, 107374080 bytes
64 heads, 32 sectors/track, 102 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 1 102 104432 83 Linux
三、创建raid0
[root@primary /]# mdadm --create /dev/md0 --level=raid0 --chunk=8 --raid-devices=2 /dev/sdb1 /dev/sdc1
四、格式化raid
mdadm: array /dev/md0 started.
[root@primary /]# mkfs.ext3 /dev/md0
mke2fs 1.35 (28-Feb-2004)
max_blocks 213647360, rsv_groups = 26080, rsv_gdb = 256
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
52208 inodes, 208640 blocks
10432 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
26 block groups
8192 blocks per group, 8192 fragments per group
2008 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801
Writing inode tables: done
inode.i_blocks = 3586, i_size = 67383296
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
五、挂载raid分区
[root@primary /]# mount /dev/md0 /opt
[root@primary /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 8.4G 5.7G 2.3G 73% /
/dev/sda1 99M 8.4M 86M 9% /boot
none 252M 0 252M 0% /dev/shm
/dev/hdc 161M 161M 0 100% /media/cdrom
/dev/md0 198M 5.8M 182M 4% /opt
六、查看raid的信息
[root@primary opt]# mdadm --detail /dev/md0
/dev/md0:
Version : 00.90.01
Creation Time : Sun Jul 8 22:54:28 2007
Raid Level : raid0
Array Size : 208640 (203.75 MiB 213.65 MB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Sun Jul 8 22:54:29 2007
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Chunk Size : 8K
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
UUID : a86f0502:df5715c0:fd871bbc:9f75e0ad
Events : 0.1
七、生成mdadm配置文件
mdadm的缺省配置文件为/etc/mdadm.conf,它主要是为了方便阵列的日常管理而设置的,对于阵列而言不是必须的,但是为了减少日后管理中不必要的麻烦,还是应该坚持把这一步做完。
在mdadm.conf文件中要包含两种类型的行:一种是以DEVICE开头的行,它指明在阵列中的设备列表;另一种是以ARRAY开头的行,它详细地说明了阵列的名称、模式、阵列中活动设备的数目以及设备的UUID号。
我们可以用mdadm -Ds来得到mdadm.conf文件需要的信息:
[root@primary ~]# mdadm -Ds
ARRAY /dev/md0 level=raid0 num-devices=2 UUID=63f24968:d367038d:f207e458:9a803df9
devices=/dev/sdb1,/dev/sdc1
根据上面的信息编辑/etc/mdadm.conf,如下:
[root@primary ~]# more /etc/mdadm.conf
ARRAY /dev/md0 level=raid0 num-devices=2 UUID=63f24968:d367038d:f207e458:9a803df9
device /dev/sdb1 /dev/sdc1
如果不配置这个文件,在重启后尝试mount raid设备的时候会报错:
[root@primary ~]# mount /dev/md0 /opt
/dev/md0: Invalid argument
mount: /dev/md0: can't read superblock
八、设置开机自动挂载
为了让系统开机后能自动挂载raid设备,需要在/etc/fstab添加如下行:
vi /etc/fstab
/dev/md0 /opt ext3 defaults 0 0
至此,一个raid0就算配置完毕了。其他级别的raid也可以用类似的方法配置,具体可以看帮助。
这篇文章就简单介绍如何用软件实现raid技术(以raid0为例)。
有两个可以实现软raid的工具:raidtools, mdadm。
raidtool,这是在RHEL3中所使用的,但是我在RHEL4中没有找到raidtool,只有mdadm,看来RH也是偏向于使用mdadm的。
本文也以mdadm为例讲述。
一、查看当前硬盘情况
[root@primary /]# fdisk -l
Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 1114 8843782+ 83 Linux
/dev/sda3 1115 1305 1534207+ 82 Linux swap
Disk /dev/sdb: 107 MB, 107374080 bytes
64 heads, 32 sectors/track, 102 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk /dev/sdb doesn't contain a valid partition table
Disk /dev/sdc: 107 MB, 107374080 bytes
64 heads, 32 sectors/track, 102 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk /dev/sdc doesn't contain a valid partition table
二、为硬盘分区
raid一般多个硬盘来组成,你也可以用同一个硬盘的多个分区组成raid,但这样是没有意义的。
[root@primary /]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-102, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-102, default 102):
Using default value 102
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@primary /]# fdisk /dev/sdc
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-102, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-102, default 102):
Using default value 102
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
此时硬盘的分区情况:
[root@primary /]# fdisk -l
Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 1114 8843782+ 83 Linux
/dev/sda3 1115 1305 1534207+ 82 Linux swap
Disk /dev/sdb: 107 MB, 107374080 bytes
64 heads, 32 sectors/track, 102 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 102 104432 83 Linux
Disk /dev/sdc: 107 MB, 107374080 bytes
64 heads, 32 sectors/track, 102 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 1 102 104432 83 Linux
三、创建raid0
[root@primary /]# mdadm --create /dev/md0 --level=raid0 --chunk=8 --raid-devices=2 /dev/sdb1 /dev/sdc1
四、格式化raid
mdadm: array /dev/md0 started.
[root@primary /]# mkfs.ext3 /dev/md0
mke2fs 1.35 (28-Feb-2004)
max_blocks 213647360, rsv_groups = 26080, rsv_gdb = 256
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
52208 inodes, 208640 blocks
10432 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
26 block groups
8192 blocks per group, 8192 fragments per group
2008 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801
Writing inode tables: done
inode.i_blocks = 3586, i_size = 67383296
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
五、挂载raid分区
[root@primary /]# mount /dev/md0 /opt
[root@primary /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 8.4G 5.7G 2.3G 73% /
/dev/sda1 99M 8.4M 86M 9% /boot
none 252M 0 252M 0% /dev/shm
/dev/hdc 161M 161M 0 100% /media/cdrom
/dev/md0 198M 5.8M 182M 4% /opt
六、查看raid的信息
[root@primary opt]# mdadm --detail /dev/md0
/dev/md0:
Version : 00.90.01
Creation Time : Sun Jul 8 22:54:28 2007
Raid Level : raid0
Array Size : 208640 (203.75 MiB 213.65 MB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Sun Jul 8 22:54:29 2007
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Chunk Size : 8K
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
UUID : a86f0502:df5715c0:fd871bbc:9f75e0ad
Events : 0.1
七、生成mdadm配置文件
mdadm的缺省配置文件为/etc/mdadm.conf,它主要是为了方便阵列的日常管理而设置的,对于阵列而言不是必须的,但是为了减少日后管理中不必要的麻烦,还是应该坚持把这一步做完。
在mdadm.conf文件中要包含两种类型的行:一种是以DEVICE开头的行,它指明在阵列中的设备列表;另一种是以ARRAY开头的行,它详细地说明了阵列的名称、模式、阵列中活动设备的数目以及设备的UUID号。
我们可以用mdadm -Ds来得到mdadm.conf文件需要的信息:
[root@primary ~]# mdadm -Ds
ARRAY /dev/md0 level=raid0 num-devices=2 UUID=63f24968:d367038d:f207e458:9a803df9
devices=/dev/sdb1,/dev/sdc1
根据上面的信息编辑/etc/mdadm.conf,如下:
[root@primary ~]# more /etc/mdadm.conf
ARRAY /dev/md0 level=raid0 num-devices=2 UUID=63f24968:d367038d:f207e458:9a803df9
device /dev/sdb1 /dev/sdc1
如果不配置这个文件,在重启后尝试mount raid设备的时候会报错:
[root@primary ~]# mount /dev/md0 /opt
/dev/md0: Invalid argument
mount: /dev/md0: can't read superblock
八、设置开机自动挂载
为了让系统开机后能自动挂载raid设备,需要在/etc/fstab添加如下行:
vi /etc/fstab
/dev/md0 /opt ext3 defaults 0 0
至此,一个raid0就算配置完毕了。其他级别的raid也可以用类似的方法配置,具体可以看帮助。
发表评论
-
Linux 共享库:LD_LIBRARY_PATH 与ld.so.conf
2012-04-14 00:48 1695LD_LIBRARY_PATH Linux环境变量名,该 ... -
Linux系统下查找大文件或目录的技巧
2012-01-09 11:34 1085当硬盘空间不够时,我们就很关心哪些目录或文件比较大,看看能否删 ... -
Linux中如何杀掉僵尸进程
2012-01-08 11:06 11461检查当前僵尸进程信息 $ ps -ef | grep de ... -
Linux系统中增加Swap分区大小
2012-01-07 22:22 12321、检查当前的分区情况: [root@localho ... -
Linux系统调优:提高磁盘吞吐量
2011-10-28 23:13 2597在LINUX系统中,如果有大量读请求,默认的请求队列或许应付不 ... -
ssh密钥对的自动登录
2011-10-30 02:34 1521说明: 什么是基于ssh密钥对的自动登录? 下面从整体上 ... -
利用shell和iptables实现自动拒绝恶意试探连接SSH服务
2011-10-06 16:49 1097利用shell和iptables实现自动拒绝恶意试探连接SSH ... -
Linux系统下比较两个文件并删除相同部分
2011-10-04 22:17 1386方法一: comm -23 file1 file2 ... -
redhat 内核参数意思
2011-08-31 01:23 1710一、前言 本文档针对OOP8生产环境,具体优化策略需要根据实 ... -
Linux裸设备总结
2011-08-29 19:56 13171、什么裸设备?字符设 ... -
linux nfs配置概要
2011-08-29 19:11 926利用nfs 可以共享系统中的指定文件夹给网络中的其它机器。我们 ... -
linux操作系统下NTP服务器配置
2011-08-25 09:23 1763Network Time Protocol(NTP ... -
优化Linux生产服务器的经验之谈
2011-08-23 21:21 1385一、时间同步 生产环境下的服务器对时间的要求是精准的,编辑 ... -
NTP服务器安装手记
2011-08-23 21:13 1538NTP服务器安装手记随着时间的推移,计算机的时钟会倾向于漂移。 ... -
Linux下oracle常见安装错误总结
2011-08-23 20:37 1542错误一: /tmp/OraInstall2007-1 ... -
LVM创建
2011-08-23 18:42 1434LVM (有点像 WIN 下的动态磁盘, ... -
chkconfig --add httpd
2011-08-22 10:07 1496Apache 无法自动启动, 1 、将 apa ... -
Linux下cache内存释放
2011-08-22 08:59 770/proc是一个虚拟文件系统,我们可以通过对它的读写操作做 ... -
Linux系统不响应SYN包的解决办法
2011-08-22 00:29 2277关于syn为什么没有回应的问题真是郁闷了好久。 现象就是在客户 ... -
Linux下使用Yum管理本地软件包(repository)
2011-08-21 23:52 1784在Linux系统的维护中,Linux软件包之间的依赖性是一件令 ...
相关推荐
Linux 下软 RAID 1 配置案例详解 Linux 下软 RAID 1 配置案例是指使用 Linux 操作系统下配置软 RAID 1 阵列的方法。软 RAID 是一种基于分区的 RAID 配置方式,由系统实现,而不是使用专门的 RAID 卡。相比硬 RAID,...
### Linux下软RAID1详解 #### 一、RAID简介 RAID(Redundant Array of Independent Disks)最初的概念是由加州大学伯克利分校的研究人员提出的,目的是通过将多个独立的小容量磁盘组合起来形成一个大容量的虚拟磁盘...
RAID 可分为软 RAID 和硬 RAID,软 RAID 是通过软件实现多块硬盘冗余的,而硬 RAID 是一般通过 RAID 卡来实现 RAID 的。软 RAID 配置简单,管理也比较灵活,对于中小企业来说不失为一最佳选择。硬 RAID 往往花费比较...
软RAID 可以使用普通的磁盘来实现 RAID 功能,从而降低成本。 首先,我们需要了解 RAID 的基本概念。RAID(Redundant Array of Independent Disks)是一种将多个磁盘组合成一个逻辑磁盘的技术,以提高数据存储的...
Linux软RAID部署系统分区之恢复攻略主要关注的是在Linux环境中如何使用软件RAID(即不依赖专用硬件的RAID)来创建、管理和恢复系统分区。这篇文章由ChinaUnix网友Jerrywjl撰写,旨在解决运维人员在面对RAID相关问题...
Linux 下实现软 RAID Linux 操作系统中,数据的安全性是使用计算机中最重要的问题之一。为了达到数据的双重备份,人们通常在服务器环境中采用硬盘镜像技术。在 Linux 环境下,也可以采用这种技术,使用 Raidtool ...
Linux软RAID(Redundant Array of Inexpensive Disks)是一种通过软件实现的磁盘冗余技术,它允许用户利用多个廉价磁盘构建出一个性能强大且可靠的存储解决方案。在Linux系统中,用户可以通过内建的软件工具,如...
Linux 下创建软 RAID 可以使用 mdadm 工具来实现,mdadm 工具可以创建、管理和维护软 RAID。 mdadm 工具的参数: * --create 或 -C:创建一个新的软 RAID,后面接 raid 设备的名称。 * --assemble 或 -A:加载一个...
在Linux环境中,即使没有硬件RAID卡,也可以利用软件实现RAID功能,这就是所谓的“软RAID”。Linux内核本身就支持多种RAID级别,包括RAID0、RAID1和RAID5等,通过内建的md(Multiple Devices)驱动程序来实现。...
### Linux软RAID (MD) 源码分析 #### RAID概述 RAID(Redundant Array of Independent Disks)即独立磁盘冗余阵列,是一种通过将多个物理磁盘设备组合成一个逻辑单元来改善存储性能和/或提供数据冗余的技术。Linux...
在 Linux 环境下建立软 RAID 5,是指利用 Linux 操作系统来创建一个软件 RAID 5 阵列,实现数据的冗余和高性能存储。下面是相关的知识点: 1. RAID 的定义:RAID 全称是 Redundant Arrays of Independent Drives,...
软RAID,或称为software-based RAID,依赖于操作系统来实现RAID功能。它在服务器操作系统内核中集成,如Microsoft Windows NT系列、Novell Netware和Linux等。软RAID的优势在于初始投资较低,因为无需购买额外硬件。...
在Linux环境下,软RAID(也称为软件RAID)是一种经济高效的存储解决方案,它利用操作系统内的软件来实现RAID功能,而不是依赖于专门的硬件RAID控制器。软RAID允许用户利用多块硬盘来创建一个高可用性或性能增强的...
在Linux系统中,mdadm是一个强大的工具,可以用来创建软RAID(Software RAID),软RAID可以将多个硬盘组合成一个逻辑硬盘,以提高存储容量和读写性能。本文将详细介绍使用mdadm创建软RAID的步骤和相关知识点。 ...
在Linux系统中,软RAID(也称作软件RAID)是一种通过操作系统内核和相关工具来实现的RAID技术,它可以将多个硬盘驱动器组合成一个逻辑单元,以提高数据存储性能和提供容错能力。相比硬RAID,软RAID依赖于操作系统的...