Как удалить raid linux

Linux — управление дисками ч.2 — mdadm работа с RAID

Linux — управление дисками ч.2 — mdadm работа с RAID

Предыдущая часть:
Linux — управление дисками ч.1 — fdisk и mkfs + клонирование диска dd
http://snakeproject.ru/rubric/article.php?art=linux_fdisk_mkfs_dd_21042020

Утилита mdadm предназначена для работы с программными RAID массивами в Linux

Установка в CentOS или RedHat:
$ sudo yum install mdadm

Установка в Ubuntu или Debian:
$ sudo apt-get install mdadm

Мы удалим диск из предыдущей статьи и добавим нашей машине 3 чистых диска по 5ГБ
/dev/sdb
/dev/sdc
/dev/sdd

Создадим раздел на 2x из дисках (как рассказывал в предыдущей статье):
$ sudo fdisk /dev/sdb

$ Command (m for help): o
Created a new DOS disklabel with disk identifier 0x67bbb58e.

$ Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-10485759, default 2048):
Last sector, +sectors or +size (2048-10485759, default 10485759):

Created a new partition 1 of type ‘Linux’ and of size 5 GiB.

$ Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

$ sudo fdisk /dev/sdc
Command (m for help): o
Created a new DOS disklabel with disk identifier 0x67bbb58e.

$ Command (m for help): n

p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-10485759, default 2048):
Last sector, +sectors or +size (2048-10485759, default 10485759):

Created a new partition 1 of type ‘Linux’ and of size 5 GiB.

$ Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

Создание RAID

RAID-1:
$ sudo mdadm —create /dev/md0 —level=1 —raid-devices=2 /dev/sdb1 /dev/sdc1

или например другой уровень массива

RAID-0:
$ sudo mdadm —create /dev/md0 —level=0 —raid-devices=2 /dev/sdb1 /dev/sdc1

Получить информацию о RAID:
$ sudo fdisk -l /dev/md0
$ cat /proc/mdstat
$ sudo mdadm —detail —scan
$ sudo mdadm —detail /dev/md0

Создайте файловую систему (например ext4):
$ sudo mkfs.ext4 /dev/md0

Вы можете смонтировать ваш raid-раздел автоматически при запуске сервера

Добавьте эту строку в /etc/fstab:
/dev/md0 /mnt ext4 defaults 0 0

Смонтируем на лету:
$ sudo mount /dev/md0 /mnt

Оставим тестовые данные:
$ sudo sh -c «echo ‘test’ > /mnt/test.txt»

Замена диска в RAID

Установите «сломанный» жесткий диск в неисправное состояние:
$ sudo mdadm —manage /dev/md0 —fail /dev/sdc1

Удалить «сломанный» sdc из массива:
$ sudo mdadm /dev/md0 —remove /dev/sdc1

Подготовьте новый жесткий диск для RAID на основе выжившего:
$ sudo dd if=/dev/sdb of=/dev/sdd bs=128K conv=noerror,sync

Укажите ядру перечитать таблицу разделов нового жесткого диска:
$ sudo sfdisk -r /dev/sdd

Добавьте новый жесткий диск в RAID 1:
$ sudo mdadm —manage /dev/md0 -a /dev/sdd1

После смотрим на дебаг (подождите, пока RAID выполнит повторную синхронизацию):
$ watch —interval=1 cat /proc/mdstat

Проверяем работу, удалим живой sdb диск:
$ sudo mdadm —manage /dev/md0 —fail /dev/sdb1
$ sudo mdadm /dev/md0 —remove /dev/sdb1
$ cat /mnt/test.txt
test

Удалить массив RAID можно так:
$ sudo umount /mnt
$ sudo mdadm —stop /dev/md0

Чтобы убедиться, что он не поднимется, нужно удалить суперблоки RAID:
$ sudo mdadm —misc —zero-superblock —force /dev/sd1

Источник

Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки.

Инструменты пользователя

Инструменты сайта

Боковая панель

Как удалить RAID-массив Linux Software RAID (mdraid)

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

Также не забываем удалить упоминание об удаляемом RAID-массиве из всех конфигурационных файлов, где он упоминается. Например, стоит проверить конфигурационный файл fstab ( /etc/fstab )

Чтобы в дальнейшем система не пыталась автоматически собрать массив (например после перезагрузки) из дисков, которые участвовали в RAID-массиве, необходимо очистить супер-блоки на этих дисках, например:

В завершении, убираем ссылки на разобранный RAID-массив в /etc/mdadm/mdadm.conf (в Debian) или в /etc/mdadm.conf (в CentOS), если они делались там ранее.

Проверено на следующих конфигурациях:

Версия ОС Версия mdadm
Debian GNU/Linux 9.4 (Stretch) x86_64 v3.4 — 28th January 2016
CentOS Linux 7.5.1804 v4.0 — 2017-01-09

Автор первичной редакции:
Алексей Максимов
Время публикации: 19.06.2018 09:22

Обсуждение

«gui в линуксе». «3 сервера с убунту». Очень советую без gui.

Источник

Управление RAID-массивами с помощью mdadm в Ubuntu 16.04

RAID-массивы обеспечивают повышенную производительность и избыточность путем объединения отдельных дисков в виртуальные запоминающие устройства. В Linux утилита mdadm упрощает создание и управление программными RAID-массивами.

Предыдущий мануал помог вам создать RAID-массив с помощью mdadm в Ubuntu 16.04. В этом мануале вы узнаете, как использовать mdadm для управления массивами – в большинстве случаев это очень просто.

Требования

  • Сервер Ubuntu 16.04, настроенный по этому мануалу.
  • Один или несколько RAID-массивов (создать их можно по этому мануалу).

1: Запрос информации о RAID-устройствах

Одним из наиболее важных аспектов управления является поиск информации о структуре, компонентных устройствах и текущем состоянии массива.

Чтобы получить подробную информацию о RAID-устройстве, передайте устройство утилите mdadm в параметре -D или –detail:

sudo mdadm -D /dev/md0

Команда выведет информацию о массиве:

/dev/md0:
Version : 1.2
Creation Time : Mon Aug 8 21:19:06 2016
Raid Level : raid10
Array Size : 209584128 (199.88 GiB 214.61 GB)
Used Dev Size : 104792064 (99.94 GiB 107.31 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Mon Aug 8 21:36:36 2016
State : active
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : near=2
Chunk Size : 512K
Name : mdadmwrite:0 (local to host mdadmwrite)
UUID : 0dc2e687:1dfe70ac:d440b2ac:5828d61d
Events : 18
Number Major Minor RaidDevice State
0 8 0 0 active sync set-A /dev/sda
1 8 16 1 active sync set-B /dev/sdb
2 8 32 2 active sync set-A /dev/sdc
3 8 48 3 active sync set-B /dev/sdd

В этом выводе вы найдете уровень RAID, размер массива, состояние отдельных частей, UUID массива, компонентные устройства и их роли. Информация, представленная в этом выводе, достаточно хорошо размечена.

Чтобы получить сокращенные данные о массиве (которые удобно добавить в файл /dev/mdadm/mdadm.conf), вы можете передать флаги –brief или -b:

sudo mdadm -Db /dev/md0
ARRAY /dev/md0 metadata=1.2 name=mdadmwrite:0 UUID=0dc2e687:1dfe70ac:d440b2ac:5828d61d

Чтобы получить удобочитаемое описание RAID-устройства, используйте параметр -Q:

sudo mdadm -Q /dev/md0
/dev/md0: 199.88GiB raid10 4 devices, 0 spares. Use mdadm —detail for more detail.

Эта команда выведет ключевые данные о RAID-массиве.

2: Сбор информации о компонентах

Вы также можете использовать mdadm для запроса отдельных компонентных устройств.

Параметр -Q при использовании с компонентным устройством сообщает вам массив, в который он входит, и его роль в этом массиве:

sudo mdadm -Q /dev/sdc
/dev/sdc: is not an md array
/dev/sdc: device 2 in 4 device active raid10 /dev/md0. Use mdadm —examine for more detail.

Более подробную информацию можно получить с помощью опции -E или –examine:

sudo mdadm -E /dev/sdc
/dev/sdc:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 0dc2e687:1dfe70ac:d440b2ac:5828d61d
Name : mdadmwrite:0 (local to host mdadmwrite)
Creation Time : Mon Aug 8 21:19:06 2016
Raid Level : raid10
Raid Devices : 4
Avail Dev Size : 209584128 (99.94 GiB 107.31 GB)
Array Size : 209584128 (199.88 GiB 214.61 GB)
Data Offset : 131072 sectors
Super Offset : 8 sectors
Unused Space : before=130984 sectors, after=0 sectors
State : active
Device UUID : b0676ef0:73046e93:9d9c7bde:c80352bb
Update Time : Mon Aug 8 21:36:36 2016
Bad Block Log : 512 entries available at offset 72 sectors
Checksum : 8be1be96 — correct
Events : 18
Layout : near=2
Chunk Size : 512K
Device Role : Active device 2
Array State : AAAA (‘A’ == active, ‘.’ == missing, ‘R’ == replacing)

Эта информация аналогична той, которая отображается при использовании опции -D с устройством массива, но сфокусирована на отношении конкретного компонентного устройства к массиву.

3: Чтение информации в /proc/mdstat

Чтобы получить подробную информацию о каждом собранном массиве на вашем сервере, проверьте файл /proc/mdstat. Чаще всего это лучший способ определить текущий статус активных массивов в вашей системе:

cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10] md0 : active raid10 sdd[3] sdc[2] sdb[1] sda[0] 209584128 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU] unused devices:

