Linux RedHat7.6操作系统的xfs格式化后,mount不生效
问题现象
最近在准备测试环境的过程中,当对xfs文件系统格式化后,mount磁盘,通过df -h命令查看,未显示挂载磁盘信息
[root@ZHZXLxjspo0db003 ~]# mount /dev/datavg/datavg-lv_data /data
[root@ZHZXLxjspo0db003 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 7.7G 0 7.7G 0% /dev
tmpfs 7.8G 24K 7.8G 1% /dev/shm
tmpfs 7.8G 649M 7.1G 9% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/mapper/rootvg-lv_root 100G 6.1G 94G 7% /
/dev/mapper/rootvg-lv_kdump 30G 33M 30G 1% /kdump
/dev/mapper/rootvg-lv_pkg 30G 33M 30G 1% /pkg
/dev/mapper/rootvg-lv_home 50G 33M 50G 1% /home
/dev/mapper/rootvg-lv_itm 10G 74M 10G 1% /itm
/dev/mapper/rootvg-lv_tmp 50G 40M 50G 1% /tmp
/dev/mapper/rootvg-lv_hxb_home 50G 33M 50G 1% /home/hxb
/dev/sda1 497M 208M 290M 42% /boot
tmpfs 1.6G 0 1.6G 0% /run/user/710
tmpfs 1.6G 0 1.6G 0% /run/user/0
问题定位与分析
通过查找资料整理,对于xfs格式化后, mount不起作用可能有多种原因,以下是一些常见的原因及其解决方法:
-
分区类型错误:确保你使用的是支持XFS文件系统的分区。如果是使用旧版本的Linux内核,可能需要启用对XFS的支持。
-
文件系统损坏:使用
xfs_repair
工具检查并修复XFS文件系统的损坏。 -
内核不支持XFS:确保你的Linux内核支持XFS文件系统。如果不支持,你需要升级内核或者安装XFS支持模块。
-
分区没有正确挂载:检查
/etc/fstab
文件是否有错误的挂载配置。 -
磁盘硬件问题:检查硬盘健康状态,使用
smartctl
检测硬盘是否有坏道或其他硬件问题。 -
分区表问题:如果分区表损坏,使用
fdisk
、parted
或gdisk
等工具检查并修复分区表。
问题处理
根据上述的常见原因及解决方法,逐个的检查测试环境的情况
1、检查/etc/fstab
时,发现之前卸载的盘信息未注释
2、使用xfs_repair
工具检查并修复XFS文件系统
[root@ZHZXLxjspo0db003 ~]# xfs_repair /dev/datavg/datavg-lv_data
Phase 1 - find and verify superblock...
Phase 2 - using internal log- zero log...- scan filesystem freespace and inode maps...- found root inode chunk
Phase 3 - for each AG...- scan and clear agi unlinked lists...- process known inodes and perform inode discovery...- agno = 0- agno = 1- agno = 2- agno = 3- process newly discovered inodes...
Phase 4 - check for duplicate blocks...- setting up duplicate extent list...- check for inodes claiming duplicate blocks...- agno = 0- agno = 1- agno = 2- agno = 3
Phase 5 - rebuild AG headers and trees...- reset superblock...
Phase 6 - check inode connectivity...- resetting contents of realtime bitmap and summary inodes- traversing filesystem ...- traversal finished ...- moving disconnected inodes to lost+found ...
Phase 7 - verify and correct link counts...
done
再次mount后,挂载磁盘信息仍然未显示,然后查找资料,看有的文档说是修改一些配置后,需要重新加载配置,并确保文件的配置生效。执行如下命令
systemctl daemon-reload
再次查磁盘信息,发现已经挂载。
[root@ZHZXLxjspo0db003 ~]# mount /dev/datavg/datavg-lv_data /data
[root@ZHZXLxjspo0db003 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 7.7G 0 7.7G 0% /dev
tmpfs 7.8G 24K 7.8G 1% /dev/shm
tmpfs 7.8G 649M 7.1G 9% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/mapper/rootvg-lv_root 100G 6.1G 94G 7% /
/dev/mapper/rootvg-lv_kdump 30G 33M 30G 1% /kdump
/dev/mapper/rootvg-lv_pkg 30G 33M 30G 1% /pkg
/dev/mapper/rootvg-lv_home 50G 33M 50G 1% /home
/dev/mapper/rootvg-lv_itm 10G 74M 10G 1% /itm
/dev/mapper/rootvg-lv_tmp 50G 40M 50G 1% /tmp
/dev/mapper/rootvg-lv_hxb_home 50G 33M 50G 1% /home/hxb
/dev/sda1 497M 208M 290M 42% /boot
tmpfs 1.6G 0 1.6G 0% /run/user/710
tmpfs 1.6G 0 1.6G 0% /run/user/0
/dev/mapper/datavg-datavg--lv_data 800G 33M 800G 1% /data
问题总结
其实这个问题可能就是/etc/fstab修改后,配置文件未生效导致,通过daemon-reload使配置文件及时生效。即使在我们找不到原因的情况下,我们仍然可以尝试万能方法,重启服务器,大概率是可以解决这个问题的。