DRBD :«Не удалось смонтировать устройство [/dev/drbd0] как /mydata» при сбое или перезагрузке узла

Да, -execявляется предикатом, таким же, как и -name, и findбудет учитывать статус выхода команды и рассматривать его как ложный, если он не равен -нулю.

Но обратите внимание, что a)это относится только к форме -exec... \;, а не к форме -exec.. {} +(, которая всегда верна )и b)разветвление отдельного процесса для каждого файла или каталога медленно .

Например, будут пропущены все каталоги, содержащие файл с именемfoo.txt:

find. -type d -exec test -f {}/foo.txt \; -prune -or -print

$ mkdir -p a/{1,2,3}/{x,y,z}; touch a/{1,2,3}/{x,y,z}/a.txt
$ find. -type d -exec test -f {}/foo.txt \; -prune -or -print
... lots of files...
$ touch a/{1,2}/foo.txt a/3/{x,y}/foo.txt
$ find. -type d -exec test -f {}/foo.txt \; -prune -or -print
.
./a
./a/3
./a/3/z
./a/3/z/a.txt

Конечно, вместо статической команды test -f...можно использовать, например. path/to/some/script {}.... С GNU find (по умолчанию в Linux )вы можете использовать -execdirвместо -exec.

0
08.05.2020, 03:16
1 ответ

У вас нет ограничения по порядку, указывающего кластеру запускать файловую систему только после того, как устройство DRBD будет повышено до главного. Добавьте следующее ограничение порядка:

# pcs constraint order promote data then start drbd-FS
1
28.04.2021, 23:16

Теги

Похожие вопросы