PHP disk_total_space不会测量LVM分区大小
我有一个 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脚本中获取LVM逻辑卷上的总空间和已用空间…我写了一个丑陋的小函数,它返回一个带有来自df的文件系统数据的多维数组… 每个数组包含: >文件系统 就像我说的那样,它很难看,但它有效…… function disk_space() { $cmd = 'df -P | gawk '{ printf "%st%st%st%sn",$1,$6,$2,$3 }''; $data = trim(shell_exec($cmd)); $return = array(); $lines = explode("n",$data); unset($lines[0]); foreach($lines as $line){ $return[] = explode("t",$line); } return $return; } (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |