linux中的磁盘阵列与逻辑卷管理

1.磁盘阵列

作用:由很多便宜、容量较小、稳定性较高、速度较慢的磁盘,组合成一个大型的磁盘组,利用个别磁盘提供数据所产生的加成效果来提升整个磁盘系统的效能。

下面详细介绍一下在linux系统中是如何实现磁盘阵列的:

新建三个磁盘分区:如图
标签为 Linux raid autodetect
linux中的磁盘阵列与逻辑卷管理_第1张图片

mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1..3}   生成磁盘:/dev/md0

每个参数的意思:-C:创建  -a:添加 -l:优先级  -n:使用磁盘个数 -x:闲置磁盘个数(备用):
linux中的磁盘阵列与逻辑卷管理_第2张图片
mksf.xfs /dev/md0             格式化磁盘
linux中的磁盘阵列与逻辑卷管理_第3张图片
mount /dev/md0 /mnt/          挂载到/mnt/
df查看挂u载信息
linux中的磁盘阵列与逻辑卷管理_第4张图片
mdadm -D  /dev/md0            查看设备情况,截图为其中一部分:
linux中的磁盘阵列与逻辑卷管理_第5张图片
watch -n 1 ‘cat /proc/mdstat ; df -h /mnt  重新打开一个shell,监控信息,以便看的更加明显:

mdadm /dev/md0 -f /dev/vdb2   如果/dev/vdb2坏掉,vdb2后面的[F]表示出现问题了,备用磁盘vdb3就会顶替/vdb2继续工作:
linux中的磁盘阵列与逻辑卷管理_第6张图片
mdadm /dev/md0 -r /dev/vdb2   删除/dev/vdb2
linux中的磁盘阵列与逻辑卷管理_第7张图片
mdadm /dev/md0 -a /dev/vdb2    新添加的/dev/vdb2作为备用磁盘:

linux中的磁盘阵列与逻辑卷管理_第8张图片
umount /mnt   卸载设备
mdadm -S /dev/md0    让设备停止
linux中的磁盘阵列与逻辑卷管理_第9张图片
fdisk /dev/vdb  删除之前建立的3个磁盘分区
磁盘阵列的建立和删除操作步骤结束.

2.逻辑卷管理(lvm)

物理卷(pv)卷组(vg)  逻辑卷(lv)
工作方式:把一些空余的空间制作成物理卷,把物理卷整合成一个卷组,从卷组中抽取空间变成逻辑卷
当逻辑卷空间不足时,可以从卷组中再抽取空间直接加入逻辑卷,同样,卷组空间不够也可以再创建一

些物理卷,然后直接加入卷组,这样就不怕空间不足,并且直接加入也省了很多步骤,更方便简洁。

fdisk /dev/vdb  新建立一个分区,标签为Linux LVM
linux中的磁盘阵列与逻辑卷管理_第10张图片
watch -n 1 ’pvs;echo ======pvs====== ;vgs;echo ======vgs====== ;lvs;echo ======lvs====== ;df -h /mnt‘   监控信息,可看见详细变化

监控画面:
linux中的磁盘阵列与逻辑卷管理_第11张图片

pvcreate /dev/vdb1         将/dev/vdb1的内存转给pv

可看到详细变化:

linux中的磁盘阵列与逻辑卷管理_第12张图片

vgcreate vg0 /dev/vdb1     将pv的容量转到vg0里面

linux中的磁盘阵列与逻辑卷管理_第13张图片

lvcreate -L 200M -n lv0 vg0    从vg0里面移出200M到 lv0 里面:

linux中的磁盘阵列与逻辑卷管理_第14张图片

mkfs.xfs /dev/vg0/lv0     格式化磁盘

linux中的磁盘阵列与逻辑卷管理_第15张图片

mount /dev/vg0/lv0 /mnt    挂载到/mnt目录上,输入df查看挂载信息:

linux中的磁盘阵列与逻辑卷管理_第16张图片


