У меня ниже скрипт 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 был бы такой модуль.