IBM®
Перейти к тексту
    в России и странах СНГ [изменить]    Условия использования
 
 
   
    Главная страница    Продукты    Услуги и решения    Поддержка и загрузка    Мой профиль    
Перейти к тексту

developerWorks Россия  >  Information Management | Linux  >

Настройка общих дисков Linux для Informix Dynamic Server MACH 11

Объяснение на примере

developerWorks
Опции документа
PDF format - Fits A4 and Letter

PDF - Fits A4 and Letter
50KB (10 страница)

Загрузить Adobe® Reader®

Опции документа, требующие включения JavaScript, не отображаются

Обсудить


Выскажите мнение об этой странице

Помогите нам улучшить содержание


Уровень сложности: средний

Andreas Брайтфельд (Andreas Breitfeld), IBM Informix Development, IBM Deutschland GmbH

18.06.2009

Узнайте, как настраивать полнофункциональные общие диски для IBM® Informix® Dynamic Server (IDS) версии 11.50. В этой статье содержатся инструкции по настройке вторичного сервера общих дисков (Shared Disk, SD) IDS под управлением ОС Ubuntu Linux®. Эти инструкции несложно адаптировать для других дистрибутивов Linux.

Введение

Начиная с версии 11.50.xC1 IBM Informix Dynamic Server (IDS) включает в себя набор функций обеспечения высокой готовности и кластеризации под названием Multi-node Active Cluster for High Availability (MACH 11). Одной из этих функций является поддержка вторичных серверов Shared Disk (SD). Вторичный сервер SD предоставляет общий доступ к дискам наряду с первичным сервером, но не обслуживает копию физической базы данных. В этой статье описан способ создания простой конфигурации полнофункциональных общих дисков в ОС Ubuntu Linux. Выполнив эти инструкции, вы сможете настраивать собственные общие диски и вторичные серверы SD в Ubuntu Linux.

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

.

Основная информация

В тестовой конфигурации, описываемой в данной статье, для доступа к общим дискам IDS используется сеть хранения данных (Storage Area Network, SAN) с интерфейсом Internet SCSI (iSCSI). Ниже следует краткое объяснение, почему среди всех методов подключения был выбран именно iSCSI.

Для работы IDS MACH 11 требуется параллельный доступ множества экземпляров IDS к общим блокам. Это позволяет вам запускать экземпляры IDS на разных компьютерах. Для блоков, хранящихся в файловой системе (не raw-устройства), используются кластерные файловые системы (например, GFS и OCFS). Для блоков, хранящихся на дисковых устройствах (raw-устройства), используются сети хранения данных (например, Fibre Channel или iSCSI). Поскольку применение кластерной файловой системы с IDS сопряжено с дополнительными накладными расходами с точки зрения производительности и администрирования, в этой статье в качестве средства хранения блоков используется SAN.

Общеизвестной высокопроизводительной технологией реализации SAN является Fibre Channel (FC). Типичная скорость передачи данных для FC равна 100-400 МБ/с, и уже доступны скорости 800 МБ/с. Однако внедрение SAN на основе FC является относительно сложным и дорогостоящим.

Для приложений с меньшими требованиями к скорости передачи данных можно использовать SAN на основе Internet SCSI (iSCSI). В протоколе iSCSI команды SCSI передаются по обычной сети 1000BASE-T (Gigabit Ethernet), которая теоретически способна обеспечить скорость передачи данных до 125 МБ/с. При использовании 10 Gigabit Ethernet доступны и более высокие скорости. Внедрение SAN на основе протокола iSCSI является относительно простым и дешевым, поскольку такие сети строятся на широко распространенных стандартных компонентах. Для среды тестирования и разработки такая простота и низкая стоимость являются важными преимуществами.



В начало


Тестовая конфигурация

На следующем рисунке показана структура сети тестовой конфигурации.


Рисунок 1. Структура сети тестовой конфигурации
Рисунок 1. Структура сети тестовой конфигурации

В тестовой конфигурации на три стандартных ПК установлен Ubuntu 8.04 LTS Server Edition. Компьютер с несколькими дисками (обозначен Piero) работает в качестве выделенного дискового массива. На двух оставшихся компьютерах работает IDS 11.50.UC2DE: один из них является первичным сервером (обозначен mach1), а другой вторичным сервером SD (обозначен mach2).

Имеющиеся адаптеры Gigabit Ethernet подключены к коммутатору Gigabit Ethernet, им присвоены IP-адреса из частного диапазона. Эта частная сеть зарезервирована исключительно для данных iSCSI (SAN). Сетевые компоненты должны поддерживать Jumbo-кадры (MTU=9000). В Ubuntu эту функцию можно настроить, добавив параметр mtu 9000 в файле /etc/network/interfaces для адаптера Gigabit Ethernet, подключенного к SAN. Для просмотра текущих настроек MTU используйте команду ifconfig.

