LINUX.ORG.RU

Ubuntu RAID1 системного диска + бОльшего объема

 , ,


0

1

Всем привет! Ubuntu 18.04 стоит на системном диске 64gb:

sda                     8:0    0  55.9G  0 disk
├─sda1                  8:1    0   512M  0 part /boot/efi
└─sda2                  8:2    0  55.4G  0 part
  ├─ubuntu--vg-root   253:0    0  54.4G  0 lvm  /
  └─ubuntu--vg-swap_1 253:1    0   980M  0 lvm

Есть второй диск sdd:

sdd                     8:48   0 223.6G  0 disk
└─sdd1                  8:49   0 223.6G  0 part /mnt/cloud2

Раздел на sdd создан, но диск пустой.

Хочу сделать зеркалирование (raid1) системного диска sda на sdd. Чуть позже избавлюсь от sda и заменю его таким же объемом как sdd (256gb), чтобы в последствии снова сделать raid1 между sdd и новым (вместо sda). Я так понял, что лучше зеркалировать именно разделы диска? Знатоки, подскажите плз по шагам, как не ошибиться ? Делать буду впервые, сервак рабочий, боюсь, что могу накосячить. Мануалы пересмотрел, в принципе все понятно, но лучше лишний раз хочу услышать напутствия как все правильно сделать. Заранее всем большое спасибо!


Я так понял, что лучше зеркалировать именно разделы диска?

Да.

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

  1. полный бэкап
  2. второй бэкап, лучше на другом уровне, нежели первый
  3. эксперименты

в принципе все понятно, но лучше лишний раз хочу услышать напутствия

Ума не приложу, в каком формате ты ждёшь ответ, но пусть будет «удачи».

t184256 ★★★★★
()
Ответ на: комментарий от t184256

Я так понял, что лучше зеркалировать именно разделы диска?

Да.

Почему? И как это вяжется, например, с функционалом HW RAID контроллеров?

ПыСы. С остальным - согласен.

bugfixer ★★★★★
()
Последнее исправление: bugfixer (всего исправлений: 1)
Ответ на: комментарий от bugfixer

Почему?

Даёт приемлемый уровень гибкости (а не курильщика, как LVM), у ТСа не будет потом вопросов, как ему теперь грузиться и т.п.

И как это вяжется, например, с функционалом HW RAID контроллеров?

Как и любой нормальный lin-админ, никак.

t184256 ★★★★★
()
Ответ на: комментарий от t184256

Преимущество аппаратного RAID в том, что инструкции обеспечивающие функционирование RAID уже присутствуют аппаратно в самом RAID контроллере.

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

С MDADM работать будет и даже довольно быстро, но в случае больших дисковых массивов и большого IO лучше использовать аппаратный RAID, но именно аппаратный, полноценный.

kostik87 ★★★★★
()
Ответ на: комментарий от t184256

Ну печально, что это есть у тебя. Ты к доктору сходи.

В случае RAID нужно высчитывать контрольные суммы записываемых блоков. Рассчитывать куда и что записывать (на какой диск), опять же производить несколько операций записи, проверять контрольные суммы блоков и так далее.

Это всё может делать и процессор.

Но для реализации этих механизмов ему нужно переключиться на них.

Это всё время.

Для этого и придуманы RAID контроллеры. Процессор отправляет на него порцию данных и с ними уже работает RAID контроллер.

В нём минимум инструкций и ему не нужно переключаться между функциями RAID и реализацией прочих операций для клиентских приложений.

Чем больше операция записи и чтения - тем больше сказывается то, что это делает процессор, а не контроллер для этого предназначенный.

Для высоконагруженного RAID использование аппаратного RAID контроллера даст выигрыш в IOPS.

RAID контроллер нужен в первую очередь не там, где записываются большие объёмы информации или считываются, а там где число операций чтения и записи очень высоко. Ну и объём массива тоже влияет.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 3)
Ответ на: комментарий от t184256

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

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

kostik87 ★★★★★
()
Ответ на: комментарий от t184256

Нет, достался кластер серверов виртуализации, у которого хранилище собрано на программном MDADM, Intel Xeon и прочее, но IOPS тормозит.

На более старом кластере с апаратным RAID всё хорошо. Доступ к дискам виртуальных машин не тормозит.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

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

Сильное утверждение. Просадка будет именно в необходимости гонять одни и те же данные по PCIe несколько раз. А процы нынче быстры. Ну, и там ещё куча нюансов имеется.

bugfixer ★★★★★
()
Ответ на: комментарий от t184256

Даёт приемлемый уровень гибкости (а не курильщика, как LVM), у ТСа не будет потом вопросов, как ему теперь грузиться и т.п.

А мне не надо сейчас избавляться от LVM? Меня больше всего и пугает, как загрузка потом осуществится.

alvian
() автор топика
Последнее исправление: alvian (всего исправлений: 1)

У тебя же LVM

  • Создаёшь на sdd два раздела: boot и lvm
  • вносишь новый lvm раздел в группу
  • настраиваешь lvm зеркалирование ubuntu–vg-root
  • создай swap_2 раздел на sdd, подключи его (‘swapon’), отключи swap_1 (‘swapoff’), настрой fstab
  • поепаться с переносом boot
  • добавить третий диск, переделать зеркалирвание ubuntu–vg-root
  • вывести sda из группы lvm
  • отключить sda

Всё это повторить несколько раз в virtualbox.

З.Ы.: Если используется ext4 на корне, то заранее подумать о переносе данных на другой раздел.

AlexVR ★★★★★
()
Ответ на: комментарий от alvian

А мне не надо сейчас избавляться от LVM?

Зачем? Он тебе почти на горячую позволит данные переносить с диска на диск. Время простоя: физически подключить/отключить диски. Ну и старый диск стоит не убирать, а использовать под бекапы и прочие маломеняющиеся данные.

AlexVR ★★★★★
()
Ответ на: комментарий от kostik87

Преимущество аппаратного RAID в том, что инструкции обеспечивающие функционирование RAID уже присутствуют аппаратно в самом RAID контроллере.

С MDADM работать будет и даже довольно быстро, но в случае больших дисковых массивов и большого IO лучше использовать аппаратный RAID, но именно аппаратный, полноценный.

Это неактуально уже лет как 25. Ну хорошо, 20.

Dimez ★★★★★
()
Последнее исправление: Dimez (всего исправлений: 1)
Ответ на: комментарий от kostik87

Это всё может делать и процессор.

Он это и так делает. Контрольная сумма рассчитывается один раз, дальше — DMA.

Для высоконагруженного RAID использование аппаратного RAID контроллера даст выигрыш в IOPS.

Давай ссылку на тесты. Только на современные тесты, а не 2000-го года, когда ещё в ходу были PIO.

Алсо, у ТС-а сервер на 64 Гб, какой ещё высоконагруженный RAID?

Aceler ★★★★★
()
Ответ на: комментарий от AlexVR

А можно просто так ?

  1. Создаю на новом диске 2 раздела, напр. в ext4
  2. boot/efi командой cp в один раздел копирую
  3. корень старого диска командой cp в другой раздел копирую Меняю UUID в /etc/fstab на новом диске. Отключаю старый диск. В BIOS выбираю новый и гружусь. Или так не пойдет?

Сейчас у меня на старом диске sda1 - vfat, а основной раздел LVM

alvian
() автор топика
Последнее исправление: alvian (всего исправлений: 2)
Ответ на: комментарий от alvian

Всё это ты будешь делать на выключенном сервере. И смысл какой? Сейчас у тебя очень гибкая система. LVM решает все необходимые тебе задачи кроме одной (копирование загрузочного раздела для UEFI). Разберись с LVM!!! И добавляй диски по мере необходимости.

Подводные камни, что вижу:

  1. Если на первом разделе LVM всё пространство распределено. То не хватит чуть-чуть для преобразования ubuntu–vg-root в зеркалируемый. Поэтому вначале надо будет переместить swap на новый диск.
  2. На маленьком разделе ext4 мало inode. И увеличение размера раздела их не добавляет (с LVM ты всегда можешь увеличить раздел на лету)

З.Ы.: Могу дать очень важный совет. Для любого компа с Linux, который будет использоваться очень долго используй LVM. Всегда будет простой механизм увеличения разделов, их переноса, настройки ssd-кеша.

AlexVR ★★★★★
()
Ответ на: комментарий от kostik87

использование аппаратного RAID контроллера даст выигрыш в IOPS

Использование высокопроизводительного аппаратного RAID.

Всегда было полно моделей аппаратных RAID'ов с весьма низкой производительностью. Да, отдельный, специализированный процессор, но медленный. Если вы с такими не сталкивались, вам повезло.

И смысл их в том, что они делают RAID совсем без участия операционной системы и работают в паре с корзиной с индикацией. За счёт этого совсем низкоквалифицированный персонал в состоянии оперативно заменить накопитель.

mky ★★★★★
()
Ответ на: комментарий от alvian

Ну так и сделай. LVM для того и придумали.

Ещё раз. у тебя две задачи:

  1. Переместить LVM-разделы на новые диски.
    • В LVM есть всё для переноса, расширения, резервирования разделов.
    • Если оставишь место, то будут снепшоты для быстрых бекапов и возможность дальнейшего развития.
  2. Перенести загрузку UEFI на новые диски.
    • Всё только ручками: скопировать раздел, зарегистрировать диск в списке загрузки.

З.Ы.: Тренируйся на кошках (VirtualBox).

AlexVR ★★★★★
()
Ответ на: комментарий от alvian

Что-то я окончательно запутался, что мне делать. Учитывая, что делаю это впервые. Поставил VirtualBox, эксперементирую.

На нем фактически копия реальной системы. sda диск с Ubuntu который я хочу изъять из системы и 2 новых SSD на которые хочу lvm + raid1

Прочитал кучу документации, инструкций и пр, но как быть так и не понял, что сначала делать, собрать raid1 из 2-х дисков на 2 раздела и переносить систему?

В добавок ко всему на Ubuntu еще куча серверного ПО стоит. И думается мне, что без выключения все равно качественно не перенести?

alvian
() автор топика