Администрирование систем Linux. Знакомство с технологией резервирования каналов передачи данных
Оригинал: Introduction to multipathing
Автор: Paul Cobbaut
Дата публикации: 12 марта 2015 г.
Перевод: A. Панин
Дата перевода: 30 марта 2015 г.
Глава 13. Знакомство с технологией резервирования каналов передачи данных
13.1. Установка необходимых программных компонентов
В дистрибутивах RHEL и CentOS необходимо установить пакет программного обеспечения с именем device-mapper-multipath.
yum install device-mapper-multipath
После установки этого пакета в директории /usr/share/doc/device-mapper-multipath-0.4.9/ появится шаблон файла конфигурации с именем multipath.conf.
Файл конфигурации /etc/multipath.conf не будет создан до тех пор, пока вы не проведете инициализацию специализированного демона с помощью утилиты mpathconf.
[root@server2 ~]# mpathconf --enable --with_multipathd y
Starting multipathd daemon: [ OK ]
[root@server2 ~]# wc -l /etc/multipath.conf
99 /etc/multipath.conf
13.2. Настройка механизма резервирования каналов передачи данных
Теперь вы можете либо вручную отредактировать файл /etc/multipath.conf, либо использовать утилиту mpathconf для его автоматического редактирования.
[root@server2 ~]# grep user_friendly_names /etc/multipath.conf
user_friendly_names yes
# user_friendly_names yes
[root@server2 ~]# mpathconf --enable --user_friendly_names n
[root@server2 ~]# grep user_friendly_names /etc/multipath.conf
user_friendly_names no
# user_friendly_names yes
[root@server2 ~]# mpathconf --enable --user_friendly_names y
[root@server2 ~]# grep user_friendly_names /etc/multipath.conf
user_friendly_names yes
# user_friendly_names yes
13.3. Сетевые соединения
В данном примере используются три сетевых соединения, поэтому следует убедиться в том, что целевой сервер iSCSI доступен посредством каждого из соединений.
root@server1 tgt]# ifconfig | grep -B1 192.168
eth1 Link encap:Ethernet HWaddr 08:00:27:4E:AB:8E
inet addr:192.168.1.98 Bcast:192.168.1.255 Mask:255.255.255.0
--
eth2 Link encap:Ethernet HWaddr 08:00:27:3F:A9:D1
inet addr:192.168.2.98 Bcast:192.168.2.255 Mask:255.255.255.0
--
eth3 Link encap:Ethernet HWaddr 08:00:27:94:52:26
inet addr:192.168.3.98 Bcast:192.168.3.255 Mask:255.255.255.0
Это же утверждение справедливо и для инициатора, поддерживающего технологию резервирования каналов передачи данных.
[root@server2 ~]# ifconfig | grep -B1 192.168
eth1 Link encap:Ethernet HWaddr 08:00:27:A1:43:41
inet addr:192.168.1.99 Bcast:192.168.1.255 Mask:255.255.255.0
--
eth2 Link encap:Ethernet HWaddr 08:00:27:12:A8:70
inet addr:192.168.2.99 Bcast:192.168.2.255 Mask:255.255.255.0
--
eth3 Link encap:Ethernet HWaddr 08:00:27:6E:99:9B
inet addr:192.168.3.99 Bcast:192.168.3.255 Mask:255.255.255.0
13.4. Запуск системных служб multipathd и iscsi
Пришло время запустить (или перезапустить) системные службы multipathd и iscsi:
[root@server2 ~]# service multipathd restart
Stopping multipathd daemon: [ OK ]
Starting multipathd daemon: [ OK ]
[root@server2 ~]# service iscsi restart
Stopping iscsi: [ OK ]
Starting iscsi: [ OK ]
Ниже приведен вывод утилиты fdisk в случае использования в файле конфигурации демона значения yes параметра friendly_names. Три последних устройства являются используемыми устройствами с возможностью резервирования каналов передачи данных.
[root@server2 ~]# fdisk -l | grep Disk
Disk /dev/sda: 42.9 GB, 42949672960 bytes
Disk identifier: 0x0004f229
Disk /dev/sdb: 1073 MB, 1073741824 bytes
Disk identifier: 0x00000000
Disk /dev/sdc: 1073 MB, 1073741824 bytes
Disk identifier: 0x00000000
Disk /dev/sdd: 1073 MB, 1073741824 bytes
Disk identifier: 0x00000000
Disk /dev/sde: 2147 MB, 2147483648 bytes
Disk identifier: 0x00000000
Disk /dev/sdf: 2147 MB, 2147483648 bytes
Disk identifier: 0x00000000
Disk /dev/sdg: 2147 MB, 2147483648 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/VolGroup-lv_root: 41.4 GB, 41448112128 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/VolGroup-lv_swap: 973 MB, 973078528 bytes
Disk identifier: 0x00000000
Disk /dev/sdh: 1073 MB, 1073741824 bytes
Disk identifier: 0x00000000
Disk /dev/sdi: 1073 MB, 1073741824 bytes
Disk identifier: 0x00000000
Disk /dev/sdj: 1073 MB, 1073741824 bytes
Disk identifier: 0x00000000
Disk /dev/sdl: 1073 MB, 1073741824 bytes
Disk identifier: 0x00000000
Disk /dev/sdn: 1073 MB, 1073741824 bytes
Disk identifier: 0x00000000
Disk /dev/sdk: 1073 MB, 1073741824 bytes
Disk identifier: 0x00000000
Disk /dev/sdm: 1073 MB, 1073741824 bytes
Disk identifier: 0x00000000
Disk /dev/sdp: 1073 MB, 1073741824 bytes
Disk identifier: 0x00000000
Disk /dev/sdo: 1073 MB, 1073741824 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/mpathh: 1073 MB, 1073741824 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/mpathi: 1073 MB, 1073741824 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/mpathj: 1073 MB, 1073741824 bytes
Disk identifier: 0x00000000
[root@server2 ~]#
13.5. Список каналов передачи данных
Вы можете получить список соединений, предназначенных для передачи данных, а также используемых устройств с возможностью резервирования каналов передачи данных, воспользовавшись командой multipath -ll.
[root@server2 ~]# multipath -ll
mpathj (1IET 00010001) dm-4 Reddy,VBOX HARDDISK
size=1.0G features='0' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=1 status=active
| `- 13:0:0:1 sdh 8:112 active ready running
|-+- policy='round-robin 0' prio=1 status=enabled
| `- 12:0:0:1 sdi 8:128 active ready running
`-+- policy='round-robin 0' prio=1 status=enabled
`- 14:0:0:1 sdm 8:192 active ready running
mpathi (1IET 00010003) dm-3 Reddy,VBOX HARDDISK
size=1.0G features='0' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=1 status=active
| `- 13:0:0:3 sdk 8:160 active ready running
|-+- policy='round-robin 0' prio=1 status=enabled
| `- 12:0:0:3 sdn 8:208 active ready running
`-+- policy='round-robin 0' prio=1 status=enabled
`- 14:0:0:3 sdp 8:240 active ready running
mpathh (1IET 00010002) dm-2 Reddy,VBOX HARDDISK
size=1.0G features='0' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=1 status=active
| `- 12:0:0:2 sdl 8:176 active ready running
|-+- policy='round-robin 0' prio=1 status=enabled
| `- 13:0:0:2 sdj 8:144 active ready running
`-+- policy='round-robin 0' prio=1 status=enabled
`- 14:0:0:2 sdo 8:224 active ready running
[root@server2 ~]#
Идентификаторы IET (iSCSI Enterprise Target) должны совпадать с соответствующими идентификаторами на стороне целевого сервера.
[root@server1 ~]# tgt-admin -s | grep -e LUN -e IET -e dev
LUN information:
LUN: 0
SCSI ID: IET 00010000
LUN: 1
SCSI ID: IET 00010001
Backing store path: /dev/sdb
LUN: 2
SCSI ID: IET 00010002
Backing store path: /dev/sdc
LUN: 3
SCSI ID: IET 00010003
Backing store path: /dev/sdd
13.6. Использование устройства
При работе с устройствами с возможностью резервирования каналов передачи данных используются такие стандартные команды, как mkfs, mkdir, mount:
[root@server2 ~]# mkfs.ext4 /dev/mapper/mpathi
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 38 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@server2 ~]# mkdir /srv/multipath
[root@server2 ~]# mount /dev/mapper/mpathi /srv/multipath/
[root@server2 ~]# df -h /srv/multipath/
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/mpathi 1008M 34M 924M 4% /srv/multipath
13.7. Практическое задание: технология резервирования каналов передачи данных
-
1. Вместе с сидящим рядом студентом примите решение о том, кто на своем компьютере будет настраивать целевой сервер iSCSI, а кто - инициатор iSCSI и демон резервирования каналов передачи данных. Осуществите настройку программных компонентов, необходимых для задействования механизма резервирования каналов передачи данных таким образом, как описано в разделах с теоретической информацией.
-
-
2. Раскомментируйте большую секцию 'defaults' в файле конфигурации /etc/multipath.conf и деактивируйте параметр friendly_names в этом же файле. Проверьте, работоспособен ли после этих манипуляций механизм резервирования каналов передачи данных. Вам наверняка придется обратиться к страницам руководства для утилиты /lib/dev/scsi_id и файла конфигурации multipath.conf.
-
13.8. Корректная процедура выполнения практического задания: технология резервирования каналов передачи данных
-
1. Вместе с сидящим рядом студентом примите решение о том, кто на своем компьютере будет настраивать целевой сервер iSCSI, а кто - инициатор iSCSI и демон резервирования каналов передачи данных. Осуществите настройку программных компонентов, необходимых для задействования механизма резервирования каналов передачи данных таким образом, как описано в разделах с теоретической информацией.
-
Обратитесь к разделу с теоретической информацией...
-
2. Раскомментируйте большую секцию 'defaults' в файле конфигурации /etc/multipath.conf и деактивируйте параметр friendly_names в этом же файле. Проверьте, работоспособен ли после этих манипуляций механизм резервирования каналов передачи данных. Вам наверняка придется обратиться к страницам руководства для утилиты /lib/dev/scsi_id и файла конфигурации multipath.conf.
-
vi multipath.conf
Удалите символ # перед объявлением большой секции defaults.
Добавьте символ # перед строкой friendly_names active.
Добавьте параметр --replace-whitespace в список параметров утилиты scsi_id.
defaults {
udev_dir /dev
polling_interval 10
path_selector "round-robin 0"
path_grouping_policy multibus
getuid_callout "/lib/udev/scsi_id --whitelisted --replace\
-whitespace --device=/dev/%n"
prio const
path_checker readsector0
rr_min_io 100
max_fds 8192
rr_weight priorities
failback immediate
no_path_retry fail
user_friendly_names no
}
Теперь (после перезапуска системной службы) список соединений и устройств будет выглядеть следующим образом:
root@server2 etc]# multipath -ll
1IET_00010001 dm-8 Reddy,VBOX HARDDISK
size=1.0G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 17:0:0:1 sdh 8:112 active ready running
|- 16:0:0:1 sdi 8:128 active ready running
`- 15:0:0:1 sdn 8:208 active ready running
1IET_00010003 dm-10 Reddy,VBOX HARDDISK
size=1.0G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 17:0:0:3 sdl 8:176 active ready running
|- 16:0:0:3 sdm 8:192 active ready running
`- 15:0:0:3 sdp 8:240 active ready running
1IET_00010002 dm-9 Reddy,VBOX HARDDISK
size=1.0G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 17:0:0:2 sdj 8:144 active ready running
|- 16:0:0:2 sdk 8:160 active ready running
`- 15:0:0:2 sdo 8:224 active ready running
Вы запретили доступ к своим устройствам?
vi multipath.conf
--> search for blacklist:
add
devnode "^sd[a-g]"
http://rus-linux.net/MyLDP/BOOKS/LSA/ch13.html
|