Системное администрирование · 5 min read · Feb 02, 2026

Настройка полностью зашифрованной системы Raid1 LVM (Ленни) - Страница 7

Добавление второго диска

Шаг 1: Копирование схемы разделов

Итак, как только все установлено и у вас перед вами новый блестящий сервер, пришло время также добавить второй диск. До этого я использовал диск на 8 ГБ. После отключения питания я добавил новый диск на 16 ГБ. Однако этот диск не синхронизирован напрямую. Сначала нам нужно сделать несколько вещей.

Перед тем как начать изменять таблицу разделов второго диска, я сначала проверяю статус массива, выполнив эту команду

watch -n 6 cat /proc/mdstat

Я получаю вывод, похожий на этот:

Каждые 6.0с: cat /proc/mdstat                                                                                                            Вс, 30 ноя 2008 19:15:15
Личности : [raid1]
md3 : активный raid1 sda4[0]
      4208960 блоков [2/1] [U_]
md2 : активный raid1 sda3[0]
      2931776 блоков [2/1] [U_]
md1 : активный raid1 sda2[0]
      995904 блоков [2/1] [U_]
md0 : активный raid1 sda1[0]
      248896 блоков [2/1] [U_]
неиспользуемые устройства: 

Как видите, только одно из двух активных устройств raid в настоящее время используется. Это означает, что я могу (должен) добавить еще одно, чтобы убедиться, что если один диск выйдет из строя, все еще будет работать. Выйдите из мониторинга, нажав “ctrl-c”.

Мне нужно выяснить, какой жесткий диск какой (как они называются). Я выполняю:

fdisk -l

И получаю этот вывод:

test:~# fdisk -l
Диск /dev/sda: 8589 MB, 8589934592 байт
255 голов, 63 сектора/трек, 1044 цилиндра
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Идентификатор диска: 0x000d3f5d
   Устройство Загрузка      Начало         Конец      Блоки   Id  Система
/dev/sda1   *           1          31      248976   fd  Linux raid autodetect
/dev/sda2              32         155      996030   fd  Linux raid autodetect
/dev/sda3             156         520     2931862+  fd  Linux raid autodetect
/dev/sda4             521        1044     4209030   fd  Linux raid autodetect
Диск /dev/sdb: 17.1 GB, 17179869184 байт
255 голов, 63 сектора/трек, 2088 цилиндров
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Идентификатор диска: 0x00000000
Диск /dev/sdb не содержит действительной таблицы разделов
Диск /dev/md0: 254 MB, 254869504 байт
2 голов, 4 сектора/трек, 62224 цилиндра
Единицы = цилиндры по 8 * 512 = 4096 байт
Идентификатор диска: 0x00000000
Диск /dev/md0 не содержит действительной таблицы разделов
Диск /dev/md1: 1019 MB, 1019805696 байт
2 голов, 4 сектора/трек, 248976 цилиндров
Единицы = цилиндры по 8 * 512 = 4096 байт
Идентификатор диска: 0x93b342d4
Диск /dev/md1 не содержит действительной таблицы разделов
Диск /dev/md2: 3002 MB, 3002138624 байт
2 голов, 4 сектора/трек, 732944 цилиндров
Единицы = цилиндры по 8 * 512 = 4096 байт
Идентификатор диска: 0x08040000
Диск /dev/md2 не содержит действительной таблицы разделов
Диск /dev/md3: 4309 MB, 4309975040 байт
2 голов, 4 сектора/трек, 1052240 цилиндров
Единицы = цилиндры по 8 * 512 = 4096 байт
Идентификатор диска: 0x08040000
Диск /dev/md3 не содержит действительной таблицы разделов
Диск /dev/dm-0: 3001 MB, 3001085952 байт
255 голов, 63 сектора/трек, 364 цилиндра
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Идентификатор диска: 0x00000000
Диск /dev/dm-0 не содержит действительной таблицы разделов
Диск /dev/dm-1: 1019 MB, 1019805696 байт
255 голов, 63 сектора/трек, 123 цилиндра
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Идентификатор диска: 0xb604b75d
Диск /dev/dm-1 не содержит действительной таблицы разделов
Диск /dev/dm-2: 4308 MB, 4308922368 байт
255 голов, 63 сектора/трек, 523 цилиндра
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Идентификатор диска: 0x00000000
Диск /dev/dm-2 не содержит действительной таблицы разделов
Диск /dev/dm-3: 4307 MB, 4307550208 байт
255 голов, 63 сектора/трек, 523 цилиндра
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Идентификатор диска: 0x00000000
Диск /dev/dm-3 не содержит действительной таблицы разделов

