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

Каковы преимущества диспетчера логических томов

Каковы особенности и потенциальные преимущества Диспетчер логических томов помимо того, что подробно описано на его странице в Википедии?

Взято прямо из моей записи в блоге: http://www.standalone-sysadmin.com/blog/2008/09/introduction-to-lvm-in-linux/

Во-первых, давайте обсудим жизнь без LVM. В старые добрые времена у вас был жесткий диск. Этот жесткий диск может иметь разделы. Вы можете установить файловые системы на эти разделы, а затем использовать эти файловые системы. Поднимитесь в обе стороны. Это выглядело примерно так:

У вас есть настоящий диск, в данном случае sda. На этом диске два раздела: sda1 и sda2. Также есть неиспользуемое свободное место. На каждом из разделов имеется монтируемая файловая система. Фактический тип файловой системы произвольный. Вы могли бы назвать это ext3, reiserfs или как-нибудь еще. Важно отметить, что существует прямое взаимно однозначное соответствие между разделами диска и возможными файловыми системами.

Давайте добавим немного управления логическими томами, которое воссоздает ту же самую структуру:

Теперь вы видите те же разделы, однако над разделами есть слой, называемый «Группа томов», буквально группа томов, в данном случае разделы диска. Можно подумать об этом как о своего рода виртуальном диске, который можно разбить на разделы. Поскольку мы точно соответствуем нашей предыдущей конфигурации, вы еще не можете увидеть сильные стороны системы. Вы могли заметить, что над группой томов мы создали логические тома, которые можно рассматривать как виртуальные разделы, и именно на них мы строим наши файловые системы.

Давайте посмотрим, что произойдет, если мы добавим более одного физического тома:

Здесь у нас есть три физических диска: sda, sdb и sdc. На каждом из первых двух дисков есть один раздел, занимающий все пространство. Последний, sdc, имеет один раздел, занимающий половину диска, а половина остается нераспределенным свободным пространством.

Мы можем видеть группу томов над группой, которая включает в себя все доступные в настоящее время тома. Здесь кроется один из главных аргументов в пользу продажи. Вы можете построить логический раздел размером с сумму ваших дисков. Во многом это похоже на то, как работает RAID уровня 0, за исключением того, что чередование вообще отсутствует. Данные записываются по большей части линейно. Если вам требуется избыточность или повышение производительности, обеспечиваемое RAID, убедитесь, что логические тома размещены поверх массивов RAID. Срезы RAID здесь работают точно так же, как физические диски.

Теперь у нас есть группа томов, которая занимает 2 с половиной диска. Он разделен на два логических тома, первый из которых больше любого из дисков. Логическим томам не важно, насколько велики реальные физические диски, поскольку они видят только то, что они вырезаны из myVolumeGroup01. Как мы увидим, этот уровень абстракции важен.

Что произойдет, если мы решим, что нам нужно неиспользуемое пространство, потому что мы добавили больше пользователей?

Обычно нас ждут неприятности, если мы используем сопоставление один к одному, но с логическими томами вот что мы можем сделать:

Здесь мы взяли ранее свободное место на / dev / sdc и создали / dev / sdc2. Затем мы добавили это в список томов, которые составляют myVolumeGroup01. Как только это было сделано, мы могли при необходимости расширять любой из логических томов. Поскольку мы добавили пользователей, мы увеличили myLogicalVolume2. В этот момент, пока файловая система / home поддерживала его, мы могли увеличивать его, чтобы заполнить дополнительное пространство. Все потому, что мы отвлекли наше хранилище от физических дисков, на которых оно живет.

Хорошо, это объясняет основные причины использования логического управления томами. Поскольку я уверен, что вам не терпится узнать больше о том, как подготовить и построить свои собственные системы, вот несколько отличных ресурсов для начала:

http://www.pma.caltech.edu/~laurence/Linux/lvm.html
http://www.freeos.com/articles/3921/
http://www.linuxdevcenter.com/pub/a/linux/2006/04/27/managing-disk-space-with-lvm.html

LVM можно использовать для множества операций с дисками. Основное преимущество - возможность наращивать файловые системы на лету. Предположим, вы настраиваете сервер журналов и знаете, что в будущем у вас будет много данных. Ext3 поддерживает максимум 16 ТБ (больше в зависимости от вашего ядра и версии EL). Но что, если вы знаете, что через 2 года вам понадобится 1 ПБ хранилища? Что ж, это создает некоторые проблемы. Во-первых, ваш босс будет смотреть на вас оленьими глазами, когда вы сообщаете ему цену на это оборудование для хранения. Это приводит к другой проблеме - вам нужно начать с небольшого решения, которое можно масштабировать вверх. LVM предоставляет вам такую ​​возможность. Вы начинаете с нескольких дисков. Затем вы добавляете еще, превращаете их в логическую группу, добавляете их в первый логический том, увеличиваете размер тома и, наконец, увеличиваете файловую систему. Вуаля, у вас есть хорошая масштабируемая файловая система.

Это избавляет вас от необходимости перемещать данные с устройства, переформатировать LUN, а затем перемещать все обратно для выполнения обновления. Извините за краткость, надеюсь, что это имеет смысл.

