逻辑卷管理器-缩减
0、背景:两块物理硬盘组成逻辑卷,由于硬盘故障或硬盘迁移等原因,需从卷组中移除硬盘,要先针对逻辑卷(testlv)进行缩减。
1 2 3 4 5 6 7 8 9 10 11 | [root@localhost testdir] # df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 475M 0 475M 0% /dev tmpfs 487M 0 487M 0% /dev/shm tmpfs 487M 7.7M 479M 2% /run tmpfs 487M 0 487M 0% /sys/fs/cgroup /dev/mapper/centos-root 25G 1.9G 24G 8% / /dev/sda1 497M 130M 367M 27% /boot /dev/mapper/bsoftvg-data 21G 33M 21G 1% /data tmpfs 98M 0 98M 0% /run/user/0 /dev/mapper/testvg-testlv 40G 17G 24G 43% /testdir |
1 2 3 4 5 6 7 8 9 10 | [root@localhost testdir] # blkid /dev/sda1 : UUID= "dbe36a10-9cce-47c8-a5f1-a6a5245665e5" TYPE= "xfs" /dev/sda2 : UUID= "G4T07B-KCn3-oGuc-diPV-nQks-MyfT-0E8Rfp" TYPE= "LVM2_member" /dev/sda3 : UUID= "kL2FKX-f0QQ-iKnX-GKsW-U9Pg-7z3e-ExoWqK" TYPE= "LVM2_member" /dev/mapper/centos-root : UUID= "e493b776-83fe-43d6-aaed-2c4ccc6af3fc" TYPE= "xfs" /dev/mapper/centos-swap : UUID= "2153499d-e627-4380-9beb-14a8c0abf6c6" TYPE= "swap" /dev/mapper/bsoftvg-data : UUID= "34a18630-78ea-4deb-88b7-9bf600a8cc54" TYPE= "xfs" /dev/sdb : UUID= "IjBHLs-oojg-y4v3-E50L-vgUO-lSBb-eed6zr" TYPE= "LVM2_member" /dev/mapper/testvg-testlv : UUID= "57f1b978-585b-40a7-a08f-0a7b43863add" TYPE= "xfs" /dev/sdc : UUID= "sOhp6w-fchC-ZMRt-s188-esE0-tPc4-i37gtb" TYPE= "LVM2_member" |
1、取消挂载
umount /testdir/
遇到取消挂载不成功的情况,退出bash,重新登录。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [root@localhost testdir] # umount /testdir/ umount : /testdir : target is busy. (In some cases useful info about processes that use the device is found by lsof (8) or fuser(1)) [root@localhost testdir] # [root@localhost testdir] # [root@localhost testdir] # [root@localhost testdir] # lsof | grep /test bash 1321 root cwd DIR 253,3 198 64 /testdir lsof 1569 root cwd DIR 253,3 198 64 /testdir grep 1570 root cwd DIR 253,3 198 64 /testdir lsof 1571 root cwd DIR 253,3 198 64 /testdir [root@localhost testdir] # exit logout |
1 2 3 4 5 6 7 8 9 10 11 12 | [root@localhost ~] # umount /testdir/ [root@localhost ~] # [root@localhost ~] # df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 475M 0 475M 0% /dev tmpfs 487M 0 487M 0% /dev/shm tmpfs 487M 7.7M 479M 2% /run tmpfs 487M 0 487M 0% /sys/fs/cgroup /dev/mapper/centos-root 25G 1.9G 24G 8% / /dev/sda1 497M 130M 367M 27% /boot /dev/mapper/bsoftvg-data 21G 33M 21G 1% /data tmpfs 98M 0 98M 0% /run/user/0 |
2、缩减逻辑卷到18G
lvreduce -L 18G /dev/testvg/testlv
1 2 3 4 5 6 | [root@localhost ~] # lvreduce -L 18G /dev/testvg/testlv WARNING: Reducing active logical volume to 18.00 GiB. THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce testvg /testlv ? [y /n ]: y Size of logical volume testvg /testlv changed from 39.99 GiB (10238 extents) to 18.00 GiB (4608 extents). Logical volume testvg /testlv successfully resized. |
提示:缩减逻辑卷会破坏数据、文件系统等,需要提前进行数据备份。
缩减lv后,pv、gv均多了空闲空间
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [root@localhost ~] # pvs PV VG Fmt Attr PSize PFree /dev/sda2 centos lvm2 a-- 29.00g 4.00m /dev/sda3 bsoftvg lvm2 a-- 20.50g 0 /dev/sdb testvg lvm2 a-- <20.00g <2.00g /dev/sdc testvg lvm2 a-- <20.00g <20.00g [root@localhost ~] # vgs VG #PV #LV #SN Attr VSize VFree bsoftvg 1 1 0 wz--n- 20.50g 0 centos 1 2 0 wz--n- 29.00g 4.00m testvg 2 1 0 wz--n- 39.99g 21.99g [root@localhost ~] # lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert data bsoftvg -wi-ao---- 20.50g root centos -wi-ao---- 25.00g swap centos -wi-ao---- 4.00g testlv testvg -wi-a----- 18.00g |
3、取消激活要移除的硬盘
pvchange -xn /dev/sdc
1 2 3 4 | [root@localhost ~] # pvchange -xn /dev/sdc Physical volume "/dev/sdc" changed 1 physical volume changed / 0 physical volumes not changed [root@localhost ~] #pvdisplay |
4、从vg中移除硬盘
vgreduce testvg /dev/sdc
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [root@localhost ~] # vgreduce testvg /dev/sdc Removed "/dev/sdc" from volume group "testvg" [root@localhost ~] # [root@localhost ~] # [root@localhost ~] # [root@localhost ~] # vgs VG #PV #LV #SN Attr VSize VFree bsoftvg 1 1 0 wz--n- 20.50g 0 centos 1 2 0 wz--n- 29.00g 4.00m testvg 1 1 0 wz--n- <20.00g <2.00g [root@localhost ~] # [root@localhost ~] # pvs PV VG Fmt Attr PSize PFree /dev/sda2 centos lvm2 a-- 29.00g 4.00m /dev/sda3 bsoftvg lvm2 a-- 20.50g 0 /dev/sdb testvg lvm2 a-- <20.00g <2.00g /dev/sdc lvm2 --- 20.00g 20.00g |
5、移除物理卷,此时可以拔出硬盘
pvremove /dev/sdc
1 2 3 4 5 6 7 8 9 | [root@localhost ~] # pvremove /dev/sdc Labels on physical volume "/dev/sdc" successfully wiped. [root@localhost ~] # [root@localhost ~] # [root@localhost ~] # pvs PV VG Fmt Attr PSize PFree /dev/sda2 centos lvm2 a-- 29.00g 4.00m /dev/sda3 bsoftvg lvm2 a-- 20.50g 0 /dev/sdb testvg lvm2 a-- <20.00g <2.00g |
6、对缩减的卷组进行格式化
mkfs.xfs /dev/testvg/testlv
1 2 3 4 5 6 7 8 9 10 | [root@localhost ~] # mkfs.xfs -f /dev/testvg/testlv meta-data= /dev/testvg/testlv isize=512 agcount=4, agsize=1179648 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=4718592, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 |
7、格式化lv会生成新的UUID,需要更新fstab文件,并重新加载:mount -a
1 2 3 4 5 6 7 8 9 10 | [root@localhost ~] # blkid /dev/sda1 : UUID= "dbe36a10-9cce-47c8-a5f1-a6a5245665e5" TYPE= "xfs" /dev/sda2 : UUID= "G4T07B-KCn3-oGuc-diPV-nQks-MyfT-0E8Rfp" TYPE= "LVM2_member" /dev/sda3 : UUID= "kL2FKX-f0QQ-iKnX-GKsW-U9Pg-7z3e-ExoWqK" TYPE= "LVM2_member" /dev/mapper/centos-root : UUID= "e493b776-83fe-43d6-aaed-2c4ccc6af3fc" TYPE= "xfs" /dev/mapper/centos-swap : UUID= "2153499d-e627-4380-9beb-14a8c0abf6c6" TYPE= "swap" /dev/mapper/bsoftvg-data : UUID= "34a18630-78ea-4deb-88b7-9bf600a8cc54" TYPE= "xfs" /dev/sdb : UUID= "IjBHLs-oojg-y4v3-E50L-vgUO-lSBb-eed6zr" TYPE= "LVM2_member" /dev/mapper/testvg-testlv : UUID= "f4546708-5e38-45a7-8894-d8f6057182dc" TYPE= "xfs" /dev/sdc : UUID= "sOhp6w-fchC-ZMRt-s188-esE0-tPc4-i37gtb" TYPE= "LVM2_member" |
vim /etc/fstab
1 2 3 4 5 6 7 8 9 10 11 | # /etc/fstab # Created by anaconda on Mon Feb 21 10:59:48 2022 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/centos-root / xfs defaults 0 0 UUID=dbe36a10-9cce-47c8-a5f1-a6a5245665e5 /boot xfs defaults 0 0 /dev/mapper/centos-swap swap swap defaults 0 0 UUID=34a18630-78ea-4deb-88b7-9bf600a8cc54 /data xfs defaults 0 0 UUID=f4546708-5e38-45a7-8894-d8f6057182dc /testdir xfs defaults 0 0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 | [root@localhost ~] # mount -a [root@localhost ~] # [root@localhost ~] # df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 475M 0 475M 0% /dev tmpfs 487M 0 487M 0% /dev/shm tmpfs 487M 7.7M 479M 2% /run tmpfs 487M 0 487M 0% /sys/fs/cgroup /dev/mapper/centos-root 25G 1.9G 24G 8% / /dev/sda1 497M 130M 367M 27% /boot /dev/mapper/bsoftvg-data 21G 33M 21G 1% /data /dev/mapper/testvg-testlv 18G 33M 18G 1% /testdir tmpfs 98M 0 98M 0% /run/user/0 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~