我使用的是 SLES 11 SP3。当我运行df -lh
以查看已安装的文件系统时,我得到以下结果,这些结果是正确的:
Filesystem Size Used Avail Use% Mounted on
/dev/sdb3 9.9G 2.9G 6.5G 31% /
udev 32G 240K 32G 1% /dev
/dev/sdb1 156M 12M 145M 8% /boot/efi
/dev/sdb4 100G 11G 90G 11% /home
/dev/sdb5 383G 33M 383G 1% /data1
/dev/sda1 2.2T 5.3G 2.2T 1% /data2
/dev/sda2 2.4T 34M 2.4T 1% /data3
当我重新启动服务器并再次运行相同的命令时,我得到以下结果:
Filesystem Size Used Avail Use% Mounted on
/dev/sdb3 9.9G 2.9G 6.5G 31% /
udev 32G 240K 32G 1% /dev
/dev/sdb1 9.9G 2.9G 6.5G 31% /boot/efi
/dev/sdb4 9.9G 2.9G 6.5G 31% /home
/dev/sdb5 9.9G 2.9G 6.5G 31% /data1
/dev/sda1 9.9G 2.9G 6.5G 31% /data2
/dev/sda2 9.9G 2.9G 6.5G 31% /data3
显然, 的详细信息/
被复制到其他坐骑。
为了解决这个问题,我创建了一个脚本并将其保存在/etc/rc.d/rc3.d
.脚本如下:
#!/bin/ksh
PATH=/usr/sbin:/usr/bin:/bin
/bin/umount /home /data1 /data2 /data3 /boot/efi; sleep 2; /bin/mount -a
现在,将脚本保留在 中/etc/rc.d/rc3.d
,我重新启动服务器并运行df -lh
,它显示了正确的结果。
/etc/fstab 内容:
/dev/disk/by-id/scsi-3600508e0000000000f6ecbedd51a340e-part1 /boot/efi vfat umask=0002,utf8=true 0 0
/dev/disk/by-id/scsi-3600508e0000000000f6ecbedd51a340e-part2 swap swap defaults 0 0
/dev/disk/by-id/scsi-3600508e0000000000f6ecbedd51a340e-part3 / ext3 acl,user_xattr 0 0
/dev/disk/by-id/scsi-3600508e0000000000f6ecbedd51a340e-part4 /home xfs defaults 0 0
/dev/disk/by-id/scsi-3600508e0000000000f6ecbedd51a340e-part5 /data1 xfs defaults 0 0
/dev/disk/by-id/scsi-3600605b006a1b3a01cf0a6ee20e4a325-part1 /data2 xfs defaults 0 0
/dev/disk/by-id/scsi-3600605b006a1b3a01cf0a6ee20e4a325-part2 /data3 xfs defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs noauto 0 0
debugfs /sys/kernel/debug debugfs noauto 0 0
usbfs /proc/bus/usb usbfs noauto 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0
- 为什么每次重新启动机器时我都会得到错误的统计数据?
- 有没有任何软件包/补丁可以解决这个问题?
答案1
我不太熟悉 SLES11 SP3,但文件系统是在/etc/fstab
启动时自动安装的(取决于在那里找到的选项)。您所看到的看起来像是挂载被添加到挂载表中,但它们没有成功,因此正在使用父文件系统的状态(在您的示例中为“/”)。
当显示正确的输出和不显示正确的输出时,我都会mount
单独运行该命令。df
然后,我会通过选择一个条目(例如/boot/efi
)并检查差异来比较两者。下一步将取决于我的发现。
啊,你用你的内容更新了你的 OP /etc/fstab
,我看到所有分区都在 SCSI 驱动器上。mount
发出命令时 SCSI 子系统可能尚未完全配置。将安装移动到启动顺序的稍后位置可能会解决该问题。
尝试安装时xfs
和模块也可能不可用。vfat
如果您在上次initrd
生成 XFS 分区后添加了 XFS 分区(通过mkinitrd
或dracut
;我不确定 SLES11 SP3 使用哪一个),则这种情况很常见。这些程序扫描您正在运行的系统以查找内核模块,然后将其添加到启动脚本中,以便这些模块在启动过程的早期加载。我记得 RHEL 有一个配置文件,/etc/sysconfig/
可以在其中强制加载某些模块(例如xfs
和vfat
),但如果在正确安装文件系统时重建 initrd,则可能不需要它们。