Как найти общее место на диске у шеф-повара?
Я хотел найти общее дисковое пространство, доступное в машине через chef. Я мог бы найти способ найти отдельное пространство разделов через узел ['файловая система']['имя_устройства'], но есть ли способ найти общее дисковое пространство?
1 ответ
Нет конкретного ответа, потому что это не та концепция, которую понимает ваша ОС. Вы можете сделать простой ответ зацикливания на всех устройствах и добавить свободное пространство, но это, вероятно, приведет к неправильным данным из-за таких вещей, как виртуальные устройства (procfs, devfs, sysfs и т. Д.), Устройства tempfs, монтирование loopback и т. Д. Вероятно, вы хотите зациклить все устройства, соответствующие некоторому шаблону имени, но особенности этого шаблона зависят от вашей ОС и оборудования: node['filesystem'].select {|k, v| k =~ /something/ }.map {|k, v| v['kb_available'] }.sum
Вы можете использовать команду df -Th --total и в последней строке этой команды вывести общее выделенное пространство и общее использованное пространство.