Назад | Перейти на главную страницу

как проверить физический диск в марионетке

У меня ниже скрипт linux

cre_disk=$(ls /dev/sd[b-z])
for disk in $cre_isk
do 
pvcreate $i
done

Насколько я понимаю из приведенного выше кода, он проверяет файл диска sdb, sdc..sdz. если он существует, то создайте физический том.

каковы мои требования, нужно преобразовать вышеуказанный Linux в марионетку (создание lvm). Я знаю команду для создания физического тома

physical volume{'/dev/sdb':
ensure => 'present'
}

Я не знаю, как проверить физический диск (cre_disk = $ (ls / dev / sd [b-z])). есть ли какой-либо доступный ресурс, или марионетка позаботится без каких-либо ресурсов.

ПРИМЕЧАНИЕ. Я разместил этот же вопрос в другом формате в предыдущем вопросе. Пожалуйста, не обращайте внимания на эту тему, название темы - «проверить каталог физического диска»

Переменная Фактера перегородки:

[vagrant@localhost ~]$ facter partitions
{"sda1"=>{"uuid"=>"X", "size"=>"1024000", "mount"=>"/boot"}, "sda2"=>{"size"=>"Y"}}

может использоваться в оператор if следующим образом:

if $partitions !~ /sd[b-z]1/ {
  notify{"partition does not exist":}
}

Результат

[vagrant@localhost ~]$ sudo puppet agent -t
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Caching catalog for localhost.local
Info: Applying configuration version 'X'
Notice: drive does not exist
Notice: /Stage[main]/Main/Node[default]/Notify[partition does not exist]/message: defined 'message' as 'drive does not exist'
Notice: Finished catalog run in 0.07 seconds

У вас есть несколько вариантов.

  • Вполне возможно, чтобы марионетка запускала сценарий на целевой машине. В зависимости от того, что делает скрипт, вы хотите, чтобы он не запускался более одного раза. Это был бы такой случай.

  • Вы можете добавить на целевые машины модули facter, которые будут экспортировать информацию о блочных устройствах как факты. https://github.com/CygnusNetworks/cygnus-puppet-disk-facter был бы такой модуль.