Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Администрирование систем 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]"

Предыдущий раздел: Оглавление Следующий раздел:
Глава 12. Устройства iSCSI   Глава 14. Системный загрузчик