学习逻辑卷LVM遇到的问题

一、问题1:扩展卷组的用处

本人在学习LVM的时候遇到了一个疑惑,是因为没有搞懂扩展卷组的用处,在这里跟大家分享一下,前面创建物理卷和卷组的过程省略

首先看一下我以下的过程

// 创建了一个逻辑卷,名为mysql,test是我卷组的名称
[root@rocky8 ~]#lvcreate -L 6G -n mysql test
WARNING: xfs signature detected on /dev/test/mysql at offset 0. Wipe it? [y/n]: y
  Wiping xfs signature on /dev/test/mysql.
  Logical volume "mysql" created.
  
[root@rocky8 ~]#lvs
  LV    VG   Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root  rl   -wi-ao---- <17.00g                                                    
  swap  rl   -wi-ao----   2.00g                                                    
  mysql test -wi-a-----   6.00g         

// 可以看到sdb1和sdb2已经关联上了逻辑卷
[root@rocky8 ~]#lsblk
NAME           MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda              8:0    0   20G  0 disk 
├─sda1           8:1    0    1G  0 part /boot
└─sda2           8:2    0   19G  0 part 
  ├─rl-root    253:0    0   17G  0 lvm  /
  └─rl-swap    253:1    0    2G  0 lvm  [SWAP]
sdb              8:16   0   20G  0 disk 
├─sdb1           8:17   0    5G  0 part 
│ └─test-mysql 253:2    0    6G  0 lvm  
├─sdb2           8:18   0    5G  0 part 
│ └─test-mysql 253:2    0    6G  0 lvm  
└─sdb3           8:19   0   10G  0 part 
sr0             11:0    1 10.5G  0 rom  

[root@rocky8 ~]#vgs
  VG   #PV #LV #SN Attr   VSize   VFree 
  rl     1   2   0 wz--n- <19.00g     0 
  test   2   1   0 wz--n-  <9.97g <3.97g
  
[root@rocky8 ~]#pvs
  PV         VG   Fmt  Attr PSize   PFree  
  /dev/sda2  rl   lvm2 a--  <19.00g      0 
  /dev/sdb1  test lvm2 a--    4.98g      0 
  /dev/sdb2  test lvm2 a--    4.98g  <3.97g
  /dev/sdb3       lvm2 ---  <10.00g <10.00g

// 将sdb3扩展到卷组中
[root@rocky8 ~]#vgextend test /dev/sdb3
  Volume group "test" successfully extended
  
[root@rocky8 ~]#pvs
  PV         VG   Fmt  Attr PSize   PFree 
  /dev/sda2  rl   lvm2 a--  <19.00g     0 
  /dev/sdb1  test lvm2 a--    4.98g     0 
  /dev/sdb2  test lvm2 a--    4.98g <3.97g
  /dev/sdb3  test lvm2 a--    9.98g  9.98g

// sdb3却没有关联到逻辑卷中
[root@rocky8 ~]#lsblk
NAME           MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda              8:0    0   20G  0 disk 
├─sda1           8:1    0    1G  0 part /boot
└─sda2           8:2    0   19G  0 part 
  ├─rl-root    253:0    0   17G  0 lvm  /
  └─rl-swap    253:1    0    2G  0 lvm  [SWAP]
sdb              8:16   0   20G  0 disk 
├─sdb1           8:17   0    5G  0 part 
│ └─test-mysql 253:2    0    6G  0 lvm  
├─sdb2           8:18   0    5G  0 part 
│ └─test-mysql 253:2    0    6G  0 lvm  
└─sdb3           8:19   0   10G  0 part 
sr0             11:0    1 10.5G  0 rom 

所以当时我的疑惑就是一开始创建逻辑卷,sdb1和sdb2都关联到了test-mysql逻辑卷,然后将sdb3扩展到test卷组,但是为什么扩展到了之后,sdb3没有关联到test-mysql卷组?

解答:之所以test-mysql存在sdb1和sdb2上,是因为它需要6G的那个空间,而sdb1和sdb2都只有5G,加起来10G,已经确保有6G足够可用的空间,test-mysql存在了sdb1和2上,已经存好了,sdb3上不用存了,test-mysql需要的空间已经足够了。

所以扩展卷组的用处就是比如原本test卷组10G容量,然后已经分完容量给一个逻辑卷,想扩展逻辑卷的话没有容量了,那么扩展卷组后多了容量,就可以扩展逻辑卷了。

所以也就是说,当test-mysql扩容到10G,到达了test卷组的最大容量,sdb3有10G,扩展到test卷组,那么test卷组就有了20G的容量,那么test-mysql又可以继续扩容了,或者创建新的逻辑卷。

二、问题2:扩展逻辑卷报错:write error failed: No space left on device

#根分区已满
[root@ubuntu2004 ~]#df -h
Filesystem                         Size  Used Avail Use% Mounted on
udev                               1.9G     0  1.9G   0% /dev
tmpfs                              389M   41M  349M  11% /run
/dev/mapper/ubuntu--vg-ubuntu--lv  9.8G  9.8G     0 100% /
tmpfs                              1.9G     0  1.9G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
tmpfs                              1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda2                          1.5G  209M  1.2G  16% /boot
/dev/loop1                          68M   68M     0 100% /snap/lxd/21835
/dev/loop2                          92M   92M     0 100% /snap/lxd/24061
/dev/loop3                          41M   41M     0 100% /snap/snapd/20290
/dev/loop4                          64M   64M     0 100% /snap/core20/2015
tmpfs                              389M     0  389M   0% /run/user/0
/dev/loop5                          64M   64M     0 100% /snap/core20/2264

#两种命令扩容报错
[root@ubuntu2004 ~]#lvresize -r -L +8G /dev/mapper/ubuntu--vg-ubuntu--lv
  /etc/lvm/archive/.lvm_ubuntu2004_50678_558404538: write error failed: No space left on device
[root@ubuntu2004 ~]#lvextend -L +8G /dev/mapper/ubuntu--vg-ubuntu--lv
  /etc/lvm/archive/.lvm_ubuntu2004_50678_558404538: write error failed: No space left on device
  
#但是卷组还有空间
[root@ubuntu2004 ~]#vgdisplay 
  --- Volume group ---
  VG Name               ubuntu-vg
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <18.50 GiB
  PE Size               4.00 MiB
  Total PE              4735
  Alloc PE / Size       2560 / 10.00 GiB
  Free  PE / Size       2175 / <8.50 GiB
  VG UUID               d0xfxL-9ith-021w-xHBF-GALw-41Nk-TYZnQ1
  
#解决
#该命令的选项-A重新调整了 /dev/mapper/ubuntu 的 lv 大小,并刷新了文件系统
[root@ubuntu2004 ~]#lvresize -A -L +8G /dev/mapper/ubuntu--vg-ubuntu--lv
  Size of logical volume ubuntu-vg/ubuntu-lv changed from 10.00 GiB (2560 extents) to 18.00 GiB (4608 extents).
  WARNING: This metadata update is NOT backed up.
  Logical volume ubuntu-vg/ubuntu-lv successfully resized.
  
[root@ubuntu2004 ~]#resize2fs -p /dev/mapper/ubuntu--vg-ubuntu--lv
resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/mapper/ubuntu--vg-ubuntu--lv is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 3
The filesystem on /dev/mapper/ubuntu--vg-ubuntu--lv is now 4718592 (4k) blocks long.

#扩展成功
[root@ubuntu2004 ~]#df -h
Filesystem                         Size  Used Avail Use% Mounted on
udev                               1.9G     0  1.9G   0% /dev
tmpfs                              389M  1.6M  388M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   18G  9.8G  7.0G  59% /
tmpfs                              1.9G     0  1.9G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
tmpfs                              1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda2                          1.5G  209M  1.2G  16% /boot
/dev/loop1                          68M   68M     0 100% /snap/lxd/21835
/dev/loop2                          92M   92M     0 100% /snap/lxd/24061
/dev/loop3                          41M   41M     0 100% /snap/snapd/20290
/dev/loop4                          64M   64M     0 100% /snap/core20/2015
tmpfs                              389M     0  389M   0% /run/user/0
/dev/loop5                          64M   64M     0 100% /snap/core20/2264

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值