RAID или LVM?

Автор kol1978, 12 октября 2024, 09:37:05

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

kol1978

предисловие:
Если важна скорость ввода / вывода, особенно с точки зрения времени доступа, использование LVM и / или RAID в одной из многих комбинаций может оказать некоторое влияние на производительность, и это может повлиять на решения относительно того, что выбрать. Однако эти различия в производительности действительно незначительны и будут измеримы только в нескольких случаях использования. Если важна производительность, то наилучший выигрыш можно получить при использовании невращающихся носителей информации (твердотельных накопителей или SSD); их стоимость за мегабайт выше, чем у стандартных жестких дисков, а их емкость обычно меньше, но они обеспечивают отличную производительность при произвольном доступе. Если шаблон использования включает в себя множество операций ввода-вывода, разбросанных по всей файловой системе, например, для баз данных, где регулярно выполняются сложные запросы, то преимущество их выполнения на твердотельном накопителе намного перевешивает все, что можно было бы получить, выбрав LVM вместо RAID или наоборот. В таких ситуациях выбор должен определяться другими соображениями, помимо чистой скорости, поскольку аспект производительности проще всего решить с помощью твердотельных накопителей.
Как RAID, так и LVM предоставляют бесспорные преимущества как только мы выходим за рамки простейшего случая настольного компьютера с одним жёстким диском, где схема использования не меняется с течением времени.
Есть несколько простых примеров, где вопрос выбора не встаёт. Если требуется защитить данные от аппаратных сбоев, безусловно следует создать RAID на избыточном дисковом массиве, ведь LVM просто не предназначен для решения этой проблемы. Если, с другой стороны, требуется гибкая система хранения, где тома не зависят от реальных физических дисков, RAID мало чем поможет, и естественно выбрать LVM.
Ну и конечно, есть ещё по-настоящему интересный случай, когда систему хранения нужно сделать одновременно устойчивой к аппаратным сбоям и гибкой, когда дело доходит до выделения томов. Ни RAID, ни LVM не могут удовлетворить обоим требованиям сами по себе; не страшно, в этом случае мы используем их одновременно — точнее, одно поверх другого.
----------
Цитироватьsudo lvcreate --type raid0 -L 600G -n lv_raid0 -i 2 DISKfast

||-------------------------OS----------------------------||
||-------------------------LVM---------------------------||
||  LV-1 (/)    |LV-2 (swap)|  LV 3 (/home) | LV-4 (/tmp)|| Logical Volumes(LV)
||------------------------------------------|------------||
||                  VG 1                    |    VG 2    || Volume Groups(VG)
||------------------------------------------|------------||
||  /dev/sda2 |    /dev/sda3    | /dev/sdb2 | /dev/sdd4  || Physical Volumes(PV)
||-------------------------------------------------------||

"твердотельных накопителей или SSD" - у меня большие сомнения...SSD по моему ну очень разные... :P
Допустим RAID0 из нескольких дисков - тогда вопрос что за диски? по какой "шине" подключаются? какая достижимая скорость обмена данными отдельно для каждого диска и для всех вместе в RAID0 массиве? и на каких файловых системах? какие типы и размеры файлов записи/чтения? Надежность? долговечьность?
пример:
ЦитироватьСледующие два раздела sda2 и sdc2 (около 48 ГБ) собраны в том RAID-1, md0. Это зеркало используется непосредственно для хранения корневой файловой системы.
Разделы sda3 и sdc3 собраны в том RAID-0, md1, и используются в качестве раздела подкачки, обеспечивая в общей сложности 32 ГБ пространства подкачки. Современные системы могут предоставить достаточно оперативной памяти, и нашей системе не потребуется переход в спящий режим. Таким образом, с добавлением этого объема нашей системе вряд ли не хватит памяти.
Разделы sda4 и sdc4, а также sda5 и sdc5 собраны в два новых тома RAID-1 объемом около 300 ГБ каждый, md2 и md3. Оба этих зеркала инициализированы как физические тома для LVM и назначены группе томов vg_raid.
Таким образом, этот VG содержит около 600 ГБ безопасного пространства.
Остальные разделы, sda6 и sdc6, используются непосредственно как физические тома и назначаются другому VG под названием vg_bulk, на котором, таким образом, остается примерно 460 ГБ свободного места.
Диски подключены к двум разным SATA-контроллерам для оптимизации параллельного доступа и снижения риска одновременного отказа, поэтому они представлены как sda и sdc.
 Они размечены одинаково по следующей схеме:
