- Установка на программный RAID
- Создание RAID-массива
- Установка системы
- Восстановление
- Удаление RAID-массива
- Настройка оповещения
- Installing via the GUI
- Configuring the RAID
- Boot Loader
- Boot from Degraded Disk
- Verify the RAID
- Troubleshooting
- Swap space doesn’t come up, error message in dmesg
- Using the mdadm CLI
- Checking the status of your RAID
- Disk Array Operation
- Known bugs
- Resources
- Программный RAID 1 для установки Ubuntu Server 20.10
- Похожие посты:
Установка на программный RAID
RAID (избыточный массив независимых дисков) — технология виртуализации данных, которая объединяет несколько дисков в логический элемент для повышения надёжности (кроме RAID 0) и увеличения производительности. Чтобы «поднять» RAID-массив, вам не понадобится приобретать RAID-контроллер. Такой массив не привязан к железу и в случае необходимости может быть перенесён на другой сервер с ОС Linux.
Вместе с тем важно помнить, что RAID не является заменой резервного копирования и не исключает резервирование данных, так как, в данном случае, защищает только от выхода из строя одного из дисков. Данные могут быть потеряны и в результате сбоя файловой системы или случайного удаления. Кроме того, при восстановлении RAID-массива есть вероятность выхода из строя второго диска в результате его интенсивного использования.
Для установки Calculate Linux на программный RAID-массив понадобится предварительно разбить один из дисков на разделы, скопировать таблицу разделов на остальные жёсткие диски и создать RAID-массив из одинаковых разделов. В примере описано создание массива RAID 5 на трёх дисках /dev/sda , /dev/sdb и /dev/sdc . Вместо RAID 5 вы можете использовать любой другой RAID-массив.
Создание RAID-массива
Создайте на одном из дисков два раздела — BIOS boot и раздел для RAID. Для этого воспользуйтесь утилитой fdisk :
Далее введите следующий текст:
g¶ n¶ ¶ ¶ +50M¶ t¶ 4¶ n¶ ¶ ¶ ¶ t¶ 2¶ 29¶ w¶
Символ «¶» означает перевод строки. В результате будет создана таблица разделов GPT и два раздела: «BIOS boot» (50 Мб) и раздел под RAID.
Можно воспользоваться готовой командой, подставив вместо /dev/sda свой диск:
Добро пожаловать в fdisk (util-linux 2.30.2). Изменения останутся только в памяти до тех пор, пока вы не решите записать их. Будьте внимательны, используя команду write. Команда (m для справки): Created a new GPT disklabel (GUID: 3AF4A8EF-7D70-4E98-B340-7D8BFCFD1A66). Команда (m для справки): Номер раздела (1-128, default 1): Первый сектор (2048-23437770718, default 2048): Последний сектор + число секторов или + размер (2048-23437770718, default 23437 Создан новый раздел 1 с типом 'Linux filesystem' и размером 50 MiB. Команда (m для справки): Выбранный раздел 1 Тип раздела (введите L для получения списка типов разделов): Тип раздела 'Linux filesystem' изменен на 'BIOS boot'. Команда (m для справки): Номер раздела (2-128, default 2): Первый сектор (104448-23437770718, default 104448): Последний сектор + число секторов или + размер (104448-23437770718, default 234 Создан новый раздел 2 с типом 'Linux filesystem' и размером 10.9 TiB. Команда (m для справки): Номер раздела (1,2, default 2): Тип раздела (введите L для получения списка типов разделов): Тип раздела 'Linux filesystem' изменен на 'Linux RAID'. Команда (m для справки): Таблица разделов была изменена. Вызывается ioctl() для перечитывания таблицы разделов. Синхронизируются диски.
Можно проверить разметку диска, выполнив:
Диск /dev/sda: 10.9 TiB, 12000138625024 байт, 23437770752 секторов Единицы: секторов по 1 * 512 = 512 байт Размер сектора (логический/физический): 512 байт / 4096 байт Размер I/O (минимальный/оптимальный): 4096 байт / 4096 байт Тип метки диска: gpt Идентификатор диска: 3AF4A8EF-7D70-4E98-B340-7D8BFCFD1A66 Устр-во начало Конец Секторы Размер Тип /dev/sda1 2048 104447 102400 50M BIOS boot /dev/sda2 104448 23437770718 23437666271 10.9T Linux RAID
Перенесите таблицу разделов на остальные диски массива. Для этого скопируйте таблицу разделов /dev/sda на /dev/sdb и пересоздайте на sdb UUID-таблицы:
Скопируйте таблицу разделов /dev/sda на /dev/sdc и пересоздайте на sdc UUID-таблицы:
mdadm: array /dev/md0 started.
Процесс формирования массива вы можете просмотреть, выполнив:
Personalities : [raid6] [raid5] [raid4] md0 : active raid5 sdc2[3] sdb2[1] sda2[0] 23437403136 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_] [>. ] recovery = 0.1% (20175232/11718701568) finish=943.1min speed=206732K/sec bitmap: 0/88 pages [0KB], 65536KB chunk unused devices:
Для ускорения операции синхронизации дисков увеличьте предел максимальной скорости синхронизации данных:
echo 10000000 > /proc/sys/dev/raid/speed_limit_max
Проверьте разметку дисков:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 10.9T 0 disk ├─sda1 8:1 0 50M 0 part └─sda2 8:2 0 10.9T 0 part └─md0 9:0 0 21.8T 0 raid5 sdb 8:16 0 10.9T 0 disk ├─sdb1 8:17 0 50M 0 part └─sdb2 8:18 0 10.9T 0 part └─md0 9:0 0 21.8T 0 raid5 sdc 8:32 0 10.9T 0 disk ├─sdc1 8:33 0 50M 0 part └─sdc2 8:34 0 10.9T 0 part └─md0 9:0 0 21.8T 0 raid5
Установка системы
Установка Calculate Linux на программный RAID выполняется аналогично установке на обычный диск. Программа сама выполнит разбиение RAID-массива на разделы. Для установки достаточно выполнить:
После установки системы компьютер можно перезагрузить.
Восстановление
В случае выхода из строя одного из дисков RAID загрузка системы может происходить намного дольше. Это связано с тем, что загрузчик ожидает, когда RAID будет полностью построен.
После замены повреждённого диска (например, /dev/sdb ) создайте на нём такую же таблицу разделов, скопировав из одного из дисков (например, /dev/sda ):
После этого добавьте раздел диска в массив:
Для ускорения операции синхронизации дисков увеличьте предел максимальной скорости:
echo 10000000 > /proc/sys/dev/raid/speed_limit_max
При замене вышедшего из строя диска на диск большего размера оставшееся место можно также использовать под новые разделы.
Удаление RAID-массива
Для удаления массива остановите RAID и удалите метаданные с разделов:
mdadm —zero-superblock /dev/sda2 /dev/sdb2 /dev/sdc2
Настройка оповещения
Для того, чтобы своевременно получать информацию о сбоях в работе RAID-массива, настройте оповещение через электронную почту.
В качестве отправителя почты может быть использован любой SMTP-сервер — например, , входящий в состав Calculate Linux Desktop. Для его настройки выполните:
Configuring pkg. * Setting /etc/nullmailer/me * Setting /etc/nullmailer/defaultdomain
Затем укажите SMTP-сервер, через который будут отправляться письма:
Запустите демон и добавьте его в автозапуск:
Укажите почтовый адрес отправителя и получателя:
MAILADDR входящий@почтовый.адрес MAILFROM исходящий@почтовый.адрес
Для проверки отправьте тестовое письмо:
mdadm —monitor /dev/md0 —test —oneshot
Installing via the GUI
Warning: the /boot filesystem cannot use any softRAID level other than 1 with the stock Ubuntu bootloader. If you want to use some other RAID level for most things, you’ll need to create separate partitions and make a RAID1 device for /boot.
Warning: this will remove all data on hard drives.
1. Select «Manual» as your partition method
2. Select your hard drive, and agree to «Create a new empty partition table on this device ?»
3. Select the «FREE SPACE» on the 1st drive then select «automatically partition the free space
4. Ubuntu will create 2 partitions: / and swap, as shown below:
5. On / partition select «bootable flag» and set it to «on»
6. Repeat steps 2 to 5 for the other hard drive
Configuring the RAID
- Once you have completed your partitioning in the main «Partition Disks» page select «Configure Software RAID»
- Select «Yes»
- Select «Create new MD drive»
- Select RAID type: RAID 0, RAID 1, RAID 5 or RAID 6
- Number of devices. RAID 0 and 1 need 2 drives. 3 for RAID 5 and 4 for RAID 6.
- Number of spare devices. Enter 0 if you have no spare drive.
- select which partitions to use..
- Repeat steps 3 to 7 with each pair of partitions you have created.
- Filesystem and mount points will need to be specified for each RAID device. By default they are set to «do not use».
- Once done, select finish.
Boot Loader
In case your next HDD won’t boot then simply install Grub to another drive:
Boot from Degraded Disk
- Additionally, this can be specified on the kernel boot line with the bootdegraded=[true|false]
- You also can use #dpkg-reconfigure mdadm rather than CLI!
Verify the RAID
- shut-down your server
- remove the power and cable data of your first drive
- start your server and see if your server can boot from a degraded disk.
Troubleshooting
Swap space doesn’t come up, error message in dmesg
Provided the RAID is working fine this can be fixed with:
sudo update-initramfs -k all -u
Using the mdadm CLI
For those that want full control over the RAID configuration, the mdadm CLI provides this.
Checking the status of your RAID
Two useful commands to check the status are:
Personalities : [raid1] [raid6] [raid5] [raid4] md5 : active raid1 sda7[0] sdb7[1] 62685504 blocks [2/2] [UU] md0 : active raid1 sda1[0] sdb1[1] 256896 blocks [2/2] [UU] md6 : active raid5 sdc1[0] sde1[2] sdd1[1] 976767872 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]
From this information you can see that the available personalities on this machine are «raid1, raid6, raid4, and raid5» which means this machine is set-up to use raid devices configured in a raid1, raid6, raid4 and raid5 configuration.
You can also see in the three example meta devices that there are two raid 1 mirrored meta devices. These are md0 and md5. You can see that md5 is a raid1 array and made up of disk /dev/sda partition 7, and /dev/sdb partition 7, containing 62685504 blocks, with 2 out of 2 disks available and both in sync.
The same can be said of md0 only it is smaller (you can see from the blocks parameter) and is made up of /dev/sda1 and /dev/sdb1.
md6 is different in that we can see it is a raid 5 array, striped across three disks. These are /dev/sdc1, /dev/sde1 and /dev/sdd1, with a 64k «chunk» size or write size. Algorithm 2 shows it is a write algorithm pattern, which is «left disk to right disk» writing across the array. You can see that all three disks are present and in sync.
sudo mdadm --query --detail /dev/md*
Replace * with the partition number.
Disk Array Operation
Note: You can add, remove disks, or set them as faulty without stopping an array.
Where /dev/md0 is the array device.
2. To remove a disk from an array:
sudo mdadm --remove /dev/md0 /dev/sda1
Where /dev/md0 is the array device and /dev/sda is the faulty disk.
sudo mdadm --add /dev/md0 /dev/sda1
Where /dev/md0 is the array device and /dev/sda is the new disk. Note: This is not the same as «growing» the array!
4. Start an Array, to reassemble (start) an array that was previously created:
ddadm will scan for defined arrays and start assembling it.
5. To track the status of the array as it gets started:
Known bugs
Ubuntu releases starting with 12.04 does not support nested raids like levels 1+0 or 5+0 due to an unresolved issue https://bugs.launchpad.net/ubuntu/+source/mdadm/+bug/1171945
Resources
Installation/SoftwareRAID (последним исправлял пользователь c-50-152-255-153 2015-09-12 06:06:22)
The material on this wiki is available under a free license, see Copyright / License for details
You can contribute to this wiki, see Wiki Guide for details
Программный RAID 1 для установки Ubuntu Server 20.10
В этой статье рассказывается о том, как сконфигурировать программный RAID массив с помощью мастера установки и настройки Ubuntu Server на примере RAID 1 (зеркало).
Во время установки системы в разделе Guided storage configuration необходимо выбрать пункт Custom storage layout
Попадаем в раздел Storage configuration. Здесь у нас отображаются 2 наших жёстких диска
Жмём на первый и выбираем пункт Use As Boot Device
Также жмём на второй и выбираем пункт Add As Another Boot Device
Теперь в пункте USED DEVICES у нас отображаются оба жёстких диска с разделом bios_grub — 1MB
Затем снова жмём на первый и выбираем пункт Add GPT Partition
Создаём раздел диска 256M для /boot, но оставим его неформатированным
Затем также создадим ещё 2 раздела для swap и корня — 1GB и оставшееся место на диске, и тоже оставим их неформатированными
Эти же действия проделаем и со вторым диском
Теперь переходим в пункт Create software RAID (md) и здесь настроим MD диск md0. В устройствах выберем partition 2 на обоих жёстких дисках, и режим у них должен быть active.
Таким же образом создадим диск md1 для partition 3 и md2 для partition 4 и на выходе получим связанные разделы software RAID 1
Далее жмём на md0 (new) и выбираем пункт Add GPT Partition
выбираем формат ext4 и Mount /boot
Таким же образом сделаем для md1 (new) с форматом swap и md2 (new) с форматом ext4 и Mount / (корень).
Таким образом мы объединили разделы жётских дисков в массив RAID 1 (зеркало)
Затем жмём Готово
и подтверждаем изменения, нажав Продолжить
После этого продолжаем установку системы как обычно.
Когда установка системы завершится и машина перезагрузится, запустим команду:
Консоль покажет, что массив работает в активном состоянии.