扩容:xfs
fdisk /dev/vdb            新建/dev/vdb2

pvcreate /dev/vdb2         加入到pv中

可看到/dev/vdb2已经加入到pv0中

linux中的磁盘阵列与逻辑卷管理_第17张图片

vgextend vg0 /dev/vdb2     将/dev/vdb2的容量加入vg0

linux中的磁盘阵列与逻辑卷管理_第18张图片

lvextebd -L 300M /dev/vg0/lv0 将lv0扩容到300M
linux中的磁盘阵列与逻辑卷管理_第19张图片
xfs_growfs /dev/vg0/lv0     将文件系统扩容
linux中的磁盘阵列与逻辑卷管理_第20张图片


mount /dev/vg0/lv0 /mnt    挂载到/mnt目录上,可看见已经扩容为300M :
linux中的磁盘阵列与逻辑卷管理_第21张图片



xfs格式的文件系统只能扩容,不能缩减,所以要格式化改变格式

umount /mnt     卸载磁盘:

mkfs.ext4 /dev/vg0/lv0   将文件系统格式化为ext4格式:
linux中的磁盘阵列与逻辑卷管理_第22张图片
mount /dev/vg0/lv0 /mnt  再次挂载到/mnt目录上
在ext4格式下扩容
lvextend -L 400M /dev/vg0/lv0

lvo 已经扩容为400M


resize2fs /dev/vg0/lv0   将文件系统也扩容到400M

linux中的磁盘阵列与逻辑卷管理_第23张图片

文件系统也已经扩容到400M

linux中的磁盘阵列与逻辑卷管理_第24张图片


缩减:
umount /mnt       先卸载磁盘
e2fsck -f /dev/vg0/lv0     查看磁盘容量信息:
linux中的磁盘阵列与逻辑卷管理_第25张图片
resize2fs /dev/vg0/lv0 300M 文件系统缩减为300M

mount /dev/vg0/lv0 /mnt  挂载磁盘,可看到已经缩减为300M

linux中的磁盘阵列与逻辑卷管理_第26张图片
lvreduce -L 300M /dev/vg0/lv0 将lv0也缩减为300M
linux中的磁盘阵列与逻辑卷管理_第27张图片

lv0 也已缩减到300M

linux中的磁盘阵列与逻辑卷管理_第28张图片

磁盘扩容与缩减就介绍这些。


设备内容转移与删除磁盘:

umount /mnt    卸载磁盘

pvmove /dev/vdb1 /dev/vdb2   将/dev/vdb1中的文件内容移动到/dev/vdb2中,可用于文件转移:

可以看到/dev/vdb1中已经空掉


vgreduce vg0 /dev/vdb1      将vg0中的/dev/vdb1移除:

可以看到之前vg0后面的数字2变成了1,说明/dev/vdb1已经被移除:


pvremove /dev/vdb1          删除/dev/vdb1



3.设备快照的生成与删除:
为了防止文件丢失,提前给设备照一张“相”,和之前虚拟机快照一样,相当于做一个备份文件

touch /mnt/ok{1..10}    在挂载的状态下,在/mnt目录里建立文件

umount /mnt                卸载磁盘

lvcreate -L 20M -n westos -s /dev/vg0/lv0   生成快照文件westos

mount /dev/vg0/westos /mnt      将快照文件挂载到/mnt上
df
ls /mnt  查看/mnt下是否有之前建立的文件
linux中的磁盘阵列与逻辑卷管理_第29张图片
umount /mnt                         卸载快照
lvremove /dev/vg0/westos      删除快照

删除设备:
lvremove /dev/vg0/lv0            删除lv0
vgremove vg0                       删除vg0
pvremove /dev/vdb2              删除 /dev/vdb2
linux中的磁盘阵列与逻辑卷管理_第30张图片

linux中的磁盘阵列与逻辑卷管理_第31张图片

pvs查看
vgs查看
lvs 查看

删除完成。

你可能感兴趣的:(linux中的磁盘阵列与逻辑卷管理)