Product SiteDocumentation Site

4.3. Настройка постоянного хранилища

В окружениях с внешними накопителями (например, на основе Fibre Channel или iSCSI) рекомендуется настроить постоянные имена устройств, что облегчит выполнение живой миграции, так как в разных системах будут использоваться одни и те же имена.
Уникальные идентификаторы UUID (Universally Unique Identifier) — стандарт идентификации компьютеров и устройств в распределенных компьютерных окружениях. В этой секции идентификаторы UUID будут использоваться для идентификации LUN iSCSI и Fibre Channel. UUID аналогичен метке устройства и сохраняется между перезагрузками, отключениями и сменой устройств.
Systems which are not running multipath must use Настройка одного пути. Systems running multipath can use Многопутевая настройка.
Настройка одного пути
В этой секции будет рассмотрено, как обеспечить постоянство LUN с помощью udev. Используйте этот метод только, если в размещающей системе не настроены многопутевые возможности.
  1. Внесите изменения в файл /etc/scsi_id.config.
    1. Ensure the options=-b is line commented out.
      # options=-b
      
      
    2. Добавьте строку
      options=-g
      
      
      При этом udev будет подразумевать, что все подключенные устройства SCSI возвращают UUID.
  2. Чтобы отобразить UUID для конкретного устройства, выполните команду scsi_id -g -s /block/sd*. Пример:
    # scsi_id -g -s /block/sd*
    3600a0b800013275100000015427b625e
    
    
    Вывод команды содержит UUID устройства /dev/sdc.
  3. Убедитесь, что UUID, полученный в результате выполнения команды scsi_id -g -s /block/sd*, совпадает с идентификатором, получаемым компьютером, который обращается к устройству.
  4. Далее следует создать правило для назначения имени устройству. В каталоге /etc/udev/rules.d создайте файл 20-names.rules, в который мы будем добавлять все новые правила. Формат правил:
    KERNEL="sd*", BUS="scsi", PROGRAM="/sbin/scsi_id -g -s", RESULT=UUID, NAME=devicename
    
    Замените UUID полученным ранее значением, а имя_устройства именем. Пример правила:
    KERNEL="sd*", BUS="scsi", PROGRAM="/sbin/scsi_id -g -s", RESULT="3600a0b800013275100000015427b625e", NAME="rack4row16"
    
    
    Демон udev теперь будет искать в правиле все устройства /dev/sd* для заданного UUID. После подключения найденного устройства в систему ему будет присвоено заданное правилом имя. Так, в нашем примере устройству с UUID равным 3600a0b800013275100000015427b625e будет присвоено имя /dev/rack4row16.
  5. В файл /etc/rc.local добавьте строку
    /sbin/start_udev
    
    
  6. Скопируйте изменения в файлы /etc/scsi_id.config, /etc/udev/rules.d/20-names.rules, /etc/rc.local на всех узлах.
    /sbin/start_udev
    
    
Сетевые устройства хранения с настроенными правилами теперь будут использовать одинаковые имена на всех узлах, где вы применили изменения. Теперь при миграции гостевых систем между узлами можно использовать общее хранилище, а гостевые системы смогут обращаться к устройствам хранения с помощью своих файлов конфигурации.
Многопутевая настройка
В системах с несколькими физическими путями к устройствам хранения используется пакет multipath, обеспечивающий высокую отказоустойчивость и производительность сетевых устройств хранения, подключенных к системам Linux.
Чтобы обеспечить сохранение постоянства LUN в окружении multipath, необходимо присвоить псевдонимы многопутевым устройствам. Каждому устройству хранения соответствует UUID, который выполняет функции ключа для создаваемых имен. Определить UUID устройства можно с помощью команды scsi_id.
# scsi_id -g -s /block/sdc

Многопутевые устройства создаются в каталоге /dev/mpath. В приведенном ниже примере будет определено 4 устройства в файле /etc/multipath.conf:
multipaths { 
	multipath { 
	wwid		3600805f30015987000000000768a0019 
	alias		oramp1 
	} 
	multipath { 
	wwid		3600805f30015987000000000d643001a 
	alias		oramp2 
	} 
	mulitpath { 
	wwid		3600805f3001598700000000086fc001b 
	alias		oramp3 
	} 
	mulitpath { 
	wwid		3600805f300159870000000000984001c 
	alias		oramp4 
	} 
}

В результате будет создано четыре LUN с именами /dev/mpath/oramp1, /dev/mpath/oramp2, /dev/mpath/oramp3 и /dev/mpath/oramp4. Теперь сопоставление идентификаторов именам будет сохраняться между перезагрузками.