-
- 逻辑卷
-
-
- 创建逻辑卷步骤:
- 扩容
- 移除逻辑卷
- 缩减逻辑卷
- 缩减卷组
-
- 磁盘阵列RAID
-
-
- 建立RAID磁盘
- 磁盘的故障处理
- 磁盘阵列的还原
- 问答:
-
逻辑卷
物理卷:不能调整文件系统大小
卷组:将一块或多块硬盘融合成一块
逻辑卷:逻辑卷才能建立文件系统,逻辑卷支持扩容(在线扩容),可用来实现对分区的动态扩展。
创建逻辑卷步骤:
- 添加硬盘
- 创建物理卷、合成卷组、划分逻辑卷
- mkdir建立挂载点目录、mfks格式化、挂载
-
---- 将sdb sdc sdd 三块硬盘建立成物理卷pvcreate /dev/sd[bcd]
-
vgcreate -s 16M kaso_vg /dev/sdb /dev/sdc
— 建立卷组两块硬盘c和b 指定物理单元为16M(为了划分容量时候便于计算使用的)
-s 16M 指定最小物理单元PE为16M,默认4M
vgextend kaso_vg /dev/sdd – 扩容卷组容量
-
lvcreat 逻辑建立 (建立文件系统)
-n 指定名字
-L 指定大小
-l 10 表示单位,10个PE
lvcreate -n team_lv1 -L 200M team_vg
//若上面卷组指定最小单位PE为16M,则划分200M给逻辑卷后其实际大小不是200M,而是208M!
//就高不就低,实际值会按给的值向大的给。若PE为4M,则实际大小就是200M
lvcreate -n team_lv2 -l 10 team_vg
//若上面指定卷组PE为16M,则此步划分10个单位PE给逻辑卷即160M
-
建立文件系统 格式化设备的路径(两个路径都可以用)
两个路径:
①/dev/卷组名/逻辑卷名 如:/dev/test_vg/test_lv(此方式需要建立挂载目录)
②/dev/mapper/卷组名-逻辑卷名 如:/dev/mapper/test_vg-test_lv
mkfs.ext4 /dev/mapper/kaso_vg-kaso_lv1
vim /etc/fstab 挂载,但现在还没有挂上,需reboot或mount -a
mount -a 所有的重新挂载
扩容
(支持在线扩容)注意区分 逻辑卷空间 和 文件系统空间
加密分区最好不要扩容
lvextend -L +160M /dev/team_vg/team_lv1 在原基础上增加160M
lvextend -L 368M /dev/team_vg/team_lv1 总大小增加至368M
lvscan 看逻辑卷扩容状态
df -Th 看文件系统状态,若有一部分容量还没格式化,则那部分容量不会累加进来。
resize2fs /dev/team_vg/team_lv1 重新刷新文件系统。
逻辑卷扩容后,扩容的那部分还没有格式化,但也不能对kaso_lv1重新格式化(前面的数据会全没了)。resize2fs可以将扩容那部分进行单独格式化并挂载以便创建文件系统。此时通过df -Th 可以查看到已格式化并挂载后容量更新的逻辑卷team_lv1
最后再查看一次文件系统df -Th
移除逻辑卷
取消挂载umount—lvremove—vgremove—pvremove
缩减逻辑卷
(不建议用 尤其是生产环境 数据丢失)
逻辑卷缩减
-
先卸载(确认文件系统中的数据不能大于要缩减到的总容量)
umount 设备 //卸载挂载点 或 卸载目录都可以
-
先检查文件系统信息(对文件系统进行强制性检查)
e2fsck -f /dev/team_vg/team1_lv
-
先缩减文件系统
resize2fs /dev/team_vg/team1_lv 160M
-
缩减逻辑卷
lvreduce -L 160M /dev/team_vg/team1_lv
-
挂载验证
mount 设备 挂载点
缩减卷组
若要求 kaso_vg sdb sdc sdd 60G 将sdb从卷组中移除
- pvscan分析 pe的使用率。
-
移动pe单元
pvmove 源 目标
pvmove /dev/sdb /dev/sdd
-
缩减卷组
vgreduce kaso_vg /dev/sdb 将硬盘移除
- 删除pv
磁盘阵列RAID
磁盘A 磁盘B 磁盘C
0 0 0 校验位 异或 (特点相同为0 不同1)
0 1 1
1 0 1
1 1 0
要求 sdb sdc sdd 建立一个名为md0的虚拟磁盘 raid5技术
当 sdb 磁盘出现故障,保证数据仍然有效。
使用sde磁盘 加入阵列 代替 sdb工作。
建立RAID磁盘
-
mdadm -C /dev/md0 -l5 -n3 /dev/sd[bcd]
-C 创建
-l level
-n number 3块盘
- watch -n1 cat /proc/mdstat 看进度条的状态到100%使用其建立物理卷卷组 逻辑卷
-
创建物理卷、合成卷组、划分逻辑卷、建立挂载点、格式化、挂载、df -Th查看、reboot
①pvcreate /dev/md0 ②vgcreate test_vg /dev/md0 ③lvcreate -n test_lv -L 30G test_vg
④mkdir /mnt/test ⑤mkfs.ext4 /dev/test_vg/test_lv
⑥vim /etc/fstab
/dev/test_vg/test_lv /mnt/test ext4 dafaults 0 0
⑦df -Th ⑧reboot
注:设备名称md0 会因为没有建立配置文件而产生变化 (/etc/mdadm.conf)
ARRAY /dev/md0 UUID=? //UUID可在 mdadm -D /dev/md0 中找到
mdadm -D /dev/mdxxx 查看阵列状态以及阵列的UUID值
磁盘的故障处理
-
标记故障盘
mdadm /dev/md0 -f /dev/sdc — 标记故障盘
mdadm -D /dev/md0 可查看磁盘阵列,也可查看UUID
cat /proc/mdstat 查看状态
- mdadm /dev/md0 -r /dev/sdc — 移除故障盘
- mdadm /dev/md0 -a /dev/sde ---- 添加新磁盘进入阵列
磁盘阵列的还原
阵列上建立的信息先还原/dev/md0
mdadm -S /dev/md0 — 停用阵列
每个被建立过阵列的磁盘前面4096个字节中都包含了文件系统信息 superblock
mdadm --zero-superblock /dev/sd[bcde]
问答:
1.命令将/dev/sdb sdc sdd建立成为raid5,的磁盘阵列。并使md0设备永久有效的在系统中被识别(mdadm.conf)。
mdadm -C /dev/md0 -l5 -n3 /dev/sd[bcd]
vim /etc/mdadm.conf
ARRAY /dev/md0 UUID=xxxxx
mdadm -D /dev/md0
2.命令将md0设备建立成为物理卷,卷组,以及大小为10G的逻辑卷test_lv,后将lv进行扩容到15G。
pvcreate /dev/md0
vgcreate kaso_vg /dev/md0
lvcreate -n test_lv -L 10G kaso_vg
lvextend -L 15G /dev/kaso_vg/test_lv
3.现发现md0阵列中的sdd磁盘故障,请将其从阵列中移除并更换新硬盘sde到阵列中。
mdadm /dev/md0 -f /dev/sdd
mdadm /dev/md0 -r /dev/sdd
mdadm /dev/md0 -a /dev/sde
课堂练习:
1.为虚拟机添加三块大小为20GB的磁盘sdb sdc sdd
2.将三块硬盘转换为物理卷,并将sdc sdd两pv建立成名为class_vg的卷组,并将sde扩展进该卷组
3.建立一个名为class_lv的逻辑卷,大小为30G,并将该逻辑卷建立ext4文件系统。建立挂载点/mnt/lvm后挂载。
4.将class_lv文件系统扩展到50GB。
5.将建立的逻辑卷、卷组和物理卷删除(严格注意顺序)
6.为虚拟机添加4块大小为20G的硬盘sd[bcde],将sd[bcd]三块硬盘建立为raid5,并将虚拟磁盘md0设定为物理卷。建立卷组和一个大小为30G的逻辑卷。
7.模拟磁盘sdd故障将其冲阵列中剔除,并将sde加入阵列
8.停用磁盘阵列