Как заморозить / разморозить файловую систему ZFS, чтобы сделать аппаратные снимки - PullRequest
0 голосов
/ 14 сентября 2018

Есть ли способ заморозить / разморозить файловую систему zfs в Solaris, как и любая другая традиционная файловая система, обеспечивающая эту функцию.Мне нужно было сделать снимки аппаратного обеспечения (EMC Symmetrix Arrays).

Мне известно о том, что ZFS обеспечивает функциональность моментального снимка / восстановления, но наше требование состоит в том, чтобы делать аппаратные снимки.

Ответы [ 2 ]

0 голосов
/ 15 сентября 2018

@ AndrewHenle отвечает правильно - сегодня вам нужно размонтировать / экспортировать пул, чтобы успешно приостановить новые операции ввода-вывода.fsfreeze поддерживается большинством других широко используемых файловых систем в Linux, поэтому я не думаю, что было бы неразумно надеяться, что ZFS когда-нибудь будет поддерживать нечто подобное.На самом деле, есть запрос на поддержку fsfreeze в ZFS в Linux здесь , и он даже не выглядит настолько сложным для реализации (просто сложно проверить; -)).

Тем не менее, большинству людей, вероятно, не нужно , чтобы использовать fsfreeze, прежде чем делать снимки на уровне хранилища, поскольку это не требуется для согласованности при сбое - если ваше приложение, работающее поверх ZFS, не можетиметь дело со снимком, сделанным без замораживания файловой системы, он также не может справиться с вашей машиной, которая делает неожиданную перезагрузку.ZFS немного лучше, чем другие файловые системы в этом отношении, потому что ему не нужно воспроизводить журнал транзакций или запускать fsck после полной перезагрузки, чтобы гарантировать корректность.Возможно, это снижение производительности (необходимость воспроизведения журнала) является причиной того, что это более важно для других файловых систем.

--- EDIT ----

Я вспомнил недавнюю функцию, которую можно было использоватьреализовать что-то вроде этого, под названием zpool checkpoint.Бывший коллега реализовал это и написал краткую статью об этом здесь .

Для вашего случая использования идея заключается в том, что при съемке аппаратного снимка:

  1. Сначала вы запустите zpool checkpoint, который синхронизирует все операции ввода-вывода на диск и сохраняет копию uberblock пула (блока самого высокого уровня в дереве файловой системы), содержащего все эти изменения.Это похоже на то, как ZFS делает снимки отдельной файловой системы, но работает для всего пула.Это создаст точку сериализации, подобную той, которую вы использовали бы для создания fsfreeze, где все IO, запущенные до того, как контрольная точка должна завершиться, и все IO, запущенные после того, как она не была захвачена в контрольной точке.
  2. Тогда вы бы взялиснимок хранилища.
  3. Когда снимок хранилища будет создан, вы откажетесь от контрольной точки с zpool checkpoint --discard в работающей системе, чтобы ZFS продолжала освобождать пространство на диске, так как оно перезаписано (что невозможно, покаконтрольная точка активна, поскольку на эти данные все еще может ссылаться что-то в контрольной точке).
  4. Если вы позже восстановитесь из снимка оборудования, запустите zpool import --rewind-to-checkpoint вместо обычного zpool import, чтобы откатить состояние пула доконтрольной точки, а затем сбросьте контрольную точку с помощью zpool checkpoint --discard, так как вы не планируете откатывать пул обратно к этой точке после ее запуска (и вы хотите иметь возможность освободить пространство, занимаемое контрольной точкой).

Это имеет дополнительное преимущество перед fsfreeze в том, что он не приостанавливает операции ввода-вывода во время проверки.kpoint взят.Однако он также имеет недостатки: (а) он не используется в других файловых системах и, следовательно, немного сложнее, и (б) вы не можете легко синхронизировать его с другими событиями уровня приложения, так как это происходит просто «когда-нибудь»во время выполнения команды CLI.

0 голосов
/ 14 сентября 2018

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

Ваше требование принципиально необоснованно, если вы ожидаете, что сможете сделать моментальный снимок работающей, смонтированной файловой системы или тома с программным управлением на уровне аппаратного устройства и в результате получите образ согласованной файловой системы. Это относится к категории «Я хочу пони» .

...