朋友的MC服务器说磁盘爆满了,用的Ubuntu 22.04服务器版,记录本次解决方案。
- 首先使用
df-h
命令检查一下分区挂载情况
root@jiale:/# df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 3.2G 9.7M 3.2G 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 98G 98G 0 100% /
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/sda2 2.0G 127M 1.7G 7% /boot
/dev/sda1 1.1G 5.3M 1.1G 1% /boot/efi
tmpfs 3.2G 4.0K 3.2G 1% /run/user/1000
请看第4行:
/dev/mapper/ubuntu--vg-ubuntu--lv 98G 98G 0 100% /
已经可以看出当时创建的LVM卷已经完全使用完了,因为记得朋友的硬盘买的1TB的应该不会这么小,于是继续检查一下剩余的空间到哪里去了。
- 输入
lsblk
命令列出所有可用块设备的信息:
root@jiale:/# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 61.9M 1 loop /snap/core20/1405
loop1 7:1 0 79.9M 1 loop /snap/lxd/22923
loop2 7:2 0 44.7M 1 loop /snap/snapd/15534
sda 8:0 0 931.5G 0 disk
├─sda1 8:1 0 1G 0 part /boot/efi
├─sda2 8:2 0 2G 0 part /boot
└─sda3 8:3 0 928.5G 0 part
└─ubuntu--vg-ubuntu--lv 253:0 0 100G 0 lvm /
请看第9行:
└─sda3 8:3 0 928.5G 0 part └─ubuntu--vg-ubuntu--lv 253:0 0 100G 0 lvm /
打印出来的信息可以看出 sda下sda3有928G的可用空间,而我们的LVM卷只使用了100G,显然还有很多空间未被利用,现在我们进行LVM扩容。
- 使用
vgdisplay
命令查看LVM信息
root@jiale:/# 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 <928.46 GiB
PE Size 4.00 MiB
Total PE 237685
Alloc PE / Size 25600 / 100.00 GiB
Free PE / Size 212085 / <828.46 GiB
VG UUID PLE30O-5fOE-Od4f-3i3t-iPUU-iwjP-PAZR13
请看第20行:Free PE / Size 212085 / <828.46 GiB
说明我们还有828G可拓展的剩余空间。
- 使用命令拓展LVM磁盘
首先我们来学习了解一下有哪些lvm磁盘的操作:
//增大或减小至100G
# lvextend -L 100G /dev/mapper/ubuntu--vg-ubuntu--lv
//增大100G
# lvextend -L +100G /dev/mapper/ubuntu--vg-ubuntu--lv
//减小100G
# lvreduce -L -100G /dev/mapper/ubuntu--vg-ubuntu--lv
//按照剩余空间的百分比扩容
# lvresize -L +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
//执行调整
# resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
了解用法之后现在对朋友的服务器进行100G的扩容:
- 使用
lvextend
命令扩容
root@jiale:/# lvextend -L +100G /dev/mapper/ubuntu--vg-ubuntu--lv
/etc/lvm/archive/.lvm_jiale_85812_690530409: write error failed: No space left on device
如果这一步的结尾显示successfully resized.
就说明成功扩容了,后续执行一遍:
root@jiale:/# resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
就大功告成了。
但是,如果你没有成功扩容请看后续:
如果这一步最后显示:No space left on device
显示没有空间,不用着急
- 解决方案:用重置磁盘大小指令
lvresize
root@jiale:/# lvresize -A n -L +100G /dev/mapper/ubuntu--vg-ubuntu--lv
Size of logical volume ubuntu-vg/ubuntu-lv changed from 100.00 GiB (25600 extents) to 200.00 GiB (25856 extents).
WARNING: This metadata update is NOT backed up.
Logical volume ubuntu-vg/ubuntu-lv successfully resized.
最后打印出successfully resized.
就说明成功扩容了。
- 使用
resize2fs
重新计算一下空间
root@jiale:/# resize2fs -p /dev/mapper/ubuntu--vg-ubuntu--lv
resize2fs 1.46.5 (30-Dec-2021)
Filesystem at /dev/mapper/ubuntu--vg-ubuntu--lv is mounted on /; on-line resizing required
old_desc_blocks = 13, new_desc_blocks = 13
The filesystem on /dev/mapper/ubuntu--vg-ubuntu--lv is now 26476544 (4k) blocks long.
- 用
df -h
检查一下是否扩容成功
root@jiale:/# df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 3.2G 1.7M 3.2G 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 197G 98G 90G 53% /
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/sda2 2.0G 127M 1.7G 7% /boot
/dev/sda1 1.1G 5.3M 1.1G 1% /boot/efi
tmpfs 3.2G 4.0K 3.2G 1% /run/user/1000
请看第4行:
/dev/mapper/ubuntu--vg-ubuntu--lv 197G 98G 90G 53% /
已经变成197G空间,说明扩容成功了。