MinIO解决ext4硬盘inode占满问题(xfs动态扩容inode空间占比)

一、问题描述

因小图片较多,导致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的数据到别的磁盘或机器

MinIO客户端(mc命令)实现数据迁移

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]#
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值