Все компьютеры оборудованы дополнительными адаптерами Ethernet для подключения к локальной сети.



В начало


Настройка iSCSI

В этом разделе описывается настройка iSCSI для тестовой конфигурации.

Примечание: для дистрибутивов Linux, отличных от Ubuntu 8.04 (таких как Red Hat или SUSE), настройка будет отличаться незначительно. В частности, в Red Hat Enterprise Linux 5 для настройки цели (target) iSCSI используется пакет scsi-target-utils (основанный на проекте tgt).

Установка iscsitarget на целевой компьютер

В сети SAN компьютеры, хранящие общие данные на дисках, называются целевыми (target). Установите пакет Ubuntu iscsitarget (iSCSI Enterprise Target userland tools) на целевой компьютер в вашей SAN.

Настройка iSCSI Enterprise Target Daemon

В файле настройки iSCSI Enterprise Target Daemon /etc/ietd.conf на узловом компьютере укажите, к какому диску или разделу будет предоставлен общий доступ:

Target iqn.2008-07.com.ibm.munich.target:shared.disk1
	Lun 0 Path=/dev/sda5,Type=blockio
			

В примере выше iqn.2008-07.com.ibm.munich.target:shared.disk1 является символьным целевым именем диска. Введите команду blockio, чтобы настроить диск для использования режима прямого ввода/вывода блоков, без использования страничного кэша.

После внесения изменений в файл /etc/ietd.conf необходимо перезапустить службу iSCSI Enterprise Target Daemon для применения настроек:

/etc/init.d/iscsitarget restart
			

Также можно использовать команду ietadm (iSCSI Enterprise Target Administration Utility) для динамического изменения конфигурации без перезапуска.

Текущую конфигурацию можно просмотреть в файлах /proc/net/iet/volume и /proc/net/iet/session.

Установка open-iscsi на компьютеры-инициаторы

В сети SAN компьютеры, обращающиеся к общим данным на дисках, называются инициаторами (initiator). Установите пакет Ubuntu open-iscsi (высокопроизводительная реализация iSCSI, не зависящая от транспортного уровня) на все компьютеры-инициаторы.

В данной тестовой конфигурации оставлены значения iscsid (Open-iSCSI daemon) по умолчанию. Конфигурация iscsid хранится в файле /etc/iscsi/iscsid.conf.

Настройка доступа к дискам инициатора

Для настройки перечня дисков, доступных инициатору, используйте команду iscsiadm.

Определите IP-адреса целевых компьютеров:

iscsiadm --mode discovery --type sendtargets --portal 192.168.0.100
			

Выведите список обнаруженных узлов:

iscsiadm --mode node
			

Настройте автоматический запуск узлов (по умолчанию в файле /etc/iscsi/iscsid.conf указан запуск вручную). Вы можете настроить запуск для разных узлов по отдельности или всех вместе. Не забывайте настраивать параметры запуска узлов после каждого обнаружения.

Ниже приведен пример настройки параметров запуска для одного узла:

iscsiadm -m node --targetname iqn.2008-07.com.ibm.munich.target:shared.disk1 \ 
    --op=update --name=node.startup --value=automatic --portal 192.168.0.100
			

Ниже приведен пример настройки параметров запуска для всех узлов:

iscsiadm -m node --op=update --name=node.startup --value=automatic \ 
    --portal 192.168.0.100
			

Выполните вход на все целевые компьютеры, для которых указан автоматический запуск (после перезагрузки вход выполняется автоматически):

iscsiadm --mode node --portal 192.168.0.100 --loginall automatic
			

Настройка постоянного пути к устройству

К этому моменту новые диски видны ядру как обычные, но в файле /proc/partitions связывание устройств и имен целей неразличимо. Поэтому необходимо использовать постоянный путь устройств. Этот путь автоматически создается при помощи udev (динамическое управление устройствами):

/dev/disk/by-path/\
ip-192.168.0.100:3260-iscsi-iqn.2008-07.com.ibm.munich.target:\ 
shared.disk1-lun-0
			

Настройте разделы как обычно:

fdisk /dev/disk/by-path/\
ip-192.168.0.100:3260-iscsi-iqn.2008-07.com.ibm.munich.target:\ 
shared.disk1-lun-0
			

Путь к разделу 1:

/dev/disk/by-path/\
ip-192.168.0.100:3260-iscsi-iqn.2008-07.com.ibm.munich.target:\ 
shared.disk1-lun-0-part1
			

Если доступ к одной и той же цели осуществляется с разных инициаторов, доступ к общему разделу диска предоставляется как к блочному устройству с одним и тем же путем.



