Проект «SnakeProject» Михаила КозловаРегистрация

Навигация
⇒FreeBSD and Nix⇒

⇐CISCO
⇐Voice(Asterisk\Cisco)
⇐Microsoft
⇐Powershell
⇐Python
⇐SQL\T-SQL
⇐1С
⇐Общая
⇐WEB Разработка
⇐ORACLE SQL \ JAVA
⇐Мото

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{K,M,G,T,P} (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

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{K,M,G,T,P} (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/sd{b,c,d}1

 


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

© Snakeproject.ru создан в 2013 году. При копировании материала с сайта - оставьте ссылку.


Яндекс.Метрика

Goon Каталог сайтов Рейтинг@Mail.ru