我使用 NetGear ReadyNAS 机器作为我们服务器的 NAS。服务器是Linux CentOS 6.6。服务器使用 Rocks 集群运行,所有用户的主目录都位于 NAS 上。我的理解是,当用户登录时,主目录会自动挂载到 /home 。
最近,我们遇到了臭名昭著的间歇性“设备上没有剩余空间”错误,而我们的驱动器远未满。这也不是完整虚拟内存的情况。然而,在删除或压缩某些文件后,该问题通常会(暂时)得到解决。我想检查我的 inode 是否已满,但由于某种原因,我们的用户目录所在的共享不报告 inode 信息并且仅显示 0。有人可以解释一下为什么会出现这种情况,以及如何检查我的 NAS 共享上的索引节点吗?
NAS 是 RAID 10 配置中的 nfs 文件系统,而我的 Linux 集群使用 ext4。以下是df -h
在我们的主节点上执行的输出:
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 20G 16G 2.5G 87% /
tmpfs 7.9G 12K 7.9G 1% /dev/shm
/dev/sda1 190M 103M 78M 57% /boot
/dev/sda6 4.7G 12M 4.5G 1% /tmp
/dev/sda3 12G 2.0G 9.0G 18% /var
tmpfs 3.9G 63M 3.8G 2% /var/lib/ganglia/rrds
nas-0-1:/nas/nas-home/user1
15T 8.4T 6.3T 58% /home/user1
nas-0-1:/nas/nas-home/user2
15T 8.4T 6.3T 58% /home/user2
和df -i
:
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda2 1281120 365426 915694 29% /
tmpfs 2057769 4 2057765 1% /dev/shm
/dev/sda1 51200 50 51150 1% /boot
/dev/sda6 320000 797 319203 1% /tmp
/dev/sda3 768544 20175 748369 3% /var
tmpfs 2057769 596 2057173 1% /var/lib/ganglia/rrds
nas-0-1:/nas/nas-home/user1
0 0 0 - /home/user1
nas-0-1:/nas/nas-home/user2
0 0 0 - /home/user2
现在,如果我进入 nas 本身并重复,以下是在 nas 上执行ssh
的输出:df -h
Filesystem Size Used Avail Use% Mounted on
udev 10M 4.0K 10M 1% /dev
/dev/md0 4.0G 578M 3.1G 16% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 2.0G 5.9M 2.0G 1% /run
tmpfs 978M 1.5M 977M 1% /run/lock
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/md127 15T 8.4T 6.3T 58% /nas
/dev/md127 15T 8.4T 6.3T 58% /home
/dev/md127 15T 8.4T 6.3T 58% /apps
/dev/md127 15T 8.4T 6.3T 58% /var/ftp/nas-home
并df -i
在 nas 上执行:
Filesystem Inodes IUsed IFree IUse% Mounted on
udev 499834 446 499388 1% /dev
/dev/md0 0 0 0 - /
tmpfs 500472 1 500471 1% /dev/shm
tmpfs 500472 593 499879 1% /run
tmpfs 500472 22 500450 1% /run/lock
tmpfs 500472 15 500457 1% /sys/fs/cgroup
/dev/md127 0 0 0 - /nas
/dev/md127 0 0 0 - /home
/dev/md127 0 0 0 - /apps
/dev/md127 0 0 0 - /var/ftp/nas-home
我的 nas 上的共享是 /nas,为什么它显示包含 0 个 inode?
预先感谢您提供的任何帮助。这个问题一直让我抓狂并阻碍我们的工作。
答案1
NAS 可能使用不使用静态索引节点表的文件系统。此类文件系统最著名的现代示例是 BTRFS 和 ZFS,但大多数较新的文件系统都使用动态 inode 分配,并且许多文件系统(包括 BTRFS)选择不报告任何 inode 使用情况,因为这并不重要(因为用完了inodes 意味着文件系统本身空间不足,因此无论如何您都无法创建新文件)。