Этот файл содержит очень много информации, представленной в короткой форме.

Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10] Строка Personalities описывает уровни RAID и текущую конфигурацию ядра.

Строка, начинающаяся с md0 – это начало описания устройства RAID. Строка или строки с отступом, которые идут после нее, также описывают это устройство.

. . .
md0 : active raid10 sdd[3] sdc[2] sdb[1] sda[0] . . .

В первой строке указано, что массив активен (работает без ошибок) и настроен как RAID 10. Далее перечислены компоненты, которые были использованы для сборки массива. Цифры в скобках описывают текущую «роль» устройства в массиве (это влияет на то, какие копии данных передаются устройством).

. . .
209584128 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU] . . .

Вторая строка в этом примере определяет количество блоков, предоставляемых виртуальными устройствами, версию метаданных (здесь – 1.2) и размер блока массива. Поскольку это массив RAID 10, он также содержит информацию о топологии массива (здесь массив настроен для хранения двух копий каждого фрагмента данных по типу «near»).

Элементы в квадратных скобках представляют имеющиеся в настоящее время устройства из здорового набора. Первое число в скобках указывает размер здорового массива, а второе число – количество доступных в настоящее время устройств. Следующие скобки – это визуальная индикация состояния массива, где «U» представляет здоровые устройства, а «_» – неисправные.

. . .
[>. ] resync = 0.9% (2032768/209584128) finish=15.3min speed=225863K/sec
. . .

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

Определив, какие массивы в настоящее время работают в вашей системе, вы можете предпринять следующий ряд действий.

4: Остановка массива

Чтобы остановить массив, нужно сначала размонтировать его.

Для этого введите:

sudo umount /mnt/md0

Чтобы остановить все активные массивы, введите:

sudo mdadm —stop —scan

Чтобы остановить конкретный массив, передайте его команде mdadm –stop:

sudo mdadm —stop /dev/md0

Чтобы получить доступ к остановленному массиву, вам нужно будет снова собрать его.

5: Запуск массива

Чтобы запустить все массивы, определенные в конфигурации или в /proc/mdstat, введите:

sudo mdadm —assemble —scan

Чтобы запустить конкретный массив, вы можете передать его в качестве аргумента в mdadm –assemble:

sudo mdadm —assemble /dev/md0

Это сработает, если массив определен в конфигурации.

Если же в файле конфигурации нет правильного определения массива, его все равно можно запустить, передав компонентные устройства:

sudo mdadm —assemble /dev/md0 /dev/sda /dev/sdb /dev/sdc /dev/sdd

Собрав массив, его можно смонтировать как обычно:

sudo mount /dev/md0 /mnt/md0

Теперь массив доступен в точке монтирования.

6: Добавление запасных устройств в массив

Запасные устройства можно добавить в любой массив, который поддерживает избыточность (например, RAID 1, 5, 6 или 10). Такие устройства будут использоваться массивом только в случае сбоя одного из постоянных активных устройств. Если это произойдет, массив переконфигурирует данные на запасной диск для восстановления своей работоспособности. Запасные устройства нельзя добавить в резервные массивы (RAID 0), потому что массив не сможет выдержать сбой накопителя.

