【发布时间】:2013-08-13 17:54:21
【问题描述】:
我有一个 PHP 脚本,它需要检查磁盘的总大小。我已经成功使用了一段时间的 disk_total_space,并且刚刚移动到使用 LVM 的新服务器。 disk_total_space 现在报告完全不同的大小。我已经在第二个 LVM 服务器上重新创建了它。
df -h 在第一台服务器(CentOS 6.4,PHP v5.3.27)上显示
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg-vg_root 99G 47G 47G 50% /
tmpfs 32G 0 32G 0% /dev/shm
/dev/sda1 194M 65M 120M 36% /boot
/dev/mapper/vg-vg_backup 400G 33M 400G 1% /var/tmp
/dev/mapper/vg-vg_mysql 950G 81G 870G 9% /data
但是 disk_total_space('/dev/mapper/vg-vg_mysql') 返回 32G。事实上,无论我在命令中输入什么分区,它都会返回 32G。
在第二台服务器(Ubuntu 10.04.4LTS,PHP v5.3.6)上,我得到了同样的行为:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/batty-root 258G 217G 29G 89% /
none 4.0G 208K 4.0G 1% /dev
none 4.0G 0 4.0G 0% /dev/shm
none 4.0G 88K 4.0G 1% /var/run
none 4.0G 0 4.0G 0% /var/lock
none 4.0G 0 4.0G 0% /lib/init/rw
none 258G 217G 29G 89% /var/lib/ureadahead/debugfs
并且 disk_total_space('/dev/mapper/batty-root') 返回 4G。
在这两种情况下,它似乎都返回了 LVM 未处理的磁盘空间量。有没有办法使用 PHP 获取 LVM 分区的总大小?
【问题讨论】:
-
所以基本上这不是 PHP 的问题,这意味着它不是编程问题,这意味着它最适合 Super User ?
-
对我来说,这看起来就像是 PHP 的问题。 disk_total_space 应该返回分区的大小,但在某些情况下它不会。我很高兴得到纠正,但这对我来说似乎是一个编程问题。
-
命令行中的行为是什么?如果都一样,那就和PHP没关系了。
-
这一切都来自命令行,但我通过 Apache 得到了相同的行为。
-
我正在取消我的近距离投票,但我真的认为你可以在超级用户那里获得更多帮助。如果不确定,您可以进入聊天室询问。