如何知道每个solaris区占用多少磁盘空间?

时间:2009-02-23 15:05:43

标签: solaris

如果我使用df命令,我只能在Solaris服务器中看到正在耗尽多少磁盘空间。但是我想知道特定的solaris区占用多少磁盘空间

6 个答案:

答案 0 :(得分:4)

我在这些解决方案中发现的问题是它们没有考虑目录继承。是的,你会发现某个目录下有多少“空间”。但是如果你想真正找出一个区域占用多少空间,你必须走另一条路。 做一个

zonecfg -z zonename info

其中zonename是区域的名称。并查看每个inherit-pkg-dir行。

inherit-pkgdir-dir:
      dir: /lib
inherit-pkgdir-dir:
      dir: /sbin

任何具有继承的行都与区域硬链接。所以你会加倍 如果你只是做一个

,则计算全局区域
du -sh /zonepath/zonename

基本上你只需要计算任何inherit-pkg-dir行中没有列出的目录(不包括/ proc和/ tmp)。

cd /zonepath/zonename/root

du -sh /bin /dev /etc /home /kernel opt /system /var etc....

答案 1 :(得分:2)

尝试du命令

答案 2 :(得分:2)

是的 - 绝对是su来做这件事。

我能够运行:/ usr / xpg4 / bin / du -sk -h -x / zonepath / zonename 获取区域的UFS根分区中使用的空间。

例如,/ usr / xpg4 / bin / du -sk -h -x / zonepath / zonename
返回以下内容:3.5G / zonepath / zonename

在评估文件大小时,-x选项仅评估与文件操作数指定的文件具有相同设备的文件。

在使用此路径调用du时,-x操作数似乎只能起作用:/ usr / xpg4 / bin / du

这也可以显示区域中zfs连接驱动器的已用空间!我们在路径/ zoneepath / zonename / data上安装了一个zfs lun,并运行它匹配数据文件的“zfs list”输出:

#/ usr / xpg4 / bin / du -sk -h -x / zonepath / zoneneame / data
   11G / zonepath / zoneneame / data

如果你运行#/ usr / xpg4 / bin / du -sk -h -x / zonepath / zoneneame
那么您应该获得区域中已用空间的总计,例如:
  53G / zonepath / zonename

它不包括NFS连接驱动器,也不包括root不是。的所有者的目录。

我希望这有帮助!

答案 3 :(得分:1)

由于我尝试了John的解决方案和Pierre-Luc解决方案,对我有用的是:

  • 列出所有区域(来自全局区域)

tcsh>zoneadm list -civ
  ID NAME             STATUS     PATH                           BRAND    IP
   0 global           running    /                              native   shared
   1 myZone1          running    /export/zones/myZone1          native   shared
   2 myZone2          running    /export/zones/myZone2          native   shared
  • du -sk以root身份 (由于本地区域无法从全局区域读取,因此我必须以du -sk为根“

 tcsh>s du -sk /export/zones/myZone1  
 9930978 /export/zones/myZone1

答案 4 :(得分:0)

根据Solaris Operating System Managing ZFS in Solaris 10 Containers,以下命令将为您提供所需的信息。

zfs list 

答案 5 :(得分:0)

如果在zfs卷上安装区域,则可以使用zfs工具(“zfs list”)快速查看已使用的空间。

否则你将不得不使用已经发现的“du”(速度会慢得多)。