Чтобы добавить запасной диск, просто передайте массив и новое устройство в команде mdadm –add:

sudo mdadm /dev/md0 —add /dev/sde

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

После добавления нового диска обновите конфигурации, чтобы отобразить новые устройства:

sudo nano /etc/mdadm/mdadm.conf

Переместите или закомменитруйте текущее определение массива:

# ARRAY /dev/md0 metadata=1.2 name=mdadmwrite:0 UUID=d81c843b:4d96d9fc:5f3f499c:6ee99294

А затем вставьте свою новую конфигурацию:

sudo mdadm —detail —brief /dev/md0 | sudo tee -a /etc/mdadm/mdadm.conf

Утилита mdadm использует новую информацию для сбора массива.

7: Увеличение количества активных устройств в массиве

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

Массивы RAID 1 или 10

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

sudo mdadm /dev/md0 —add /dev/sde

Определите текущее количество RAID-устройств в массиве:

sudo mdadm —detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Wed Aug 10 15:29:26 2016
Raid Level : raid1
Array Size : 104792064 (99.94 GiB 107.31 GB)
Used Dev Size : 104792064 (99.94 GiB 107.31 GB)
Raid Devices : 2

Total Devices : 3
Persistence : Superblock is persistent
. . .

Как видите, в этом примере массив настроен на активное использование двух устройств, а всего в массиве доступно три устройства (потому что мы добавили запасной диск).

Теперь переконфигурируйте массив, чтобы настроить его для использования дополнительного активного устройства.

sudo mdadm —grow —raid-devices=3 /dev/md0

Массив начнет перенастраиваться с дополнительным активным диском. Чтобы просмотреть ход синхронизации данных, введите:

Вы можете использовать устройство после завершения процесса.

Массивы RAID 5 или 6

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

sudo mdadm /dev/md0 —add /dev/sde

Определите текущее количество RAID-устройств в массиве:

sudo mdadm —detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Wed Aug 10 18:38:51 2016
Raid Level : raid5
Array Size : 209584128 (199.88 GiB 214.61 GB)
Used Dev Size : 104792064 (99.94 GiB 107.31 GB)
Raid Devices : 3

Total Devices : 4
Persistence : Superblock is persistent
. . .

Как видите, в этом примере массив настроен на активное использование трех устройств, а всего в массиве доступно четыре устройства (потому что мы добавили запасной диск).

Теперь переконфигурируйте массив, чтобы настроить его для использования дополнительного активного устройства. При увеличении массива RAID 5 или RAID 6 важно включить дополнительный параметр –backup-file. Он должен указывать на расположение вне массива, где будет храниться файл резервной копии, содержащий критически важную информацию.

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

sudo mdadm —grow —raid-devices=4 —backup-file=/root/md0_grow.bak /dev/md0

Следующий вывод говорит о том, что критическая информация скопирована в файл:

mdadm: Need to backup 3072K of critical section..

Массив начнет перенастраиваться с дополнительным активным диском. Чтобы просмотреть ход синхронизации данных, введите:

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

sudo resize2fs /dev/md0

Массивы RAID 0

Поскольку массивы RAID 0 не могут поддерживать запасные диски (они не смогут восстановить поврежденный массив RAID 0), вы можете добавить диск как новое активное устройство.

Сначала выясните текущее количество RAID-устройств в массиве:

sudo mdadm —detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Wed Aug 10 19:17:14 2016
Raid Level : raid0
Array Size : 209584128 (199.88 GiB 214.61 GB)
Raid Devices : 2

Total Devices : 2
Persistence : Superblock is persistent
. . .

Теперь можно увеличить количество RAID-устройств:

sudo mdadm —grow /dev/md0 —raid-devices=3 —add /dev/sdc

Вы увидите сообщение, в котором говорится, что массив изменен на RAID 4:

mdadm: level of /dev/md0 changed to raid4
mdadm: added /dev/sdc

Это нормально и ожидаемо. Массив вернется в RAID 0, когда данные будут перераспределены на все существующие диски.

Вы можете проверить процесс, набрав:

После завершения синхронизации измените размер файловой системы, чтобы использовать дополнительное пространство:

sudo resize2fs /dev/md0

8: Удаление устройства из массива

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

Сначала пометьте устройство, которое нужно удалить, как нерабочее. Вы можете проверить наличие нерабочих устройств в массиве с помощью команды mdadm –detail:

sudo mdadm —detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Wed Aug 10 21:42:12 2016
Raid Level : raid5
Array Size : 209584128 (199.88 GiB 214.61 GB)
Used Dev Size : 104792064 (99.94 GiB 107.31 GB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Thu Aug 11 14:10:43 2016
State : clean, degraded
Active Devices : 2
Working Devices : 2
Failed Devices : 1
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 64K
Name : mdadmwrite:0 (local to host mdadmwrite)
UUID : bf7a711b:b3aa9440:40d2c12e:79824706
Events : 144
Number Major Minor RaidDevice State
0 0 0 0 removed
1 8 0 1 active sync /dev/sda
2 8 16 2 active sync /dev/sdb
0 8 32 — faulty /dev/sdc

Все выделенные строки указывают, что диск больше не работает (в этом примере это /dev/sdc).

Если вам нужно удалить рабочий диск, вы можете вручную пометить его как нерабочий – с помощью опции –fail:

sudo mdadm /dev/md0 —fail /dev/sdc
mdadm: set /dev/sdc faulty in /dev/md0

Команда mdadm –detail покажет, что устройство нерабочее.

Теперь вы можете удалить его из массива с помощью команды mdadm –remove:

sudo mdadm /dev/md0 —remove /dev/sdc
mdadm: hot removed /dev/sdc from /dev/md0

Затем вы можете заменить его новым диском, используя команду mdadm –add, которая добавляет запасные устройства:

sudo mdadm /dev/md0 —add /dev/sdd
mdadm: added /dev/sdd

Массив начнет восстанавливаться, скопировав данные на новый диск.

9: Удаление массива

Чтобы удалить массив, включая все данные, которые он хранит, сначала остановите массив.

Для этого нужно демонтировать файловую систему:

sudo umount /mnt/md0

Затем остановите массив:

sudo mdadm —stop /dev/md0

Теперь можно удалить массив с помощью команды –remove:

sudo mdadm —remove /dev/md0

После удаления массива нужно использовать mdadm –zero-superblock на каждом из компонентов устройства. Это очистит суперблок md, заголовок, который mdadm использует для сборки и управления компонентными устройствами в составе массива. Если этот заголовок не удалить, это может вызвать проблемы при попытке повторно использовать диск для других целей.

Вы можете определить, что суперблок все еще присутствует в массиве, проверив столбец FSTYPE в выводе lsblk –fs:

lsblk —fs
NAME FSTYPE LABEL UUID MOUNTPOINT
sda linux_raid_member mdadmwrite:0 bf7a711b-b3aa-9440-40d2-c12e79824706
sdb linux_raid_member mdadmwrite:0 bf7a711b-b3aa-9440-40d2-c12e79824706
sdc linux_raid_member mdadmwrite:0 bf7a711b-b3aa-9440-40d2-c12e79824706
sdd
vda
├─vda1 ext4 DOROOT 4f8b85db-8c11-422b-83c4-c74195f67b91 /
└─vda15

В этом примере устройства /dev/sda, /dev/sdb и /dev/sdc, которые входили в массив, все еще содержат этот заголовок.

sudo mdadm —zero-superblock /dev/sda /dev/sdb /dev/sdc

Удалите или закомментируйте все ссылки на массив в файле /etc/fstab:

sudo nano /etc/fstab
. . .
# /dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0

Сохраните и закройте файл.

Удалите или закомментируйте все ссылки на массив в файле /etc/mdadm/mdadm.conf:

nano /etc/mdadm/mdadm.conf
# ARRAY /dev/md0 metadata=1.2 name=mdadmwrite:0 UUID=bf7a711b:b3aa9440:40d2c12e:79824706

Сохраните и закройте файл.

sudo update-initramfs -u

Устройство будет удалено из автозагрузки.

Заключение

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

Научившись создавать и управлять массивами RAID с помощью mdadm, вы можете изучить еще несколько различных направлений. Управление томами (LVM) тесно интегрируется с RAID и позволяет гибко разделить пространство на логические тома. LUKS и dm-crypt обычно используются для шифрования RAID-устройств до написания файловой системы. Linux позволяет интегрировать все эти технологии для повышения емкости хранилища.

Источник

Читайте также:  Драйвер для geforce под windows
Оцените статью