Мы видим, что /dev/sda - это диск, который в настоящее время используется, а /dev/sdb - это новый диск, который я добавил сейчас. Поскольку новый диск больше (заметьте: НЕ ИСПОЛЬЗУЙТЕ МЕНЬШИЙ ДИСК!), это означает, что мы используем только частично доступное пространство на нем. Хотя при запуске raid1 мы не можем использовать больше пространства, чем на самом маленьком диске/разделе, однако если первый диск выйдет из строя, вы можете также получить больший и расширить пространство там. Выполните эту команду:

sfdisk -d /dev/sda | sfdisk /dev/sdb

Шаг 2: Изменение схемы разделов

Теперь выполните следующую команду, чтобы настроить “данные” раздел на нем. Остальные три раздела (/boot, swap, /) должны были быть достаточно большими во время установки:

cfdisk /dev/sdb

Используйте клавиши со стрелками для навигации. Выберите раздел 4 (sdb4) и затем удалите его.

Затем создайте новый раздел в свободном пространстве. Сделайте его основным и позвольте ему использовать все пространство.

Вы увидите, что создается новый “sdb4” и его тип “Linux”, но не “Linux raid autodetect”. Выберите “Тип” (по-прежнему имея выбранным sdb4) и введите в качестве типа файловой системы: FD. Теперь вы вернулись на первый экран, и тип раздела был изменен на “Linux raid autodetect”.

Теперь выберите опцию “Записать” и подтвердите это “да”. Затем вы можете выйти из инструмента cfdisk.

Шаг 3: Обнуление суперблока

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

mdadm --zero-superblock /dev/sdb1  
mdadm --zero-superblock /dev/sdb2  
mdadm --zero-superblock /dev/sdb3  
mdadm --zero-superblock /dev/sdb4

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

Шаг 4: Добавление новых разделов в массив raid

Теперь выполните эти команды:

mdadm --add /dev/md0 /dev/sdb1  
mdadm --add /dev/md1 /dev/sdb2  
mdadm --add /dev/md2 /dev/sdb3  
mdadm --add /dev/md3 /dev/sdb4

Это добавит новые разделы в соответствующие массивы и начнет их синхронизацию. Вы можете следить за процессом с помощью:

watch -n 6 cat /proc/mdstat

Шаг 5: Добавление grub на новый жесткий диск

Поскольку grub устанавливается только один раз и не дублируется вышеуказанной командой, нам нужно вручную добавить grub. Выполните:

grub

Затем выполните в командной строке grub:

root (hd1,0)  
setup (hd1)

Первая команда означает, что grub должен использовать раздел /dev/sdb1 в качестве /boot раздела. Вторая команда означает, что grub должен установить себя в загрузочный сектор /dev/sdb. Grub начинает считать жесткие диски и разделы с “0”. Таким образом, sda будет hd0, и, следовательно, sdb - это hd1.

Выйдите из grub, введя “quit”, и теперь у вас есть зашифрованная настройка raid1 с lvm. Каждый раздел может работать отдельно.

Расширение LVM

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

mdadm --grow /dev/md3 --size=max

Помните: /dev/md3 - это наш /data раздел. С помощью этой команды массив raid расширится до максимума. Перед тем как меньший жесткий диск вышел из строя, он не был установлен на максимум на большем. После этого перезагрузите систему (я знаю, есть способы без перезагрузки, но это просто упрощает задачу).

Как только вы перезагрузите, выполните эту команду:

pvresize /dev/mapper/md3_crypt

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

vgdisplay -A

Это выведет несколько вещей о LVM. Вам нужно искать эту строку:

Free PE / Size  xxxxxxx / yyyy GB

Значение “xxxxxxx” важно. Выполните следующую команду и замените “xxxxxxx” на фактическое значение. Также убедитесь, что вы используете правильное имя логического тома. Тот, который я создал, называется “DATA-DATA_MD3.”

lvextend -l +xxxxxxx /dev/mapper/DATA-DATA_MD3

Если вы не уверены в имени вашего логического тома, выполните эту команду, чтобы перечислить все мапперы:

ls /dev/mapper

Как только вы это выполните, последний шаг - увеличить фактическую файловую систему. XFS делает это очень просто:

xfs_growfs /data
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.