Изменить: я также должен отметить, что если вы имеете дело с 1 ПБ, вы не захотите использовать Ext3 ... возможно, XFS.

У LVM есть ряд косвенных преимуществ. Главное, что делает LVM - абстрагировать физические диски от операционной системы. Основное преимущество этого - просто гибкость. Большинство преимуществ LVM реализуются только тогда, когда у вас есть файловая система, которая поддерживает изменение размера на лету. Основные действия LVM описаны ниже:

Системные разделы существуют на один уровень выше диска

Без LVM Linux использует разделы, физически расположенные на диске. Разделы - это прямые имена устройств. Таблица разделов находится в MBR и обычно (в случае логических расширенных разделов) в расширенной загрузочной записи (что позволяет создавать большее количество разделов). Разделы определяют размер и тип среди других атрибутов (точнее, они определяют начальный и конечный цилиндры, которые по существу определяют размер). Поскольку они так тесно привязаны к диску, настройка «правильной» схемы разбиения при установке очень важна. Если вдруг функция машины изменится, или если вы новичок и не поняли последствий разбиения на разделы, или если вы где-то недооценили использование диска или журналы конкретного приложения, изменение этого разбиения может быть обременительным. Для этого есть инструменты, но обычно вам нужно переместить данные из раздела, чтобы изменить их. Очевидно, что если у вас есть четыре раздела, изменение конечного цилиндра второго раздела влияет на начальные цилиндры третьего и четвертого разделов, и вы попадаете в беспорядочную ситуацию.

Наивный человек может выступать за использование одного большого раздела, но вы можете отказаться от него, когда вам нужно ввести квоты или изолировать мошеннические процессы, заполняющие части вашей системы (например, / var / log, / tmp и т. Д.)

Преимущества этого:

Добавление / удаление хранилища

Добавление хранилища обычно тривиально. Если вы используете аппаратный или программный RAID и добавляете больше дисков, вам, возможно, часто придется возиться с символическими ссылками, чтобы перестроить массив RAID, чтобы Linux сделал ваше новое хранилище доступным в нужных местах.

Возьмем, к примеру, большой каталог / home, который заполняется. Он существует на существующем томе RAID 1 с двумя дисками. Вы хотите добавить еще два диска. Вы устанавливаете их в аппаратной конфигурации RAID 1. Без LVM у вас есть несколько вариантов:

  1. Восстановите полный массив рейдов в конфигурации 1 + 0, которая требует перемещения данных с машины, восстановления и повторного включения.
  2. Создайте новую отдельную группу томов RAID 1. В Linux уже есть первый том RAID, смонтированный в / home, поэтому вам необходимо смонтировать второй том RAID в / home1 или аналогичном. Теперь, чтобы получить подходящие пути для пользователей, которые согласуются с первым, вам может потребоваться использовать символические ссылки, чтобы получить тот же эффект. Кроме того, это решение требует постоянного обслуживания исходного тома RAID и возможного переноса данных из исходного раздела.

С LVM вы можете просто добавить новую группу томов RAID 1 в дополнительный пул хранилища, изменить размер файловой системы (при условии, что она ее поддерживает) и вуаля, / home теперь внезапно увеличился. Вам не нужно ничего символизировать или выполнять техническое обслуживание при возможном перемещении данных из / home в / home1 или наоборот. Промойте, вымойте, повторите для будущих обновлений диска.

Онлайн-обслуживание

Большинство задач LVM при условии, что это поддерживает оборудование, можно выполнить в режиме онлайн без перезагрузки машины. Если у вас есть возможность горячей замены дисков в системе, вы можете добавить новые диски и впоследствии удалить старые (возможно, меньшие) диски, чтобы увеличить требования к системному хранилищу.

Одна из основных проблем томов LVM заключается в том, что по мере приближения к емкости фрагментация может стать проблемой, по моему опыту. Объемы> 90%, а на самом деле> 95% могут означать, что вы можете получить плохую фрагментацию на диске в зависимости от использования вашего диска и типов файлов. Редко есть что-то, о чем следует чрезмерно беспокоиться, это относится к любому типу управления томами / разделами, но это фрагментация на уровне тома, а не на разделе, который здесь вызывает беспокойство.

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

Теперь перейдем к самому вопросу: у вас есть простое создание, изменение размера и удаление томов (также называемых разделами), а еще одна приятная функция (в зависимости от вашей ситуации) - это возможность создавать моментальные снимки тома.

Несмотря на то, что вы уже выбрали лучший ответ, я хотел бы высказать свое мнение по этой теме. Исходя из своего опыта, я бы поставил под сомнение полезность LVM, если у вас есть один физический диск или даже если у вас несколько дисков (я лично никогда не использую LVM на системном диске). Однако там, где действительно незаменим LVM, находится поверх аппаратного RAID. Это позволяет четко разделить функции RAID и LVM - вы используете RAID для управления надежностью и характеристиками производительности вашего хранилища, а вы используете LVM для выделения реальных томов системе. Иногда эта функциональность перекрывается, например, LVM может обеспечивать функциональность RAID-0 и RAID-1, но я бы не рекомендовал использовать какой-либо из двух при любой серьезной сборке.

В основном RAID и LVM принадлежат друг другу, использование одного без другого обычно неоптимально.