目录
一、问题描述
因小图片较多,导致Inode占用100%(挂载存储格式为ext4),磁盘空间虽然还有很多但是无法写入数据。
#查看文件系统类型
[root@dev19 disk1]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sdb
└─sdb1 LVM2_member Y4kEkJ-4uXj-9CDv-ydLT-QkF5-ynX4-ZsPLgi
└─vg1-lv1 ext4 6de6101b-f61a-4838-afe8-649c127b1e21 /disk1
sr0
fd0
sda
├─sda2 LVM2_member ndfeBN-8YeI-FhGt-ZVzz-dcbw-DcQ8-P4fEgh
│ ├─centos-swap swap 34583692-432d-4bd4-9f66-48495f73443e
│ ├─centos-home xfs 51532aa3-9cea-4460-add7-8d8966d0d6b6 /home
│ └─centos-root xfs eb48cfe5-b6b7-4110-815b-add057914f5c /
└─sda1 xfs e4a236d9-fefb-472d-9378-1b475750f724 /boot
#查看inode情况
[root@dev19 disk1]# df -ih nfs-data/
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/mapper/vg1-lv1 420K 409K 12K 98% /disk1
二、解决方案
注:因为ext4无法动态调整inode空间占比,所以选择将ext4改为xfs(支持动态调整inode空间占比)
1、备份minio的数据到别的磁盘或机器
2、取消挂载
[root@dev19 disk1]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sdb
└─sdb1 LVM2_member Y4kEkJ-4uXj-9CDv-ydLT-QkF5-ynX4-ZsPLgi
└─vg1-lv1 ext4 6de6101b-f61a-4838-afe8-649c127b1e21 /disk1
sr0
fd0
sda
├─sda2 LVM2_member ndfeBN-8YeI-FhGt-ZVzz-dcbw-DcQ8-P4fEgh
│ ├─centos-swap swap 34583692-432d-4bd4-9f66-48495f73443e
│ ├─centos-home xfs 51532aa3-9cea-4460-add7-8d8966d0d6b6 /home
│ └─centos-root xfs eb48cfe5-b6b7-4110-815b-add057914f5c /
└─sda1 xfs e4a236d9-fefb-472d-9378-1b475750f724 /boot
[root@dev19 disk1]# umount /disk1
umount: /disk1:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
[root@dev19 home]# cd /home/nfs-server/
[root@dev19 nfs-server]# docker-compose down
Stopping nfs-server ... done
Removing nfs-server ... done
Removing network nfs-server_default
[root@dev19 nfs-server]# umount /disk1
[root@dev19 nfs-server]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sdb
└─sdb1 LVM2_member Y4kEkJ-4uXj-9CDv-ydLT-QkF5-ynX4-ZsPLgi
└─vg1-lv1 ext4 6de6101b-f61a-4838-afe8-649c127b1e21
sr0
fd0
sda
├─sda2 LVM2_member ndfeBN-8YeI-FhGt-ZVzz-dcbw-DcQ8-P4fEgh
│ ├─centos-swap swap 34583692-432d-4bd4-9f66-48495f73443e
│ ├─centos-home xfs 51532aa3-9cea-4460-add7-8d8966d0d6b6 /home
│ └─centos-root xfs eb48cfe5-b6b7-4110-815b-add057914f5c /
└─sda1 xfs e4a236d9-fefb-472d-9378-1b475750f724 /boot
3、不格式化数据,把ext4文件格式改为xfs文件格式(没成功,用的下面的方法)
yum install fstransform
fstransform /dev/mapper/vg1-lv1 xfs
3、格式化数据
1、强制格式化xfs
[root@dev19 ~]# mkfs.xfs -f /dev/vg1/lv1
meta-data=/dev/vg1/lv1 isize=512 agcount=4, agsize=27524864 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=110099456, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=53759, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@dev19 ~]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sdb
└─sdb1 LVM2_member Y4kEkJ-4uXj-9CDv-ydLT-QkF5-ynX4-ZsPLgi
└─vg1-lv1 xfs 21ad0a5e-699a-439d-b682-0ea10dfd36a8
sr0
fd0
sda
├─sda2 LVM2_member ndfeBN-8YeI-FhGt-ZVzz-dcbw-DcQ8-P4fEgh
│ ├─centos-swap swap 34583692-432d-4bd4-9f66-48495f73443e
│ ├─centos-root xfs eb48cfe5-b6b7-4110-815b-add057914f5c /
│ └─centos-home xfs 51532aa3-9cea-4460-add7-8d8966d0d6b6 /home
└─sda1 xfs e4a236d9-fefb-472d-9378-1b475750f724 /boot
2、挂载
[root@dev19 ~]# mount /dev/vg1/lv1 /disk1
#调整永久挂载
$ vim /etc/fstab
#/dev/sdb1 /minio ext4 defaults 0 0
/dev/sdb1 /minio xfs defaults 0 0
检查修改硬盘格式为xfs后Inode情况
4、xfs硬盘格式inode空间占比
1、查看inode空间占比
[root@dev19 nfs-server]# xfs_info /disk1
meta-data=/dev/mapper/vg1-lv1 isize=512 agcount=4, agsize=27524864 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=110099456, imaxpct=10
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=53759, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
2、修改inode空间占比为50%(后续可以根据存储情况调整)
[root@dev19 nfs-server]# xfs_growfs -m 50 /disk1
meta-data=/dev/mapper/vg1-lv1 isize=512 agcount=4, agsize=27524864 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=110099456, imaxpct=10
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=53759, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
inode max percent changed from 10 to 50
[root@dev19 nfs-server]# xfs_info /disk1
meta-data=/dev/mapper/vg1-lv1 isize=512 agcount=4, agsize=27524864 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=110099456, imaxpct=50
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=53759, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@dev19 nfs-server]# df -ih /disk1
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/mapper/vg1-lv1 420M 4 420M 1% /disk1
[root@dev19 nfs-server]#