# sfdisk -l /dev/sda
Disk /dev/sda: 894.25 GiB, 960197124096 bytes, 1875385008 sectors
Disk model: SAMSUNG MZ7LM960
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: BB14C130-9E9A-9A44-9462-6226349CA012

Device         Start        End   Sectors   Size Type
/dev/sda1        2048       4095      2048     1M BIOS boot
/dev/sda2        4096  100667391 100663296    48G Linux RAID
/dev/sda3   100667392  134221823  33554432    16G Linux RAID
/dev/sda4   134221824  763367423 629145600   300G Linux RAID
/dev/sda5   763367424 1392513023 629145600   300G Linux RAID
/dev/sda6  1392513024 1875384974 482871951 230.3G Linux LVM

Следует помнить, что LV, созданные на vg_raid будут сохранны даже если один из дисков выйдет из строя, чего нельзя сказать о LV, созданных на vg_bulk; с другой стороны, последние будут размещаться параллельно на обоих дисках, что обеспечит более высокие скорости чтения и записи больших файлов.
По этой причине мы создадим LV lv_var и lv_home на vg_raid для размещения соответствующих файловых систем; другой большой LV, lv_movies, будет использоваться для размещения окончательных версий роликов после редактирования. Другая VG будет разбита на большой lv_rushes для данных, захваченных с видеокамер, и lv_tmp для временных файлов. Размещение рабочей области — не такой простой выбор: в то время как для этого тома нужна хорошая производительность, стоит ли она риска потери работы, если диск выйдет из строя во время сессии? В зависимости от ответа на этот вопрос соответствующий LV следует создать на одной VG или на другой.
Мы могли ограничиться одним томом RAID-1 для размещения физического тома под vg_raid. Зачем же создавать три?
*Смысл первого разделения (md0 от остальных) в обеспечении сохранности данных: данные, записанные на оба элемента зеркала RAID-1 в точности совпадают, поэтому можно обойти RAID и смонтировать один из дисков напрямую. В случае ошибки в ядре, например, или если метаданные LVM окажутся повреждены, всё равно можно загрузить минимальную систему для доступа к важным данным, таким как выделение дисков под RAID и LVM тома; метаданные можно восстановить и получить доступ к файлам снова, так что система может быть возвращена в рабочее состояние.

Обоснование второго разделения (md2 против md3) менее четкое и больше связано с признанием того, что будущее неопределенно.
При первой сборке рабочей станции точные требования к хранению не обязательно известны с абсолютной точностью; они также могут меняться с течением времени.
В нашем случае мы не можем заранее знать фактические потребности в пространстве для хранения видеозаписей и полных видеоклипов.
Если для одного конкретного клипа требуется очень большое количество переходов, а VG, предназначенный для избыточных данных, заполнен менее чем наполовину, мы можем повторно использовать часть его ненужного пространства.
 Мы можем удалить один из физических томов, скажем md3, из vg_raid и либо назначить его напрямую vg_bulk (если ожидаемая продолжительность операции достаточно коротка, чтобы мы могли смириться с временным падением производительности), либо отменить настройку RAID на md3 и интегрировать его компоненты sda5 и sdc5 в объемный VG (который увеличивается на 600 ГБ вместо 300 ГБ); логический том lv_rushes затем может быть увеличен в соответствии с требованиями.

---------------------------------------------------------------------------
у меня в этом: "/dev/sda1        2048       4095      2048     1M BIOS boot" сомнения... каким образом такую структуру устанавливать (стандартным установщиком)? и как её восстанавливать при повреждении одного из дисков?
допустим :
ЦитироватьВ BIOS-е сервера перейдем на закладку Advanced и выберем пункт SATA And RSTe Configuration
В открывшемся подменю выберем строчку конфигурации SATA Mode Selection и переведем его значение в RAID.
На строчке Storage Option ROM/UEFI Driver выберем вариант Legacy.
Выйдем из меню по клавише Escape, перейдем на вкладку Save & Exit и выберем Save Changes and Reset.
После перезагрузки системы в стартовой последовательности появится меню конфигурирования RAID, войдем в него по клавишам Ctrl-I.
Выберем команду Create RAID Volume.
В открывшемся меню зададим имя RAID-массива, уровень RAID Level (RAID 0, RAID 1, RAID 10), выберем диски, которые мы хотим добавить к этому массиву.
Перейдем на строку Create Volume и нажмем Enter.
После выхода из меню конфигурирования произойдет перезагрузка системы, теперь в ней присутствует новый диск - только что созданный нами RAID-массив, на который можно устанавливать операционную систему.
вариант вариант Legacy и аппаратный RAID не создавали...

ogost

А что хотели сказать-то? Что RAID и LVM - это разные инструменты для решения разных проблем?