В начало


Настройка IDS

В этом разделе описывается настройка IDS для тестовой конфигурации.

Установка пакетов Ubuntu

В операционной системе Ubuntu 8.04 на основном (mach1) и вторичном SD (mach2) серверах установите следующие пакеты:

  • bc;
  • gcc-3.3-base;
  • libaio1;
  • libstdc++5;
  • pdksh;
  • rpm.

Создание и активация разрешений

Для работы IDS необходима настройка соответствующих разрешений для блоков. Выполните настройку разрешений для общих и локальных дисков при помощи udev.

Создайте новый файл правил /etc/udev/rules.d/99-informix-permissions.rules, определяющий разрешения для общих и локальных дисков:

###
# iSCSI shared disks by-path
ENV{DEVTYPE}=="disk", IMPORT{program}="path_id %p"
ENV{DEVTYPE}=="partition", 
ENV{ID_PATH}=="ip-192.168.0.100:3260-iscsi-iqn.2008-07.com.ibm.munich.target:\ 
shared.disk*", OWNER="informix", GROUP="informix", MODE="0660"

# локальные диски
KERNEL=="sda7",         OWNER="informix", GROUP="informix", MODE="0660"
###
			

Эти правила необходимо активировать либо при помощи команды udevtrigger, либо путем перезагрузки.

Рекомендуется также создать более простые пути для устройств с помощью символических ссылок:

/home/informix/chunks/shared.disk1 -> /dev/disk/by-path/\ 
ip-192.168.0.100:3260-iscsi-iqn.2008-07.com.ibm.munich.target:\ 
shared.disk1-lun-0-part1
			

Создание и настройка экземпляров IDS

Создайте экземпляр IDS на компьютерах, которые будут основным (mach1) и вторичным SD (mach2) серверами.

На обоих компьютерах настройте параметр ROOTPATH в файле ONCONFIG для использования одного и того же общего диска:

ROOTPATH /home/informix/chunks/shared.disk1
			

Также обновите файл INFORMIXSQLHOSTS для обеих машин, задав параметры для обмена данными между ними:

demo_on         onsoctcp    mach1    9088
demo_on_sds1    onsoctcp    mach2    9088
			

Только для вторичного сервера SD добавьте в файл ONCONFIG следующие значения:

SDS_ENABLE 1
SDS_TEMPDBS sds1temp,/home/informix/chunks/sds1temp,2,0,2048
SDS_PAGING /home/informix/chunks/sds1page1,/home/informix/chunks/sds1page2
			

Запуск экземпляров IDS

Инициализируйте экземпляр IDS на первичном сервере (mach1) при помощи команды:

oninit -iv
                                    

После инициализации IDS на компьютере mach1 укажите его в качестве основного сервера:

onmode -d set SDS primary demo_on
			  

Запустите экземпляр IDS на вторичном сервере SD (mach2) при помощи команды:

oninit -v
                                    

Статус каждого экземпляра можно проверить при помощи команды:
onmode -g sds
			



В начало


Заключение

Конфигурация, описанная в данной статье, продемонстрировала весьма высокую производительность в работе с IDS. В упрощенном тесте производительности TPC-B не удалось обнаружить существенной разницы между локальным и общим дисками.

Описанная в этой статье установка и настройка общих дисков iSCSI в конкретной версии Ubuntu Linux поможет вам создать и запустить общие диски IDS. Эту общую схему можно адаптировать и для других дистрибутивов операционной системы Linux.



Ресурсы

Научиться

Получить продукты и технологии

Обсудить


Об авторе

Андреас Брайтфельд (Andreas Breitfeld) несколько лет занимался разработкой ПО для IBM Informix Database Server. Они принимал участие в различных этапах портирования и разработки IDS.




Выскажите мнение об этой странице


Пожалуйста, найдите минутку и заполните форму, чтобы повысить уровень сервиса.



 


 


 


Поделиться этой статьей:

забобрить забобрить memori сохранить в memori




В начало


IBM является зарегистрированным товарным знаком IBM Corporation в США и/или других странах. Linux является зарегистрированным товарным знаком Линуса Торвальдса в США и/или других странах. Другая компания, продукт или название услуги могут быть торговыми марками или знаками обслуживания, принадлежащими иным физическим или юридическим лицам.

IBM обладает всеми авторскими правами касательно информации, расположенной на developerWorks. Использование информации приведенной на этом ресурсе без явного письменного разрешения от IBM или первоначального автора запрещены. Если Вы желаете использовать информацию с developerWorks, пожалуйста воспользуйтесь регистрационной формой для того, чтобы связаться с нами запрос на использование материалов developerWorks Россия.
    IBM в России Конфиденциальность Контакты