RedHat Linux手动创建RAID和LVM分区
创建RAID(以RAID5为例)
1、首先,我们要先创建新 #fdisk /dev/hda
创建3个500MB的分区(hda7,hda8,hda9),然后在fdisk命令下输入t,选择刚创建好的分区,输入fd,将刚创建好的3个分区转换为fd格式。输入w保存退出
2、激活刚创建好的分区 #partprobe
3、将3个分区加载到md0,l5是代表RAID级别是RAID5,n3代表有3个分区。 #mdadm –C /dev/md0 –l5 –n3 /dev/had{7,8,9}
4、查看一下创建的RAID分区 #cat /proc/mdstat
5、将md0分区格式化成ext3格式,将RAID分区mount到目录上,并修改fstab表 #mkfs.ext3 /dev/md0
#mount /dev/md0 /pot
#vi /etc/fstab
这样我们就成功创建了一个RAID5的磁盘分区。
=================================================================
创建LVM
1、首先,我们要先创建新磁盘分区 #fdisk /dev/hda
创建2个500MB分区(hda10,hda11),然后在fdisk命令下输入t,选择刚创建好的分区,输入8e,将刚创建好的2个分区转换为8e格式。输入w保存退出
2、激活刚创建好的分区 #partprobe
3、创建成pv格式 #pvcreate /dev/had{10,11}
#pvdisplay 查看pv
4、将分区加载到vg卷组,vg0是卷组名称,vg0卷组总空间是1000MB #vgcreate vg0 /dev/had{10,11}
#vgdisplay 查看vg卷组
5、创建lv分区800M是分区大小,lv0是lv分区名称,vg0是加载到卷组名称,此时创建了一个800MB的lvm分区,vg0卷组还剩余200MB的空间 #lvcreate –L 800M –nlv0 vg0
#lvdisplay 查看lv分区
6、将lv分区格式化成ext3格式 #mkfs.ext3 /dev/vg0/lv0
7、将LVM分区mount到目录上,并修改fstab表 #mount /dev/vg0/lv0 /lvm
#vi /etc/fstab
8、扩展(lv)刚才我们创建了800mb的lvm分区,当要对分区进行扩展应如下操作: #lvextend –L+100M /dev/vg0/lv0
#ext2online /dev/vg0/lv0动态扩展
此时,我们已经向lv0分区增加了100MB空间,vg0卷组还剩余100MB空间,如果当我们认为空间还是不足,需要扩充,而vg0卷组的空间也不足时,我们就需要对vg0卷组进行扩展,然后再对lv分区进行扩展
1、创建1个500MB分区(hda12),然后在fdisk命令下输入t,选择刚创建好的分区,输入8e,将刚创建好的分区转换为8e格式。输入w保存退出 #fdisk /dev/had
2、激活刚创建好的分区 #partprobe
3、创建成pv格式 #pvcreate /dev/had12
4、将hda12添加到vg0卷组,此时vg0卷组的总空间大小为1500MB #vgextend vg0 /dev/hda12
5、对lv0分区进行动态扩展,增加500M空间 #lvextend –L+500M /dev/vg0/lv0
#ext2online /dev/vg0/lv0
此时我们创建 LVM分区大小总空间应为800M+100M+500M=1400M
总结LVM几个高级命令:lvchange、vgexport/vgimport、vgcfgbackup/vgcfgrestore
nge
vgexport/vgimport
首先在源主机上将文件系统umount:
umount /u05
再将LV和VG inactive:
lvchange -an /dev/vg_u05/lv_u05
vgchange -an vg_u05
最后导出VG:
vgexport vg_u05
目标主机上操作:
导入VG:
vgimport vg_u05
激活VG,MOUNT 文件系统:
vgchange -ay VG10
mkdir /u05
mount /dev/VG10/lv_vol01 /ccstg
backup/vgcfgrestore
1当你要备份你的卷组信息是,你就需要为卷组作备份,使用vgcfgbackup来备份
#vgcfgbackup vg0 -f <path>
备份的信息就是我们前面提到的VGDA备份到/etc/lwmconf/
2当你的卷组信息意外丢失时,你可以使用这个文件来恢复你的卷组信息,前提是你要备份了的
#vgcfgrestor -n vg0 /dev/hda8
或者
#vgcfgrestor -f /etc/lvmconf/
重卷组vg0中恢复物理卷的VGDA信息 -n参数指定卷组的名程 -f 制定备份文件路径
3 恢复了物理卷及卷组的信息后我们还要恢复原来的建立的卷组和逻辑卷的设备文件
#vgmknods
===============================================================
Linux下使用mdadm创建和管理软raid(转)注:本次操作以RHEL4为例,但应该可以应用到其它大部分的distro上(guess)。
mdadm的几个常用参数
-C 创建Raid,后面跟参数,代表raid设备的名称。比如:/dev/md0,/dev/md1。
-n 用于创建磁盘阵列的磁盘个数。
-l Raid的级别。
-x 指定用于hotspare(热备盘)的磁盘个数。如果阵列中有一块硬盘坏了,它会立刻顶上,并rebuild;
-D 显示软raid的详细信息;
-s 扫描
配置文件(/etc/mdadm.conf)或'/proc/mdstat'来查看遗漏的信息f;
创建软raid的大体流程
使用fdisk
工具为新磁盘创建分区;
使用mkfs.XXXX工具将刚才划分好的分区格式化成某种格式的文件系统。比如:ext3,reiserfs等;
使用mdadm来创建软raid;
创建/etc/mdadm.conf文件(注意文件的格式,包括是否有逗号等等。该文件是为了系统在重启后能
够自动启用软raid。可以查看/etc/rc.sysinit脚本,搜索'mdadm'字符串就明白了);
示例:创建软raid5(+hotspare)
以下是我的一次实际操作的完整过程:
这是用'fdisk -l'命令查看到的我当前的磁盘和分区情况(只有/dev/sda在使用,
其它四个都是新磁盘,没有分区,没有格式化):
# fdisk -l
Disk /dev/sda: 6442 MB, 6442450944 bytes
255 heads, 63 sectors/track, 783 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 720 5783368+ 83 Linux
/dev/sda2 721 783 506047+ 82 Linux swap
Disk /dev/sdb: 214 MB, 214748160 bytes
64 heads, 32 sectors/track, 204 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk /dev/sdb doesn't contain a valid partition table
Disk /dev/sdc: 214 MB, 214748160 bytes
64 heads, 32 sectors/track, 204 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk /dev/sdc doesn't contain a valid partition table
Disk /dev/sdd: 214 MB, 214748160 bytes
64 heads, 32 sectors/track, 204 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk /dev/sdd doesn't contain a valid partition table
Disk /dev/sde: 214 MB, 214748160 bytes
64 heads, 32 sectors/track, 204 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk /dev/sde doesn't contain a valid partition table
使用fdisk创建分区(本例中将整块磁盘划分为一个主分区。其余几块磁盘也做相同的操作。):
# 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-204, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-204, default 204):
Using default value 204
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
为刚才新建的分区建立文件系统(其余几个分区依次做相同的操作):
# mkfs.ext3 /dev/sdb1
mke2fs 1.35 (28-Feb-2004)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
52416 inodes, 208880 blocks
10444 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
2016 inodes per group
Superblock
backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 37 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
所有磁盘都操作完后,再次用'fdisk -l'查看磁盘及分区状态:
# fdisk -l
Disk /dev/sda: 6442 MB, 6442450944 bytes
255 heads, 63 sectors/track, 783 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 720 5783368+ 83 Linux
/dev/sda2 721 783 506047+ 82 Linux swap
Disk /dev/sdb: 214 MB, 214748160 bytes
64 heads, 32 sectors/track, 204 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 204 208880 83 Linux
Disk /dev/sdc: 214 MB, 214748160 bytes
64 heads, 32 sectors/track, 204 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 1 204 208880 83 Linux
Disk /dev/sdd: 214 MB, 214748160 bytes
64 heads, 32 sectors/track, 204 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sdd1 1 204 208880 83 Linux
Disk /dev/sde: 214 MB, 214748160 bytes
64 heads, 32 sectors/track, 204 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sde1 1 204 208880 83 Linux
使用mdadm创建一个软raid,raid级别:5;并有一个hotspare盘:
# mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sd[b-e]1
mdadm: array /dev/md0 started.
输出信息显示软raid(/dev/md0)已经启用了。使用mdadm的-D参数(--detail)可以查
看软raid状态:
# mdadm -D /dev/md0
/dev/md0:
Version : 00.90.01
Creation Time : Wed Aug 23 15:10:19 2006
Raid Level : raid5
Array Size : 417536 (407.75 MiB 427.56 MB)
Device Size : 208768 (203.88 MiB 213.78 MB)
Raid Devices : 3
Total Devices : 4
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Wed Aug 23 15:10:21 2006
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
2 8 49 2 active sync /dev/sdd1
3 8 65 -1 spare /dev/sde1
UUID : f8283de5:39c73d89:b9fbc266:fdceb416
Events : 0.2
生成配置文件(/etc/mdadm.conf):
# mdadm -D -s >/etc/mdadm.conf
查看一下:
# cat /etc/mdadm.conf
ARRAY /dev/md0 level=raid5 num-devices=3 UUID=f8283de5:39c73d89:b9fbc266:fdceb416
devices=/dev/sdb1,/dev/sdc1,/dev/sdd1,/dev/sde1
修改(把上面devices=后面的磁盘,都放到DEVICE后面,并且不要逗号。而/dev/md0之后
的内容,都要用逗号来分隔):
DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
ARRAY /dev/md0 level=raid5,num-devices=3,UUID=f8283de5:39c73d89:b9fbc266:fdceb416
重启一下,检测配置好的软raid是否能够在系统重启后自动启用。
重启后,查看'/proc/mdstat'文件就可以看到软raid的状态:
# cat /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sdb1[0] sde1[3] sdd1[2] sdc1[1]
417536 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>
That's all.
出现故障后的恢复
这里指的出现故障,是指raid中的一块磁盘出现了故障,无法使用。这时候需要使用额外的
磁盘来代替它。这里以强制将某块磁盘标记为已损坏,来模拟实际出现故障(注:新的磁盘
的容量最好和已损坏的磁盘一致):
将/dev/sdb1标记为已损坏:
# mdadm /dev/md0 -f /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md0
这时候使用mdadm的-D参数来查看状态,可以看到/dev/sdb1已经被认为是faulty,而
hotspare(热备)盘'/dev/sde1'已经顶替了它的位置(这就是hotspare的作用):
# mdadm -D /dev/md0
/dev/md0:
Version : 00.90.01
Creation Time : Wed Aug 23 15:10:19 2006
Raid Level : raid5
Array Size : 417536 (407.75 MiB 427.56 MB)
Device Size : 208768 (203.88 MiB 213.78 MB)
Raid Devices : 3
Total Devices : 4
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Wed Aug 23 15:42:24 2006
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 1
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
- 最新评论