問題描述 使用vmware新建伺服器,明明給系統盤分配了一個200GB的磁碟空間,伺服器創建成功後,但是伺服器中啟動一個大小約為11GB的docker服務卻提示 磁碟空間不足 no space left on device。 解決過程 檢查磁碟掛載詳情 `[root@SkyEye ~]# lsblk ...
問題描述
使用vmware新建伺服器,明明給系統盤分配了一個200GB的磁碟空間,伺服器創建成功後,但是伺服器中啟動一個大小約為11GB的docker服務卻提示 磁碟空間不足
no space left on device
。
解決過程
-
檢查磁碟掛載詳情
`[root@SkyEye ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 1T 0 disk ├─sda1 8:1 0 1M 0 part ├─sda2 8:2 0 1G 0 part /boot └─sda3 8:3 0 199G 0 part ├─VolGroup00-LogVol03 253:0 0 30G 0 lvm / ├─VolGroup00-LogVol00 253:1 0 15.7G 0 lvm [SWAP] ├─VolGroup00-LogVol02 253:2 0 1G 0 lvm /var └─VolGroup00-LogVol01 253:3 0 1G 0 lvm /tmp sr0 11:0 1 1.5G 0 rom
- /dev/sda1: 大小為1MB,通常用於存儲啟動引導或BIOS配置數據。
- /dev/sda2: 大小為199GB,是主分區之一。
- /dev/sda3: 大小為30GB,也是主分區之一。
此外還有邏輯捲管理(LVM)的部分:
- /dev/VolGroup00/LogVol00: 大小為15.7GB,掛載點為/boot,是一個邏輯捲。
- /dev/VolGroup00/LogVol01: 大小為1GB,掛載點為/tmp,也是一個邏輯捲。
- /dev/VolGroup00/LogVol02: 大小為30GB,掛載點為/var,同樣是一個邏輯捲。
- /dev/sr0: 這是一個光碟機設備,大小為1.5GB。
-
通過掛載發現,系統盤
/dev/sda
被分了三個區,分區/sda3
下的 邏輯捲(lvm) 只有 30GB被用作系統盤,且 用於 容器運行的隔離空間/var
位於 捲組VolGroup00-LogVol02
只分配了1GB
的空間, 所以才會出現空間不足
擴容分區
擴容系統盤分區
-
擴展 分區邏輯捲組
VolGroup00-LogVol03
lvextend -L +100G /dev/VolGroup00/LogVol03 # 這裡的+100G表示增加100GB空間 # 輸出如下 Size of logical volume VolGroup00/LogVol03 changed from 30.00 GiB (7680 extents) to 130.00 GiB (33280 extents). Logical volume VolGroup00/LogVol03 successfully resized
-
調整文件系統大小:擴展邏輯捲後,需要調整文件系統大小以使用新增的空間:
resize2fs /dev/VolGroup00/LogVol03 resize2fs 1.46.4 (18-Aug-2021) Filesystem at /dev/VolGroup00/LogVol03 is mounted on /; on-line resizing required old_desc_blocks = 4, new_desc_blocks = 17 The filesystem on /dev/VolGroup00/LogVol03 is now 34078720 (4k) blocks long.
-
查看分區是否生效
[root@SkyEye ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 1T 0 disk ├─sda1 8:1 0 1M 0 part ├─sda2 8:2 0 1G 0 part /boot └─sda3 8:3 0 199G 0 part ├─VolGroup00-LogVol03 253:0 0 130G 0 lvm / ├─VolGroup00-LogVol00 253:1 0 15.7G 0 lvm [SWAP] ├─VolGroup00-LogVol02 253:2 0 1G 0 lvm /var └─VolGroup00-LogVol01 253:3 0 1G 0 lvm /tmp sr0 11:0 1 1.5G 0 rom
-
查看分區使用率
[root@SkyEye ~]# df -hT Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev tmpfs tmpfs 16G 12K 16G 1% /dev/shm tmpfs tmpfs 6.2G 8.8M 6.2G 1% /run tmpfs tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup /dev/mapper/VolGroup00-LogVol03 ext4 128G 17G 106G 14% / /dev/sda2 ext4 974M 181M 726M 20% /boot /dev/mapper/VolGroup00-LogVol01 ext4 974M 60K 907M 1% /tmp /dev/mapper/VolGroup00-LogVol02 ext4 974M 66M 841M 8% /var
擴容 docker隔離環境邏輯捲空間
-
擴展 分區邏輯捲組
VolGroup00-LogVol02
[root@SkyEye sensor_docker]# lvextend -L +50G /dev/VolGroup00/LogVol02 Size of logical volume VolGroup00/LogVol02 changed from 1.00 GiB (256 extents) to 51.00 GiB (13056 extents). Logical volume VolGroup00/LogVol02 successfully resized.
-
調整文件系統大小:擴展邏輯捲後,需要調整文件系統大小以使用新增的空間:
[root@SkyEye sensor_docker]# resize2fs /dev/VolGroup00/LogVol02 resize2fs 1.46.4 (18-Aug-2021) Filesystem at /dev/VolGroup00/LogVol02 is mounted on /var; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 7 The filesystem on /dev/VolGroup00/LogVol02 is now 13369344 (4k) blocks long.
-
查看分區邏輯捲使用率
[root@SkyEye sensor_docker]# df -hT Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev tmpfs tmpfs 16G 12K 16G 1% /dev/shm tmpfs tmpfs 6.2G 8.8M 6.2G 1% /run tmpfs tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup /dev/mapper/VolGroup00-LogVol03 ext4 128G 17G 106G 14% / /dev/sda2 ext4 974M 181M 726M 20% /boot /dev/mapper/VolGroup00-LogVol01 ext4 974M 60K 907M 1% /tmp /dev/mapper/VolGroup00-LogVol02 ext4 51G 66M 49G 1% /var