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

来源:互联网 发布:淘宝网双11 编辑:程序博客网 时间:2024/05/29 18:02

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 查看

删除完成。

原创粉丝点击