一、RAID的建立
1、准备需要数量且容量相同的硬盘或分区。做软raid可以用硬盘,也可以用分区,容量要一致。
2、mdadm命令创建raid
mdadm --create --auto=yes /dev/md[0-9] --level=[015] --raid-devices=N --spare-devices=N /dev/sdx /dev/hdx...
选项与参数:
--create :为创建 RAID 的选项;
--auto=yes :决定创建后面接的软件磁盘阵列装置,亦即 /dev/md0, /dev/md1,这个名字不是指的硬盘设备名或分区设备名,而是建好raid后的设备名称。
--raid-devices=N :使用几个磁碟 (partition) 作为磁盘阵列的装置,即指做raid硬盘或分区的个数。
--spare-devices=N :使用几个磁碟作为备用 (spare) 装置,这是指备用盘,实际不参与raid组建,只是当raid中的某个盘出错后,会自动加入raid进行重建raid。
--level=[015] :配置这组磁盘阵列的等级。支持很多,不过建议只要用 0, 1, 5 即可
--detail :后面所接的那个磁盘阵列装置的详细资讯
/dev/sdx /dev/hdx...:这才是参与组建raid硬盘设备名或分区设备名称。这里的硬盘或分区数量不能比前面指定的raid-devices和spare-devices两数相加之和少。
例:
mdadm --create --auto=yes /dev/md0 --level 5 --raid-devices=3 --spare-devices=2 /dev/sda{5,6,7,8,9}
建立raid设备 md0, raid等级为raid5, 建立raid的硬盘数为3, 备用盘为2,设备为/dev/sda上的5,6,7,8,9五个分区。
mdadm --detail /dev/md0 //查看raid设备详细信息。
cat /proc/mdstat //也可以查看raid的详细信息。
3、格式化raid设备并挂载
(1)mkfs -t ext4 /dev/md0
(2)mount /dev/md0 /var/raid5
(3)更改配置文件以把设备写入fstab中。
mdadm --detail /dev/md0 | grep -i uuid //查看md0的设备UID
在/etc/mdadm.conf中,增加:
ARRAY /dev/md0 UUID=7c60c049:57d60814:bd9a77f1:57e49c5b
再在fstab中增加;
/dev/md0 /var/raid ext4 default 1 2
即可。
4、管理、修改raid设备
mdadm --manage /dev/md[0-9] [--add 装置] [--remove 装置] \
> [--fail 装置]
选项与参数:
--add :会将后面的装置加入到这个 md 中!
--remove :会将后面的装置由这个 md 中移除
--fail :会将后面的装置配置成为出错的状态,目的是让备用设备参与到raid建设中来。
例一:把某盘设备错误状态,让备用盘加进来。
mdadm --manager /dev/md0 --fail /dev/sda6 //此时sda6会设成错误盘,备用盘sda8会自动加进来替换sda6。
例二:把坏盘移出,新盘加入。
新建一个等大小的分区sda10
mdadm --manager /dev/md0 --add /dev/sda10 --remove /dev/sda6 //把坏的sda6移出,把sda10加进来。
5、关闭raid
方法一:mdadm --stop /dev/md0 可以关闭raid。
方法二:
umount /dev/md0
进入 /etc/fstab中删除相关挂载项。
最后都要进入mdadm配置文件中,删除相关项。
二、LVM
(一)VLM的创建
LVM的创建过程:
先建立好分区,(用fdisk把分区变换成8e的格式,也可以省略此步)(此分区不能挂载)--》把分区转换成物理卷(pv)--》把物理卷添加到卷组(vg)(由很多物理卷组成,,可想像成一块新的未分区但支持划分逻辑卷的硬盘)--》在卷组的基础创建逻辑卷(lv)。
1、把分区先转化成物理卷。也叫初始化。(最好先把分区变成8e格式)
pvcreate /dev/hda1 //把分区转换为物理卷
pvscan //查看物理卷
vgscan //扫描物理卷 把所有需要转换的分区转换成物理卷后,用vgscan命令扫描一下。 //此步可以省略
2、建立卷组。把一个或多个分区转换成物理卷后,建立卷组,可一次性建立,也可以分步建立
(1) vgcreate 卷组名 物理卷1 物理卷2 ...... //建立卷组
例:vgcreate vg0 hda1 hda2 hda3 //把hda1 hda2 hda3三个物理卷加入到卷组vg0中。
(2) vgextend 卷组名 物理卷 //增加新的物理卷到已有卷组中
(3) vgreduce 组名 物理卷 //把物理卷从卷组中删除
(4) vgdisplay //查看卷组的物理块长度及大小。
(5) vgscan //扫描卷组
(6) vgcreate命令的详细参数
vgcreate [-lps] [卷组名 物理卷名]
-l:卷组上允许创建的最大逻辑卷数;
-p:卷组中允许添加的最大物理卷数;
-s: 卷组上的物理卷的PE大小
vgcreate -s 大小 //更改卷组块的大小。因为卷组是以块数来确定大小的,所以块的大小改变后,卷组的大小也会改变。
例: vgcreate -s 8M //把卷组的块大小改为8M。后面可以接卷组名。
3、生成逻辑卷
(1) lvcreate -n 逻辑卷名 【-L 逻辑卷大小| -l 块数】 卷组名
-l:即用块数分配卷的大小。用上面的vgdisplay可以看到?的大小。如块大小为4M,块数为50,则逻辑卷就是200M。
例:lvcreate -n elitek -L 500M vg0 //建立一个名为elitek的逻辑卷
(2)lvdisplay //查看逻辑卷
(3)lvscan //查看LV状态。
4、格式化逻辑卷
mke2fs -j /dev/vg0/elitek //格式化刚才创建的逻辑卷。
或 mkfs -t ext4 /dev/vg0/elitek
5、挂载逻辑卷
mount -t ext4 /dev/vg0/elitek /var/elitek
然后把挂载后的逻辑卷写入fstab中,实现自动挂载,不然重启后需要重新挂载。
(二)移动卷的数据,增加减小卷
1、增加逻辑卷大小:如果一个卷组的空间足够大,而一个逻辑卷的空间不足时,可增加逻辑卷的大小。
方法一:
(1)lvextend -L +大小 逻辑卷名
lvextend -L +500M /dev/vg0/elitek //即逻辑卷增 加500M空间
(2)更改文件系统大小,与增加的大小相匹配
unmount /dev/vg0/elitek //先卸载挂载
resize2fs /dev/vg0/elitek //重新设定文件系统大小,增加完逻辑卷空间后要重新设定下才生效。
方法二:
e2fsadm -L +大小 逻辑卷 //此命令可以代替以上两步。
例:e2fsadm -L +500M /dev/vg0/elitek //此命令以上面的等同。
2、 减小逻辑卷大小
方法一:
(1)先减小文件系统
umount /dev/vg0/elitek //先取消挂载
resize2fs /dev/vg0/elitek 52800 //减小后逻辑卷的块数,即你逻辑卷减小后,逻辑卷块数还有多少?如果不先运行这一步,可能会 造成数据丢失
(2)减小卷的大小
lvreduce -L -500M /dev/vg0/elitek //减小逻辑卷大小
方法二:
e2fsadm -L -大小 逻辑卷 //此命令可以代替以上两步。
例:e2fsadm -L -500M /dev/vg0/elitek //此命令以上面的等同。
(三)删除逻辑卷、卷组、物理卷的方法
1、逻辑卷已经已经卸载挂载。
2、lvremove /dev/vg0/elitek //删除逻辑卷elitek
3、vgchange [-a|n|y] 卷组名 //激活(-ay)或不激活(-an)卷组。 要删除逻辑卷,要先用-an把卷组转换为不激活。
4、vgremove 卷组名 //删除卷组
5、pvremove /dev/sda5 //删除物理卷。
6、fdisk命令把分区格式变换成 83即可。
7、移动物理卷数据
pvmove 物理卷名 //把这个物理卷上的内容移到同一卷组的其他空闲物理卷中。
再用 vgreduce 卷组名 物理卷名 可以把这个物理卷从卷组中删除。