wiki:technical:mdadm
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
wiki:technical:mdadm [2022/04/04 13:42] – Diman | wiki:technical:mdadm [2024/05/11 14:02] (текущий) – [Работа с программным RAID mdadm] Diman | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====Работа с программным RAID mdadm===== | + | =====Работа с программным RAID mdadm===== |
- | Эта страница целиком списана с [[http:// | + | Эта страница целиком списана с [[http:// |
- | ===Краткое описание mdadm=== | + | ====Краткое описание mdadm==== |
Управление программным RAID-массивом в Linux выполняется с помощью программы mdadm. | Управление программным RAID-массивом в Linux выполняется с помощью программы mdadm. | ||
У программы mdadm есть несколько режимов работы. | У программы mdadm есть несколько режимов работы. | ||
- | **Assemble** (сборка) | + | |
+ | ===Assemble(сборка)=== | ||
Собрать компоненты ранее созданного массива в массив. Компоненты можно указывать явно, но можно и не указывать — тогда выполняется их поиск по суперблокам. | Собрать компоненты ранее созданного массива в массив. Компоненты можно указывать явно, но можно и не указывать — тогда выполняется их поиск по суперблокам. | ||
- | **Build** (построение) | + | ===Build(построение)=== |
Собрать массив из компонентов, | Собрать массив из компонентов, | ||
- | **Create** (создание) | + | ===Create(создание)=== |
Создать новый массив на основе указанных устройств. Использовать суперблоки размещённые на каждом устройстве. | Создать новый массив на основе указанных устройств. Использовать суперблоки размещённые на каждом устройстве. | ||
- | **Monitor** (наблюдение) | + | ===Monitor(наблюдение)=== |
Следить за изменением состояния устройств. Для RAID0 этот режим не имеет смысла. | Следить за изменением состояния устройств. Для RAID0 этот режим не имеет смысла. | ||
- | **Grow** (расширение или уменьшение) | + | ===Grow (расширение или уменьшение)=== |
Расширение или уменьшение массива, | Расширение или уменьшение массива, | ||
- | **Incremental Assembly** (инкрементальная сборка) | + | ===Incremental Assembly (инкрементальная сборка)=== |
Добавление диска в массив. | Добавление диска в массив. | ||
- | **Manage** (управление) | + | ===Manage (управление)=== |
Разнообразные операции по управлению массивом, | Разнообразные операции по управлению массивом, | ||
- | **Misc** (разное) | + | ===Misc (разное)=== |
Действия, | Действия, | ||
- | **Auto-detect** (автоообнаружение) | + | ===Auto-detect (автоообнаружение)=== |
Активация автоматически обнаруживаемых массивов в ядре Linux. | Активация автоматически обнаруживаемых массивов в ядре Linux. | ||
- | ===Формат вызова=== | + | ====Формат вызова==== |
mdadm [mode] [array] [options] | mdadm [mode] [array] [options] | ||
Строка 48: | Строка 49: | ||
- | ===Настройка программного RAID-массива=== | + | ====Настройка программного RAID-массива==== |
Рассмотрим как выполнить настройку RAID-массива 10 уровня на четырёх дисковых разделах. Мы будем использовать разделы: | Рассмотрим как выполнить настройку RAID-массива 10 уровня на четырёх дисковых разделах. Мы будем использовать разделы: | ||
Строка 59: | Строка 60: | ||
В том случае если разделы иные, не забудьте использовать соответствующие имена файлов. | В том случае если разделы иные, не забудьте использовать соответствующие имена файлов. | ||
- | ===Создание разделов=== | + | ====Создание разделов==== |
Нужно определить на каких физических разделах будет создаваться RAID-массив. Если разделы уже есть, нужно найти свободные (fdisk -l). Если разделов ещё нет, но есть неразмеченное место, их можно создать с помощью программ fdisk или cfdisk. | Нужно определить на каких физических разделах будет создаваться RAID-массив. Если разделы уже есть, нужно найти свободные (fdisk -l). Если разделов ещё нет, но есть неразмеченное место, их можно создать с помощью программ fdisk или cfdisk. | ||
Строка 93: | Строка 94: | ||
/ | / | ||
- | ===Размонтирование=== | + | ====Размонтирование==== |
Если вы будете использовать созданные ранее разделы, | Если вы будете использовать созданные ранее разделы, | ||
Строка 102: | Строка 103: | ||
%# umount /dev/sdd1 | %# umount /dev/sdd1 | ||
- | ===Изменение типа разделов=== | + | ====Изменение типа разделов==== |
Желательно (но не обязательно) изменить тип разделов, | Желательно (но не обязательно) изменить тип разделов, | ||
Строка 195: | Строка 196: | ||
- | ===Создание RAID-массива=== | + | ====Создание RAID-массива==== |
Создание RAID-массива выполняется с помощью программы mdadm (ключ --create). Мы воспользуемся опцией --level, для того чтобы создать RAID-массив 10 уровня. С помощью ключа --raid-devices укажем устройства, | Создание RAID-массива выполняется с помощью программы mdadm (ключ --create). Мы воспользуемся опцией --level, для того чтобы создать RAID-массив 10 уровня. С помощью ключа --raid-devices укажем устройства, | ||
Строка 215: | Строка 216: | ||
Если вы хотите сразу создать массив, | Если вы хотите сразу создать массив, | ||
- | ===Проверка правильности сборки=== | + | ====Проверка правильности сборки==== |
Убедиться, | Убедиться, | ||
Строка 228: | Строка 229: | ||
Обратите внимание на то, как называется новый RAID-массив. В нашем случае он называется /dev/md0. Мы будем обращаться к массиву по этому имени. | Обратите внимание на то, как называется новый RAID-массив. В нашем случае он называется /dev/md0. Мы будем обращаться к массиву по этому имени. | ||
- | ===Создание файловой системы поверх RAID-массива=== | + | ====Создание файловой системы поверх RAID-массива==== |
Новый RAID-раздел нужно отформатировать, | Новый RAID-раздел нужно отформатировать, | ||
Строка 264: | Строка 265: | ||
%# mkfs.xfs -d su=64k,sw=3 /dev/md0 | %# mkfs.xfs -d su=64k,sw=3 /dev/md0 | ||
- | ===Создание конфигурационного файла mdadm.conf=== | + | ====Создание конфигурационного файла mdadm.conf==== |
Система сама не запоминает какие RAID-массивы ей нужно создать и какие компоненты в них входят. Эта информация находится в файле mdadm.conf. | Система сама не запоминает какие RAID-массивы ей нужно создать и какие компоненты в них входят. Эта информация находится в файле mdadm.conf. | ||
Строка 284: | Строка 285: | ||
%# mdadm --detail --scan --verbose | awk '/ | %# mdadm --detail --scan --verbose | awk '/ | ||
- | ===Создание точки монтирования для RAID-массива=== | + | ====Создание точки монтирования для RAID-массива==== |
Поскольку мы создали новую файловую систему, | Поскольку мы создали новую файловую систему, | ||
Строка 290: | Строка 291: | ||
%# mkdir /raid | %# mkdir /raid | ||
- | ===Изменение / | + | ====Изменение /etc/fstab==== |
Для того чтобы файловая система, | Для того чтобы файловая система, | ||
Строка 302: | Строка 303: | ||
#/ | #/ | ||
- | ===Монтирование файловой системы нового RAID-массива=== | + | ====Монтирование файловой системы нового RAID-массива==== |
Для того чтобы получить доступ к файловой системе, | Для того чтобы получить доступ к файловой системе, | ||
Строка 318: | Строка 319: | ||
%# mount /dev/md0 /raid | %# mount /dev/md0 /raid | ||
- | ===Проверка состояния RAID-массива=== | + | ====Проверка состояния RAID-массива==== |
Информация о состоянии RAID-массива находится в файле / | Информация о состоянии RAID-массива находится в файле / | ||
Строка 345: | Строка 346: | ||
cat / | cat / | ||
- | ===Проблема загрузки на многодисковых системах=== | + | ====Проблема загрузки на многодисковых системах==== |
В некоторых руководствах по mdadm после первоначальной сборки массивов рекомендуется добавлять в файл / | В некоторых руководствах по mdadm после первоначальной сборки массивов рекомендуется добавлять в файл / | ||
Строка 424: | Строка 425: | ||
%# mdadm /dev/md0 -a /dev/hde1 | %# mdadm /dev/md0 -a /dev/hde1 | ||
- | + | ====Сборка существующего массива==== | |
- | [править] | + | |
Собрать существующий массив можно с помощью mdadm --assemble. Как дополнительный аргумент указывается, | Собрать существующий массив можно с помощью mdadm --assemble. Как дополнительный аргумент указывается, | ||
Строка 432: | Строка 432: | ||
%# mdadm --assemble --scan | %# mdadm --assemble --scan | ||
- | [править] | + | ====Расширение массива==== |
Расширить массив можно с помощью ключа --grow (-G). Сначала добавляется диск, а потом массив расширяется: | Расширить массив можно с помощью ключа --grow (-G). Сначала добавляется диск, а потом массив расширяется: | ||
Строка 451: | Строка 451: | ||
Рекомендуется задать файл бэкапа на случай прерывания перестроения массива, | Рекомендуется задать файл бэкапа на случай прерывания перестроения массива, | ||
- | --backup-file=/ | + | |
При необходимости можно регулировать скорость процесса расширения массива, | При необходимости можно регулировать скорость процесса расширения массива, | ||
Строка 467: | Строка 467: | ||
%# vi / | %# vi / | ||
- | [править] | + | ====Возобновление отложенной синхронизации==== |
Отложенная синхронизация: | Отложенная синхронизация: | ||
- | Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] | + | |
- | md0 : active(auto-read-only) raid1 sda1[0] sdb1[1] | + | md0 : active(auto-read-only) raid1 sda1[0] sdb1[1] |
78148096 blocks [2/2] [UU] | 78148096 blocks [2/2] [UU] | ||
resync=PENDING | resync=PENDING | ||
Строка 478: | Строка 478: | ||
Возобновить: | Возобновить: | ||
- | echo idle > / | + | |
P.S.: Если вы увидели «active (auto-read-only)» в файле / | P.S.: Если вы увидели «active (auto-read-only)» в файле / | ||
- | md0 : active raid1 sdc[0] sdd[1] | + | |
- | [править] | + | ====Переименование массива==== |
Для начала отмонтируйте и остановите массив: | Для начала отмонтируйте и остановите массив: | ||
Строка 499: | Строка 499: | ||
%# mdadm --assemble /dev/md5 / | %# mdadm --assemble /dev/md5 / | ||
- | [править] | + | ====Удаление массива==== |
Для начала отмонтируйте и остановите массив: | Для начала отмонтируйте и остановите массив: | ||
Строка 516: | Строка 516: | ||
%# dd if=/ | %# dd if=/ | ||
- | [править] | + | ====Создание пустого массива без сихронизации данных==== |
Не каноничный метод, применять на дисках без данных! | Не каноничный метод, применять на дисках без данных! | ||
Строка 552: | Строка 552: | ||
%# cat / | %# cat / | ||
- | [править] | + | ====Дополнительная информация==== |
man mdadm (англ.) | man mdadm (англ.) | ||
Строка 564: | Строка 564: | ||
Недокументированные фишки программного RAID в Linux (рус.) | Недокументированные фишки программного RAID в Linux (рус.) | ||
- | [править] | + | ====Производительность программных RAID-массивов==== |
Adventures With Linux RAID: Part 1, Part 2 (англ.) | Adventures With Linux RAID: Part 1, Part 2 (англ.) | ||
Параметры, | Параметры, | ||
- | [править] | + | ====Разные заметки, |
BIO_RW_BARRIER - what it means for devices, filesystems, | BIO_RW_BARRIER - what it means for devices, filesystems, |
wiki/technical/mdadm.1649068945.txt.gz · Последнее изменение: 2022/04/04 13:42 — Diman