写在前面
前几天jenkins
因为/var/lib/jenkins
目录满了导致所有在用的系统发布更新都出现了不可用。恰好在过年期间,没时间去弄,但是一直有个疑惑,我给jenkins
服务器额外分配了5TB
硬盘,怎么还会遇到磁盘空间不足的问题。
这两天修复了这个问题,本质是liunx LVM
分配的问题。
不要信网上说以下内容(纯粹是扯淡,胡说八道的)
docker
空间不足了,把/var/lib/docker
文件夹移动到空间大的目录下jenkins
空间不足了,把/var/lib/jenkins
文件夹移动到空间大的目录下
解决磁盘空间不足有2种通用方法
一、你的磁盘已经挂载并初始化完成,但是系统中看不到或显示容量不正确
- 先查看系统的磁盘使用情况:使用
df -TH
命令,看Mounted on
这一列/
,use%
就是你的系统上已使用的磁盘总量,这个快用完了,怎么移动都是扯淡。
root@ci:~# df -TH
Filesystem Type Size Used Avail Use% Mounted on
tmpfs tmpfs 1.7G 1.8M 1.7G 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv ext4 5.5T 23G 5.2T 1% /
tmpfs tmpfs 8.4G 0 8.4G 0% /dev/shm
tmpfs tmpfs 5.3M 0 5.3M 0% /run/lock
/dev/sda2 ext4 2.1G 131M 1.8G 7% /boot
overlay overlay 5.5T 23G 5.2T 1% /var/lib/docker/overlay2/a46324faec4fc9b674780cebb9168d410d1d7a12b4d81f675dc5c3b2d96a5918/merged
tmpfs tmpfs 1.7G 4.1k 1.7G 1% /run/user/1000
- 也可以查看系统挂载,看看是不是有磁盘被挂载了但是没有使用上:使用
fdisk -l
命令,不要看带/dev/loop
的。如果发现这里可以看到一个磁盘,但是df -TH
没显示,那就需要分配使用,请参考ubuntu逻辑磁盘修改大小
root@ci:~# fdisk -l
Disk /dev/loop0: 63.45 MiB, 66531328 bytes, 129944 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/loop1: 111.95 MiB, 117387264 bytes, 229272 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/loop2: 53.26 MiB, 55844864 bytes, 109072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/loop3: 44.44 MiB, 46596096 bytes, 91008 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/loop4: 63.7 MiB, 66789376 bytes, 130448 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/loop5: 89.4 MiB, 93745152 bytes, 183096 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sda: 5 TiB, 5497558138880 bytes, 10737418240 sectors
Disk model: Virtual disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: EE541FD6-37DD-4DAF-81EC-74E24471299D
Device Start End Sectors Size Type
/dev/sda1 2048 4095 2048 1M BIOS boot
/dev/sda2 4096 4198399 4194304 2G Linux filesystem
/dev/sda3 4198400 10737416191 10733217792 5T Linux filesystem
Disk /dev/mapper/ubuntu--vg-ubuntu--lv: 5 TiB, 5495406460928 bytes, 10733215744 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
二、你的磁盘已经挂载但未初始化完成,系统中也看不到,但是使用fdisk -l
命令可以看到
请参考 liunx增加磁盘扩展并增加docker磁盘使用空间
三、总结
磁盘空间不足之后,不要动任何文件夹和磁盘,先使用df -TH
确认系统磁盘使用情况,再使用fdisk -l
确认系统闲置的磁盘资源,分别对应2
种情况进行操作即可。
注意:
如果你挂载了一个超大的磁盘,超过了100GB
(比如5T
),而且在安装系统时没有对LVM
做自定义调整,它会默认给你使用100GB
,剩下的需自己手动去扩展(对应这里的情况一
)。千万不要以为用一个超大磁盘安装liunx
系统就完事了,这与windows
完全不一样。
ps:
-
磁盘挂载:
fdisk -l
可以看到,表示已经挂载 -
磁盘挂载并初始化完成:
df -TH
可以看到,表示可用 -
还有一些类似效果的命令列举
lsblk
、vgdisplay
、lvdisplay
评论区