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
可看到/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 :
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
删除完成。