磁盘空间不够了,于是查看当前机器上一共磁盘空间是多少。输入相关的命令发现,当前磁盘一共是108G的大小。
$ fdisk -lDisk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectors
输入df -h,将所有挂载的磁盘空间相加,发现只有70G左右的空间。因此,还有40G的空间未使用。
- 查看系统磁盘的分区和使用情况。发现/dev/sda5的下的40G空间还未被使用。
[root@k8s-master ~]# lsblk -pfNAME FSTYPE LABEL UUID MOUNTPOINT/dev/sda├─/dev/sda1 xfs 63d25408-e2a9-4afa-b6b6-056471073a89 /boot├─/dev/sda2 LVM2_member 4ot5Vr-PLOI-Al1a-uY62-6Iob-wfZq-Hcyvso│ ├─/dev/mapper/vg_srv-lv_root xfs 5262deca-cc03-42b6-9fe5-fad501053f22 /│ ├─/dev/mapper/vg_srv-lv_swap swap d973e004-8ef4-45aa-89ca-c0c307f74130│ ├─/dev/mapper/vg_srv-lv_home xfs 0d15a3e7-788c-44f7-bf53-b27c41533640 /home│ ├─/dev/mapper/vg_srv-lv_var xfs bcf82e94-b178-4604-80d4-fad7e0f14685 /var│ └─/dev/mapper/vg_srv-lv_tmp xfs 227a6b29-1555-4ff8-ac42-ad732f97a685 /tmp├─/dev/sda3 LVM2_member yaal5p-zn5f-DI0P-IUts-Gm9i-4vzj-HAy3lg│ ├─/dev/mapper/vg_srv-lv_app xfs e9b7c1ae-a3b8-45c7-a2ff-3bde7cf80fff /app│ └─/dev/mapper/vg_srv-lv_logs xfs 07b3f85b-f933-43ea-8598-cbd8187c5271 /app/logs├─/dev/sda4└─/dev/sda5 LVM2_member VN7D52-srvQ-fXcJ-2gcj-tE53-Rfai-TLF0kD/dev/sr0
解决方法一
- 直接将/dev/sda5格式化,并挂载即可。
接下来即可直接在/data1下写数据。[root@k8s-master ~]# mkfs.xfs -f /dev/sda5meta-data=/dev/sda5 isize=512 agcount=4, agsize=2621376 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0, sparse=0data = bsize=4096 blocks=10485504, imaxpct=25= sunit=0 swidth=0 blksnaming =version 2 bsize=4096 ascii-ci=0 ftype=1log =internal log bsize=4096 blocks=5119, version=2= sectsz=512 sunit=0 blks, lazy-count=1realtime =none extsz=4096 blocks=0, rtextents=0[root@k8s-master ~]# mkdir /data1[root@k8s-master ~]# mount /dev/sda5 /data1[root@k8s-master data1]# df -hT/dev/sda5 xfs 40G 33M 40G 1% /data1
解决方法二
本方法是基于linux-lvm逻辑卷管理进行磁盘的分区和使用。
如果你已经按照解决方法一将/dev/sda5进行了格式化,则以恢复步骤帮你将系统恢复至原本的设置。
恢复
如果未执行解决方法一,跳过本恢复小节。
查看当前磁盘分区的状态,可看到sda5已经被格式化为xfs文件系统,并被挂载在/data1目录下。如果/dev/sda5是LVM2_member,则直接跳过本恢复小节。
[root@k8s-master data1]# lsblk -fpNAME FSTYPE LABEL UUID MOUNTPOINT/dev/sda├─/dev/sda1 xfs 63d25408-e2a9-4afa-b6b6-056471073a89 /boot├─/dev/sda2 LVM2_member 4ot5Vr-PLOI-Al1a-uY62-6Iob-wfZq-Hcyvso│ ├─/dev/mapper/vg_srv-lv_root xfs 5262deca-cc03-42b6-9fe5-fad501053f22 /│ ├─/dev/mapper/vg_srv-lv_swap swap d973e004-8ef4-45aa-89ca-c0c307f74130│ ├─/dev/mapper/vg_srv-lv_home xfs 0d15a3e7-788c-44f7-bf53-b27c41533640 /home│ ├─/dev/mapper/vg_srv-lv_var xfs bcf82e94-b178-4604-80d4-fad7e0f14685 /var│ └─/dev/mapper/vg_srv-lv_tmp xfs 227a6b29-1555-4ff8-ac42-ad732f97a685 /tmp├─/dev/sda3 LVM2_member yaal5p-zn5f-DI0P-IUts-Gm9i-4vzj-HAy3lg│ ├─/dev/mapper/vg_srv-lv_app xfs e9b7c1ae-a3b8-45c7-a2ff-3bde7cf80fff /app│ └─/dev/mapper/vg_srv-lv_logs xfs 07b3f85b-f933-43ea-8598-cbd8187c5271 /app/logs├─/dev/sda4└─/dev/sda5 xfs 2f46ec52-8f1f-44b2-b0bb-bc49aa17e99b /data1/dev/sr0
卸载挂载目录 ```shell $ umount /data1
[root@k8s-master /]# lsblk -fp # 检查是否卸载成功,发现/dev/sda5后边的/data1已经被卸载 NAME FSTYPE LABEL UUID MOUNTPOINT /dev/sda ├─/dev/sda1 xfs 63d25408-e2a9-4afa-b6b6-056471073a89 /boot ├─/dev/sda2 LVM2_member 4ot5Vr-PLOI-Al1a-uY62-6Iob-wfZq-Hcyvso │ ├─/dev/mapper/vg_srv-lv_root xfs 5262deca-cc03-42b6-9fe5-fad501053f22 / │ ├─/dev/mapper/vg_srv-lv_swap swap d973e004-8ef4-45aa-89ca-c0c307f74130 │ ├─/dev/mapper/vg_srv-lv_home xfs 0d15a3e7-788c-44f7-bf53-b27c41533640 /home │ ├─/dev/mapper/vg_srv-lv_var xfs bcf82e94-b178-4604-80d4-fad7e0f14685 /var │ └─/dev/mapper/vg_srv-lv_tmp xfs 227a6b29-1555-4ff8-ac42-ad732f97a685 /tmp ├─/dev/sda3 LVM2_member yaal5p-zn5f-DI0P-IUts-Gm9i-4vzj-HAy3lg │ ├─/dev/mapper/vg_srv-lv_app xfs e9b7c1ae-a3b8-45c7-a2ff-3bde7cf80fff /app │ └─/dev/mapper/vg_srv-lv_logs xfs 07b3f85b-f933-43ea-8598-cbd8187c5271 /app/logs ├─/dev/sda4 └─/dev/sda5 xfs 2f46ec52-8f1f-44b2-b0bb-bc49aa17e99b
3. 由于之前的暴力方法,破坏了/dev/sda5的物理卷相关信息,因此,此时系统的卷组信息并不一致。输入相关命令,会出现[unknown]的信息。且会出现 WARNING: Device for PV VN7D52-srvQ-fXcJ-2gcj-tE53-Rfai-TLF0kD not found or rejected by a filter. 输入相关的命令,比如_**pvs或者pvdisplay命令**_都会出现类似的warnings信息。```shell[root@k8s-master /]# pvscanWARNING: Device for PV VN7D52-srvQ-fXcJ-2gcj-tE53-Rfai-TLF0kD not found or rejected by a filter.PV /dev/sda2 VG vg_srv lvm2 [48.00 GiB / 0 free]PV /dev/sda3 VG vg_srv lvm2 [<11.80 GiB / <5.80 GiB free]PV [unknown] VG vg_srv lvm2 [<40.00 GiB / <40.00 GiB free]Total: 3 [99.79 GiB] / in use: 3 [99.79 GiB] / in no VG: 0 [0 ]
步骤3中的错误主要是由于PV信息的缺失导致的,为解决上述问题,可输入以下命令解决。
[root@k8s-master /]# vgreduce --removemissing vg_srv # 注意:vg_srv是vg的名字,如果不知道vg的名字,可通过命令 pvdisplay命令查看,其中VG Name这一行即该vg的名字。
验证步骤4是否执行成功,输入pvs或者pvdisplay发现没有unknown即可。
- 接下来的步骤将/dev/sda5重新加入vg_srv卷组。 ```shell [root@k8s-master /]# pvcreate /dev/sda5 WARNING: xfs signature detected on /dev/sda5 at offset 0. Wipe it? [y/n]: y Wiping xfs signature on /dev/sda5. Physical volume “/dev/sda5” successfully created.
[root@k8s-master /]# pvs # 检查是否加入成功 PV VG Fmt Attr PSize PFree /dev/sda2 vg_srv lvm2 a— 48.00g 0 /dev/sda3 vg_srv lvm2 a— <11.80g <5.80g /dev/sda5 lvm2 —- <40.00g <40.00g
[root@k8s-master /]# vgextend vg_srv /dev/sda5 # 将设备加入vg_srv卷组 Volume group “vg_srv” successfully extended
[root@k8s-master /]# pvdisplay # 查看sda5是否加入成功 —- Physical volume —- PV Name /dev/sda2 VG Name vg_srv PV Size 48.00 GiB / not usable 4.00 MiB Allocatable yes (but full) PE Size 4.00 MiB Total PE 12288 Free PE 0 Allocated PE 12288 PV UUID 4ot5Vr-PLOI-Al1a-uY62-6Iob-wfZq-Hcyvso
—- Physical volume —- PV Name /dev/sda3 VG Name vg_srv PV Size <11.80 GiB / not usable 3.00 MiB Allocatable yes PE Size 4.00 MiB Total PE 3020 Free PE 1484 Allocated PE 1536 PV UUID yaal5p-zn5f-DI0P-IUts-Gm9i-4vzj-HAy3lg
—- Physical volume —- PV Name /dev/sda5 VG Name vg_srv PV Size <40.00 GiB / not usable 3.00 MiB Allocatable yes PE Size 4.00 MiB Total PE 10239 Free PE 10239 Allocated PE 0 PV UUID XU7yqx-fgEE-hYgc-h47W-ssbD-Yid2-2HPurq
[root@k8s-master /]# lsblk -pf #检查/dev/sda5是否变为LVM2_member状态
NAME FSTYPE LABEL UUID MOUNTPOINT /dev/sda ├─/dev/sda1 xfs 63d25408-e2a9-4afa-b6b6-056471073a89 /boot ├─/dev/sda2 LVM2_member 4ot5Vr-PLOI-Al1a-uY62-6Iob-wfZq-Hcyvso │ ├─/dev/mapper/vg_srv-lv_root xfs 5262deca-cc03-42b6-9fe5-fad501053f22 / │ ├─/dev/mapper/vg_srv-lv_swap swap d973e004-8ef4-45aa-89ca-c0c307f74130 │ ├─/dev/mapper/vg_srv-lv_home xfs 0d15a3e7-788c-44f7-bf53-b27c41533640 /home │ ├─/dev/mapper/vg_srv-lv_var xfs bcf82e94-b178-4604-80d4-fad7e0f14685 /var │ └─/dev/mapper/vg_srv-lv_tmp xfs 227a6b29-1555-4ff8-ac42-ad732f97a685 /tmp ├─/dev/sda3 LVM2_member yaal5p-zn5f-DI0P-IUts-Gm9i-4vzj-HAy3lg │ ├─/dev/mapper/vg_srv-lv_app xfs e9b7c1ae-a3b8-45c7-a2ff-3bde7cf80fff /app │ └─/dev/mapper/vg_srv-lv_logs xfs 07b3f85b-f933-43ea-8598-cbd8187c5271 /app/logs ├─/dev/sda4 └─/dev/sda5 LVM2_member XU7yqx-fgEE-hYgc-h47W-ssbD-Yid2-2HPurq /dev/sr0
<a name="fI7uW"></a>### 增大容量```shell$ lvcreate -L 38G -n lv_data vg_srv #因为可用容量为40G,创建的大小按照需要创建即可。$ mkfs -t ext4 /dev/mapper/vg_srv-lv_data$ lsblk -pfNAME FSTYPE LABEL UUID MOUNTPOINT/dev/sda├─/dev/sda1 xfs 63d25408-e2a9-4afa-b6b6-056471073a89 /boot├─/dev/sda2 LVM2_member 4ot5Vr-PLOI-Al1a-uY62-6Iob-wfZq-Hcyvso│ ├─/dev/mapper/vg_srv-lv_root xfs 5262deca-cc03-42b6-9fe5-fad501053f22 /│ ├─/dev/mapper/vg_srv-lv_swap swap d973e004-8ef4-45aa-89ca-c0c307f74130 [SWAP]│ ├─/dev/mapper/vg_srv-lv_home xfs 0d15a3e7-788c-44f7-bf53-b27c41533640 /home│ ├─/dev/mapper/vg_srv-lv_var xfs bcf82e94-b178-4604-80d4-fad7e0f14685 /var│ └─/dev/mapper/vg_srv-lv_tmp xfs 227a6b29-1555-4ff8-ac42-ad732f97a685 /tmp├─/dev/sda3 LVM2_member yaal5p-zn5f-DI0P-IUts-Gm9i-4vzj-HAy3lg│ ├─/dev/mapper/vg_srv-lv_app xfs e9b7c1ae-a3b8-45c7-a2ff-3bde7cf80fff /app│ └─/dev/mapper/vg_srv-lv_logs xfs 07b3f85b-f933-43ea-8598-cbd8187c5271 /app/logs├─/dev/sda4└─/dev/sda5 LVM2_member 26uEWO-57Zm-0Cem-olr1-x66m-b8uc-sw15tJ└─/dev/mapper/vg_srv-lv_data ext4 59f579ba-557f-4d08-93b8-9ea713bd028e/dev/sr0$ mkdir /data$ mount /dev/mapper/vg_srv-lv_data /data$ vi /etc/fstab #配置为开机自动挂载/dev/mapper/vg_srv-lv_data /data ext4 defaults 0 0
