df コマンドを使用すると、Solaris サーバーでディスク容量がどれだけ使用されているかしかわかりません。しかし、特定のsolarisゾーンが占有しているディスク容量を知りたい
6 に答える
これらのソリューションで私が見つけた問題は、ディレクトリの継承が考慮されていないことです。はい、特定のディレクトリの下にどれだけの「スペース」があるかがわかります。しかし、ゾーンがどれだけ余分なスペースを占めているかを実際に知りたい場合は、別のルートをたどる必要があります. する
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....
はい - これを行うには、間違いなく root に 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 オプションは、file オペランドで指定されたファイルと同じデバイスを持つファイルのみを評価します。
-x オペランドは、次のパスで du を呼び出した場合にのみ機能するようです: /usr/xpg4/bin/du
これは、ゾーン内の zfs 接続ドライブの使用済みスペースを表示するためにも機能しました! 1 つの zfs lun をパス /zoneepath/zonename/data にマウントし、これを実行すると、データ ファイルの「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 が所有者ではないディレクトリも含まれません。
これが役立つことを願っています!
duコマンドを試してください
ジョンのソリューションとピエール・リュックのソリューションの両方を試したので、私にとってうまくいくのは次のとおりです。
- すべてのゾーンを一覧表示します (大域ゾーンから)
:
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ルートとして
(ローカルゾーンはグローバルゾーンから読み取ることができないためdu -sk、ルートとしてそれらにアクセスする必要がありました)
:
tcsh>s du -sk /export/zones/myZone1
9930978 /export/zones/myZone1
『 Solaris Operating System Managing ZFS in Solaris 10 Containers 』によると、次のコマンドで必要な情報が得られます。
zfs list
ゾーンを zfs ボリュームにインストールすると、zfs ツール (「zfs リスト」) を使用して、使用されているスペースの量をすばやく確認できます。
それ以外の場合は、既に発見したように「du」を使用する必要があります (これははるかに遅くなります)。