Вики IT-KB

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

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

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


unix-linux:centos:linux-how-to-create-software-raid-via-mdadm-over-multipath-disks-in-centos

Это старая версия документа!


Как создать программный RAID используя mdadm из дисковых multipath-устройств в CentOS Linux 7.2

В моём случае используется СХД MSA 1500 CS, которая подключена к двум фабрикам SAN (к двум оптическим коммутаторам). К MSA1500 по SCSI подключены 2 дисковых полки MSA20. В одну из полок установлены 10 дисков SATA 7.2K 500GB

Контроллеры MSA1500 имеют ограничение при создании RAID-массивов - максимальный объём RAID, в независимости от уровня RAID, упирается в 2TB.

Настройка СХД MSA 1500 CS

Посмотрим какие диски доступны в MSA 1500 CS

CLI-1> show disks

Disk List:   (box,bay)    (B:T:L)      Size     Speed    Units
Enclosure 5:    SATA     (0:04:00)  PROLIANT 8LCE   2.08
Enclosure 6:    SATA     (1:04:00)  PROLIANT 8LCE   2.08
   Disk601     (6,01)    (1:04:01)    500.0GB  160 MB/s  none
   Disk602     (6,02)    (1:04:02)    500.0GB  160 MB/s  none
   Disk603     (6,03)    (1:04:03)    500.0GB  160 MB/s  none
   Disk604     (6,04)    (1:04:04)    500.0GB  160 MB/s  none
   Disk605     (6,05)    (1:04:05)    500.0GB  160 MB/s  none
   Disk606     (6,06)    (1:04:06)    500.0GB  160 MB/s  none
   Disk607     (6,07)    (1:04:07)    500.0GB  160 MB/s  none
   Disk608     (6,08)    (1:04:08)    500.0GB  160 MB/s  none
   Disk609     (6,09)    (1:04:09)    500.0GB  160 MB/s  none
   Disk610     (6,10)    (1:04:10)    500.0GB  160 MB/s  none

Создаём с использованием каждого отдельного диска отдельные логический массив уровня RAID-0. Например для первого диска disk601 команда будет выглядеть следующим образом (unit, то есть RAID массивы нумеруем по порядку начиная с 0):

CLI-1> add unit 0 data="disk601-disk601" raid_level=0

First volume to be configured on these drives.
Logical Unit size                 =     476906 MB
RAID overhead                     =          0 MB
Total space occupied by new unit  =     476906 MB
Free space left on this array:    =          0 MB
Unit 0 is created successfully.

Аналогичным образом создаются отельные RAID0 массивы для других дисков:

CLI-1> add unit 1 data="disk602-disk602" raid_level=0
CLI-1> add unit 2 data="disk603-disk603" raid_level=0
...
CLI-1> add unit 9 data="disk610-disk610" raid_level=0

Проверим, что у нас в итоге получилось:

CLI-1> show disks

Disk List:   (box,bay)    (B:T:L)      Size     Speed    Units
Enclosure 5:    SATA     (0:04:00)  PROLIANT 8LCE   2.08
Enclosure 6:    SATA     (1:04:00)  PROLIANT 8LCE   2.08
   Disk601     (6,01)    (1:04:01)    500.0GB  160 MB/s  0
   Disk602     (6,02)    (1:04:02)    500.0GB  160 MB/s  1
   Disk603     (6,03)    (1:04:03)    500.0GB  160 MB/s  2
   Disk604     (6,04)    (1:04:04)    500.0GB  160 MB/s  3
   Disk605     (6,05)    (1:04:05)    500.0GB  160 MB/s  4
   Disk606     (6,06)    (1:04:06)    500.0GB  160 MB/s  5
   Disk607     (6,07)    (1:04:07)    500.0GB  160 MB/s  6
   Disk608     (6,08)    (1:04:08)    500.0GB  160 MB/s  7
   Disk609     (6,09)    (1:04:09)    500.0GB  160 MB/s  8
   Disk610     (6,10)    (1:04:10)    500.0GB  160 MB/s  9

Как видим, каждый диск теперь отнесён к отдельному unit, то есть RAID-массиву уровня 0.

Зонирование оптических коммутаторов SAN

Настраиваем зонирование на оптических свичах SAN. То есть создаём возможность доступности созданных нами RAID-0 массивов с СХД MSA1500 для FC HBA контроллера нашего файлового сервера.

Настройка CentOS Linux - Инициализация multipath-устройств

После настройки зонирования переходим на наш Linux сервер и пробуем обновить на нём информацию об устройствах доступных из SAN:

# ls -la /sys/class/scsi_host/

total 0
drwxr-xr-x.  2 root root 0 Aug 31 11:30 .
drwxr-xr-x. 48 root root 0 Aug 31 11:30 ..
lrwxrwxrwx.  1 root root 0 Aug 31 11:30 host0 -> ../../devices/pci...
lrwxrwxrwx.  1 root root 0 Aug 31 11:30 host1 -> ../../devices/pci...
lrwxrwxrwx.  1 root root 0 Aug 31 11:30 host2 -> ../../devices/pci...
lrwxrwxrwx.  1 root root 0 Aug 31 11:30 host3 -> ../../devices/pci...


# echo "- - -" > /sys/class/scsi_host/host[0-3]/scan

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

После перезагрузки увидим, что логические дисковые устройства с MSA1500 доступны в системе. Причём каждое устройство в нашем случае доступно по двум путям, типа:

# cat /proc/scsi/scsi

Attached devices:
...
Host: scsi2 Channel: 00 Id: 00 Lun: 00
  Vendor: HP       Model: MSA CONTROLLER   Rev: 7.20
  Type:   RAID                             ANSI  SCSI revision: 04
...
Host: scsi3 Channel: 00 Id: 00 Lun: 00
  Vendor: HP       Model: MSA CONTROLLER   Rev: 7.20
  Type:   RAID                             ANSI  SCSI revision: 04
...

Настройка multipath

Пример настройки DM Multipath мы уже рассматривали ранее в статье Настраиваем Device Mapper Multipathing в CentOS Linux 7.2 для FC HBA при подключении к СХД HP 3PAR 7200 (3PAR OS v. 3.2.2). Здесь повторим главные моменты тезисно.

Устанавливаем пакет device-mapper-multipath:

# yum install device-mapper-multipath

Генерируем файл в конфигурации «по умолчанию» (/etc/multipath.conf):

# mpathconf --enable

При необходимости корректируем multipath.conf по свою СХД.

Выполняем запуск службы multipathd и проверяем результат:

# service multipathd start 
# multipath -ll
...
mpathk (3600508b30091bb407da37e0e4c440045) dm-4 HP      ,MSA VOLUME
size=466G features='1 queue_if_no_path' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=50 status=active
| `- 3:0:0:1  sdk 8:160 active ready running
`-+- policy='service-time 0' prio=10 status=enabled
  `- 2:0:0:1  sda 8:0   active ready running
mpathl (3600508b30091bb40e026456edf0d0047) dm-9 HP      ,MSA VOLUME
size=466G features='1 queue_if_no_path' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=50 status=active
| `- 2:0:0:6  sdf 8:80  active ready running
`-+- policy='service-time 0' prio=10 status=enabled
  `- 3:0:0:6  sdp 8:240 active ready running
...

Как видим, наши multipath-устройства успешно нашли свои пути и «собрались».

Теперь из 20 устройств (10 логических массивов c MSA1500, каждое из которых видно системе по двум путям) мы получили 10 multipath-устройств:

# ls -la /dev/mapper/

drwxr-xr-x.  2 root root     260 Aug 31 11:30 .
drwxr-xr-x. 22 root root    4440 Aug 31 11:30 ..
crw-------.  1 root root 10, 236 Aug 31 11:30 control
lrwxrwxrwx.  1 root root       7 Aug 31 11:30 mpathk -> ../dm-4
lrwxrwxrwx.  1 root root       7 Aug 31 11:30 mpathl -> ../dm-9
lrwxrwxrwx.  1 root root       7 Aug 31 11:30 mpathm -> ../dm-0
lrwxrwxrwx.  1 root root       7 Aug 31 11:30 mpathn -> ../dm-1
lrwxrwxrwx.  1 root root       7 Aug 31 11:30 mpatho -> ../dm-3
lrwxrwxrwx.  1 root root       7 Aug 31 11:30 mpathp -> ../dm-8
lrwxrwxrwx.  1 root root       7 Aug 31 11:30 mpathq -> ../dm-5
lrwxrwxrwx.  1 root root       7 Aug 31 11:30 mpathr -> ../dm-2
lrwxrwxrwx.  1 root root       7 Aug 31 11:30 mpaths -> ../dm-6
lrwxrwxrwx.  1 root root       7 Aug 31 11:30 mpatht -> ../dm-7

Далее эти multipath-устройства мы будем использовать как диски для построения программного RAID.

Настройка CentOS Linux - Создание программного RAID

Настройка mdadm - создание программного RAID

Монтирование RAID-тома

Обсуждение

Ваш комментарий:
 
unix-linux/centos/linux-how-to-create-software-raid-via-mdadm-over-multipath-disks-in-centos.1472654124.txt.gz · Последнее изменение: 31.08.2016 17:35 — Алексей Максимов

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki