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

xiaoxiao2021-02-28  93

1.磁盘阵列

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

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

新建三个磁盘分区:如图 标签为 Linux raid autodetect

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

每个参数的意思:-C:创建  -a:添加 -l:优先级  -n:使用磁盘个数 -x:闲置磁盘个数(备用): mksf.xfs /dev/md0             格式化磁盘 mount /dev/md0 /mnt/          挂载到/mnt/ df查看挂u载信息 mdadm -D  /dev/md0            查看设备情况,截图为其中一部分: watch -n 1 ‘cat /proc/mdstat ; df -h /mnt  重新打开一个shell,监控信息,以便看的更加明显: mdadm /dev/md0 -f /dev/vdb2   如果/dev/vdb2坏掉,vdb2后面的[F]表示出现问题了,备用磁盘vdb3就会顶替/vdb2继续工作: mdadm /dev/md0 -r /dev/vdb2   删除/dev/vdb2 mdadm /dev/md0 -a /dev/vdb2    新添加的/dev/vdb2作为备用磁盘:

umount /mnt   卸载设备 mdadm -S /dev/md0    让设备停止 fdisk /dev/vdb  删除之前建立的3个磁盘分区 磁盘阵列的建立和删除操作步骤结束. 2.逻辑卷管理(lvm)

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

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

fdisk /dev/vdb  新建立一个分区,标签为Linux LVM watch -n 1 ’pvs;echo ======pvs====== ;vgs;echo ======vgs====== ;lvs;echo ======lvs====== ;df -h /mnt‘   监控信息,可看见详细变化

监控画面:

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

可看到详细变化:

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

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

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

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

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

pvcreate /dev/vdb2         加入到pv中

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

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

lvextebd -L 300M /dev/vg0/lv0 将lv0扩容到300M xfs_growfs /dev/vg0/lv0     将文件系统扩容

mount /dev/vg0/lv0 /mnt    挂载到/mnt目录上,可看见已经扩容为300M :

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

umount /mnt     卸载磁盘:

mkfs.ext4 /dev/vg0/lv0   将文件系统格式化为ext4格式: mount /dev/vg0/lv0 /mnt  再次挂载到/mnt目录上 在ext4格式下扩容 lvextend -L 400M /dev/vg0/lv0

lvo 已经扩容为400M

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

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

缩减: umount /mnt       先卸载磁盘 e2fsck -f /dev/vg0/lv0     查看磁盘容量信息: resize2fs /dev/vg0/lv0 300M 文件系统缩减为300M

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

lvreduce -L 300M /dev/vg0/lv0 将lv0也缩减为300M

lv0 也已缩减到300M

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

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

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下是否有之前建立的文件 umount /mnt                         卸载快照 lvremove /dev/vg0/westos      删除快照 删除设备: lvremove /dev/vg0/lv0            删除lv0 vgremove vg0                       删除vg0 pvremove /dev/vdb2              删除 /dev/vdb2

pvs查看 vgs查看 lvs 查看

删除完成。

转载请注明原文地址: https://www.6miu.com/read-35612.html

最新回复(0)