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

Linux LVM mirror против зеркала MD

Думаю, я помню, как делал несколько зеркал много лет назад с помощью LVM, и не помню этого «журнала». А может я сделал зеркало с mdadm и сверху поставил LVM. Это должно быть так.

  1. Зачем нужен журнал LVM, если это просто зеркало? Что там хранится? В чем его цель? Плохо ли использовать "--mirrorlog core"? Что за обратная сторона? Я не хочу иметь еще один раздел для журналов, если мне это не нужно.

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

Диски предназначены для хранения "дисков" Xen domU.

Извините за сложный не относящийся к делу "вопрос".

Мы приветствуем идеи, предложения и ссылки. Спасибо!

Лично я всегда выбираю MD + LVM. Это быстрее (MD может выполнять параллельное чтение в RAID1), и для него требуется всего 2 диска (если вы не хотите восстанавливать зеркало после каждой перезагрузки), а MD предназначен только для RAID, и он делает это очень хорошо. Кроме того, он более гибкий.

Также меня сжег LVM. В одном случае это было разделение LVM на HP-UX (не должно происходить с LVM2 в Linux), и я не мог расширить LV, потому что расширение должно было иметь такое же количество полос. Вроде разумно, но иногда ...

В другой раз это было с зеркалированием (на этот раз LVM2 в Linux), но теперь я не могу вспомнить, отказывался ли LVM делать снимок зеркального LV или расширять его, фактически сводя на нет преимущество наличия LVM в первую очередь (мы сделали это в конце концов, но с использованием lvconvert туда и обратно).

Когда зеркальная пара внезапно отключается, в любой системе могут быть некоторые блоки, которые были записаны на одно устройство, но еще не записаны на другое. Вероятно, при переупорядочении путей ввода-вывода некоторые блоки были записаны в A, но не в B, а некоторые записаны в B, но еще не в A.

Когда машина перезагружается, ей необходимо согласовать устройства. Недостаточно просто наличия двух устройств: он не будет знать, какие блоки несовместимы, и он не будет знать, какая версия была более новой.

Таким образом, программное обеспечение зеркала должно хранить немного метаданных, чтобы отслеживать это. Это называется «журналом записи».

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

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

Как я понимаю, цель журнала зеркала LVM - отслеживать блоки, которые были записаны на одно устройство, но еще не записаны на другое.

это две разные концепции:

  • LVM, как следует из названия, предназначен для управления томами. Думайте об этом как о механизме объединения нескольких томов в один (да, вы можете сказать, что это как raid0), изменения их размера, изменения размера в реальном времени, создания снимков.
  • MD предназначен для управления RAID. Добавьте несколько устройств в одно метаустройство, сделайте это метаустройство высокодоступным с помощью raid1, 5, 10 и т. Д.

LVM работает на устройствах хранения, будь то метаустройства, устройства, представленные контроллером рейда, или просто диски.

MD работает на дисках (да, можно и диски, представленные рейд-контроллером, но какой смысл? ..

LVM не предназначен для обеспечения высокой доступности вашего хранилища. И точно так же MD не для управления томами ...

Надеюсь это поможет :)

LVM пришел из других типов систем UNIX. Я использовал его на HPUX, у которого не было уровня MD Linux, когда я работал над ним 10 лет назад, не уверен, что сейчас. В этих обстоятельствах зеркалирование LVM становится полезным в ситуации, когда аппаратный RAID недоступен.

с опциями -mirrorlog mirrored и -alloc везде, с двумя дисками, вы получаете два 4M зеркальных журнала, по одному на каждом диске. Меня раздражает то, что мне приходится отменять политику для наиболее распространенной ситуации, ну да ладно.

LVM в Linux не имеет отношения к HP-UX или AIX, просто имеет те же команды пользовательского пространства. LVM в Linux внутренне использует систему DM и, следовательно, использует тот же код, что и MD. На данный момент я не вижу преимущества LVM перед MD. Для разделов, которые вы хотите быстро и не заботитесь о резервном копировании (например, разделы подкачки для гостевых виртуальных машин), LVM дает вам возможность выбрать, хотите ли вы их зеркалировать или нет, или лучше ли разделение.

К тому же добавить диск в LVM намного проще, чем в MD.