ZFS: Зеркало требуется на резервной системе?

Если я хорошо понимаю ваш запрос, вам не нужно использовать grep для переменной $ PPID , которая используется, возможно, даже при выполнении вашего последнего вызванного скрипта, но для PID последнего вызываемый скрипт: $$ .

Если вы вызовете script.sh , используя тот же bash , $ PPID будет одинаковым для всех остальных, выполнение скрипта script .sh (или Alert_notifications.sh в вашем случае).

Попробуйте изменить что-нибудь в своей команде и добавить немного контроля (если хотите):

ps -fu $USER | grep  "Alert_notification.sh" | grep -v "grep\|$$" | awk '{print $2}' | xargs kill 2> /dev/null  
  • 2> / dev / null : вам нужно пропустить сообщения об ошибках в случае, если некоторые из них не будут обнаружены. процесс
2
14.12.2015, 20:50
1 ответ

Документ Solaris ZFS Best Practices отвечает на этот вопрос:

Пул, созданный без избыточности ZFS (RAIDZ или зеркало), может только сообщать о несогласованности данных . Он не может исправить несоответствия данных . Пул, созданный без избыточности ZFS, труднее управлять, поскольку вы не можете заменить или отсоединить диски в конфигурации ZFS без избыточности .

Поскольку zfs send / recv перезаписывает данные (если используются правильные флаги), это зависит от вашей ситуации, если это вызывает беспокойство. Например, если вы переносите новые блоки каждые 5 минут, а ваш основной пул умирает через 2 минуты, вероятность повреждения намного ниже, чем когда пул резервных копий обновляется только один раз в неделю, месяц или даже дольше.

Доступность оборудования также может быть важна: что, если ваш резервный диск умирает (нет проблем, у вас все еще есть основной пул), но вы не можете заменить его в течение дня, поэтому несколько запланированных резервных копий теперь не будут работать? Избыточность также помогает на аппаратном уровне, а не только для целостности данных. Конечно, это не имеет большого значения, если у вас есть еще две такие машины, которые продолжают работать.

Альтернативой для особых случаев использования (возможен только один диск из-за ограничений пространства или порта, размер пула меньше половины максимального размера диска) может быть установка копий = 2 для пула резервных копий. Таким образом, данные дублируются внутри пула резервных копий (требуется 200% пространства), что обеспечивает целостность данных, но аппаратный сбой все равно уничтожит пул резервных копий. Тем не менее, это может быть полезно для хранения длинных внешних резервных копий, где возможны только отдельные диски, или для небольших систем. Обратите внимание, что это не работает с существующими данными, поэтому после этого требуется полная резервная копия.

Также небольшое предупреждение из связанного руководства:

Если вы сохраняете поток отправки ZFS в файле или на ленте, и этот файл будет поврежден, его будет невозможно получить , и никакие данные не подлежат восстановлению.

Это означает, что, если у вас нет веских причин не делать этого, вы должны использовать send в сочетании с receive , потому что только активные импортированные пулы можно проверить на наличие повреждений. Если вы просто хотите сохранить поток (например, если один целевой пул должен содержать несколько потоков одновременно), рекомендуется использовать zstreamdump для проверки целостности.

0
27.01.2020, 22:20

Теги

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