Как получить общее дисковое пространство, доступное в Solaris 10

1

Как получить общее дисковое пространство, доступное в Solaris 10?

  • Я использовал iostat -En, но это не показывает правильные данные.
  • df -h содержит дубликат информации.

Есть ли какой-нибудь общий способ найти общее дисковое пространство в Solaris 10?

прасанна
источник
iostat -Enне имеет представления о том, как используются диски (или нет), он отображает весь размер устройства.
Jlliagre
Привет jlliagre, вы правы, я дал это неправильно. Правильная команда: df -k, но она содержит дублирующую информацию. Как его удалить и получить точное место на диске.
Прасанна

Ответы:

2

Предполагая, что из-за дублирующейся информации вы имеете в виду, что dfстолбец доступного пространства сообщает об одном и том же значении для разных файловых систем ZFS, расположенных в одном и том же пуле, я бы предложил использовать zpool listкоманду для получения статистики диска, аналогичной той, которая dfвыводится для традиционных файловых систем.

например:

$ zpool list
NAME   SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
zp    97.5G  46.0G  51,5G    47%  1.00x  ONLINE  -

Обратите внимание, что представленные номера могут использоваться напрямую, только если для пула используется одно внутреннее устройство или оно построено только на сцепленных дисках. При использовании зеркалирования или любой другой формы raidz гораздо сложнее оценить реальное свободное пространство, не говоря уже о том, активированы ли сжатие и / или дедупликация ...

jlliagre
источник
Спасибо за команду, она хорошо работала в 5.11, проверит некоторые другие версии соляриса.
Прасанна
Эта команда определенно работает со всеми версиями Solaris, поддерживающими ZFS, и в более общем случае с любой ОС, поддерживающей ZFS.
Jlliagre
Если в пуле используются RAID vdevs, то это не отображает полезную емкость / свободную, а внутреннюю / свободную, что намного больше, в зависимости от уровня RAID.
Даниэль Б
@DanielB Двойная проверка, zpool отображает полезную емкость независимо от уровня рейда или его отсутствия, а не бэкэнда.
Jlliagre
Можно использовать, да. Это не место, доступное для данных, хотя. Смотрите здесь .
Даниэль Б
0

Вы можете использовать -t <filesys>опцию df, чтобы ограничить его вывод некоторыми типами файловой системы. Например, в моей системе df -h:

Filesystem      Size  Used Avail Use% Mounted on
rootfs           63G   19G   42G  31% /
/dev/sda3        63G   19G   42G  31% /
devtmpfs        2.0G     0  2.0G   0% /dev
tmpfs           2.0G  804K  2.0G   1% /run
shm             2.0G     0  2.0G   0% /dev/shm
cgroup_root      10M     0   10M   0% /sys/fs/cgroup
/dev/sda2        16G  4.0G   11G  27% /var
/dev/sda6       834G   52G  741G   7% /home

пока df -h -t ext4дает:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        63G   19G   42G  31% /
/dev/sda2        16G  4.0G   11G  27% /var
/dev/sda6       834G   52G  741G   7% /home

Если вы хотите суммировать по нескольким типам разделов, просто добавьте другой -t параметр, например:

df -h -t ext4 -t ext3 -t vfat
Леванс
источник
Это не похоже на вывод Solaris.
jww
0
df

Используйте dfкоманду, чтобы показать количество свободного дискового пространства на каждом смонтированном диске.

df -k  

Используйте df -kкоманду для отображения информации о дисковом пространстве в килобайтах.

user243290
источник
Команда df -k показывает дисковое пространство в байтах, а суммирование размера дает неверные данные, так как перечисляет каждое логическое монтирование. Команда ниже не выдаст уникальный список, мне нужно получить уникальный список монтирования, чтобы я мог получить правильный размер df -k | awk 'NR> 1' | awk '{x + = $ 2} END {print x}'
прасанна