RAID和LVM逻辑卷管理详解
一:磁盘列阵
[root@linuxprobe ~]# mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde
其中,-C参数代表创建一个RAID阵列卡;-v参数显示创建的过程,同时在后面追加一个设备名称/dev/md0,这样/dev/md0就是创建后的RAID磁盘阵列的名称;-a yes参数代表自动创建设备文件;-n 4参数代表使用4块硬盘来部署这个RAID磁盘阵列;而-l 10参数则代表RAID 10方案;最后再加上4块硬盘设备的名称就搞定了。
二:LVM逻辑卷管理
我们可以通过部署LVM来解决上述问题。部署LVM时,需要逐个配置物理卷、卷组和逻辑卷。常用的部署命令如表7-2所示。
表7-2 常用的LVM部署命令
功能/命令 物理卷管理 卷组管理 逻辑卷管理
扫描 pvscan vgscan lvscan
建立 pvcreate vgcreate lvcreate
显示 pvdisplay vgdisplay lvdisplay
删除 pvremove vgremove lvremove
扩展 vgextend lvextend
缩小 vgreduce lvreduce
第一步:
建立pv物理分区(physical volume)physical物理的,physics n.
pvcreate /dev/sdb /dev/sdc
第二步:
建立vg卷组,并把pv物理分区加入vg卷组
vgcreate vg /dev/sdb /dev/sdc
第三步:
建立lv逻辑卷(logical volume)
lvcreate -n lv -L 1G vg
如果要用lv的话需要先格式化后在建立挂载点并进行挂载。
mkfs -t ext4 /dev/vg/lv
mkdir /lv
mount /dev/vg/lv /lv
End!
扩容lv:
第一步:卸载设备和挂载点
umount /lv
第二步:将逻辑卷扩容
lvextend -L 1G /dev/vg/lv
第三步:
e2fsck -f /dev/vg/app 检查硬盘完整性
resize2fs /dev/vg/app 重置硬盘(lv)容量
第四步:重新挂载硬盘并查看
mount -a
df -h 可以看到/app已经成功扩容到8G了
如果vg容量不足,添加硬盘然后把硬盘加入vg在扩容
umount /lv
vgextend vg /dev/sdd
lvextend -L 1G /dev/vg/lv
e2fsck -f /dev/vg/lv
resize2fs /dev/vg/lv
mount -a
df -h
缩小逻辑卷
把逻辑卷缩小到10G
umount /lv
e2fsck -f /dev/vg/lv
resize2fs /dev/vg/lv 10G
lvreduce -L 10G /dev/vg/lv
mount -a
逻辑卷快照
echo “fdsafdsafsdafdsa”> /lv/text.txt
lvcreate -L 120M -s -n SNAP /dev/vg/lv #相当于给lv创建了一个快照,快照大小是120M
dd if=/dev/zero of=/app/files count=1 bs=100M
为了校验SNAP快照卷的效果,需要对逻辑卷进行快照还原操作。在此之前记得先卸载掉逻辑卷设备与目录的挂载。
umount /app
lvconvert --merge /dev/vg/SNAP
Merging of volume vg/SNAP started.
vg/app: Merged: 23.03%
v g/app: Merged: 100.00%
mount -a
cd /app
[root@a app]# ll
total 14
drwx------. 2 root root 12288 Mar 3 10:28 lost+found
-rw-r–r--. 1 root root 26 Mar 3 10:35 readme.txt