 | Уровень сложности: средний Дуг Маккинзи, специалист по системному программированию, American Century Investments
10.12.2007 Из данной статьи вы узнаете, как настроить сервер p5 для резервирования и восстановления продуктивных приложений. В предыдущей статье давались основы настройки логических разделов сервера p5, в том числе создание одного виртуального сервера ввода/вывода (Virtual I/O Server, VIO Server) и создание одного логического раздела (logical partition, LPAR), который использовал VIO Server для своего rootvg и сети Ethernet.
Резервирование с помощью двух виртуальных серверов ввода/вывода
Применение виртуального сервера ввода/вывода (Virtual I/O Server, VIO Server), обеспечивающего хранение данных и сеть Ethernet для группы логических разделов, позволит максимально эффективно использовать ресурсы оборудования. Благодаря виртуальному серверу ввода/вывода можно сократить количество дисковых накопителей и сетевых карт Ethernet, необходимых нескольким серверам в AIX®. Однако, если использовать только один VIO-сервер, то существует риск сбоя логических разделов в случае отказа этого VIO-сервера или одного из устройств, входящих в этот VIO-сервер. Поэтому рекомендуется использовать по крайней мере два VIO-сервера при размещении ресурсов хранения и сетевых ресурсов на логических разделах.
Замечание: Предполагается, что читатель уже знает, как создавать и настраивать VIO-сервер и логический раздел. В этой статье идет речь только о дополнительных установках и настройках, которые связаны с обеспечением резервирования путем использования двух VIO-серверов.
Зеркалирование rootvg с использованием двух VIO-серверов
Для защиты от сбоя диска на сервере rootvg обычно применяется зеркалирование дисков. На отдельном сервере для этого необходимы по крайней мере два физических диска, а в среде логических разделов - два VIO-сервера, причем каждый VIO-сервер должен быть хостом по крайней мере для одного дискового раздела логического раздела AIX.
Не требуется никаких специальных процедур для создания и настройки двух VIO-серверов для зеркалирования rootvg логического раздела. Разумеется, для этого нужно создать и настроить два отдельных VIO-сервера. Каждый из них должен иметь свои собственные физические устройства - этого требует Hardware Management Console (HMC, Консоль управления оборудованием) или Integrated Virtualization Manager (IVM, Интегрированный менеджер виртуализации). Физические устройства выделяются для разделов (как VIO-серверов, так и логических разделов AIX и Linux®) отдельными слотами оборудования. При создании VIO-серверов диски серверу назначаются приписыванием дискового контроллера к этому серверу. Дисковый контроллер может быть выделен для одного и только одного раздела. Если к нему присоединены несколько дисков, то их нельзя распределить по нескольким разделам, Поэтому для зеркалирования rootvg логического раздела нужны по крайней мере два дисковых контроллера на системе.
Есть некоторые отличия настройки логического раздела для зеркалирования rootvg с помощью двух VIO-серверов от обычной настройки. Вместо того, чтобы только настроить логический раздел на использование одного SCSI-устройства, необходимо настроить его на использование по крайней мере двух устройств. Каждое из виртуальных устройств должно указывать на свой собственный VIO-сервер.
Обязательно конфигурируйте виртуальные дисковые устройства логического раздела одного и того же размера на каждом из двух VIO-серверов. Использование двух VIO-серверов вместе с релизом Fix Pack 7 дает способ защитить от сбоя адаптера Shared Ethernet Adapter (SEA, совместный адаптер Ethernet), при этом два VIO-сервера используются для резервирования сетевых подключений. На обоих VIO-серверах должен работать Fix Pack 7. Проверьте это с помощью команды ioslevel на VIO-сервере (см. листинг 1).
Листинг 1. Команда ioslevel
> ioslevel
1.2.1.4-FP-7.4
|
При настройке профилей VIO-серверов на HMC, создайте два виртуальных Ethernet-адаптера на каждом сервере. Создайте первый адаптер на каждом сервере как адаптер trunk adapter (нужно проверить отметку Access external network (Доступ к внешней сети)). Оба эти адаптера trunk adapter каналов должны иметь одно и то же значение Virtual LAN ID (Виртуальный ID локальной сети), но они должны иметь различные значения Trunk priority (Приоритет канала). VIO-сервер с наименьшей Trunk priority является первичным адаптером. Trunk priority для VIO Server 1 на рисунке 1 установлена как 1, что делает его первичным адаптером.
Рисунок 1. VIO Server 1 -- настройка виртуального Ethernet-адаптера
Trunk priority для VIO Server 2 на рисунке 2 устанавливается как 2.
Рисунок 2. VIO Server 2 -- настройка виртуального Ethernet-адаптера
Второй виртуальный Ethernet-адаптер на каждом из VIO-серверов должен быть настроен как адаптер non-trunk. Как и в случае первой пары виртуальных адаптеров, вторая пара должна иметь один и тот же Virtual LAN ID (Виртуальный ID локальной сети), но это значение, приписанное этим двум адаптерам, не должно более нигде повторяться (см. рисунок 3). Никакие другие адаптеры на сервере p5 не должны использовать значение ID. Снимок экрана меню второго виртуального Ethernet адаптера для VIO-серверов должен выглядеть так же. Эти виртуальные адаптеры используются как канал управления.
Рисунок 3. VIO Server 1 и VIO Server 2 -- настройка адаптера канала управления
Вы должны также установить третий виртуальный Ethernet-адаптер на каждом VIO-сервере, используя Virtual LAN ID адаптера trunk. Это делается для того, чтобы VIO-сервер мог получить доступ в сеть (см. рисунок 4).
Рисунок 4. VIO Server 1 и VIO Server 2 -- третий виртуальный Ethernet адаптер для доступа к сети
После установки операционной системы на VIO-серверах, запустите следующую команду на каждом из них (см. листинг 2).
Листинг 2. Команда mkvdev
mkvdev -sea physical_adapter
-vadapter virtual_adapter
-default virtual_adapter
-defaultid PVID_of_virtual_adapter
-attr ha_mode=auto ctl_chan=control_channel_adapter
$ lsdev | grep ent
ent0 Available Gigabit Ethernet-SX PCI-X Adapter (14106802)
ent1 Available Virtual I/O Ethernet Adapter (l-lan)
ent2 Available Virtual I/O Ethernet Adapter (l-lan)
ent3 Available Virtual I/O Ethernet Adapter (l-lan)
$ mkvdev -sea ent0 -vadapter ent1 -default ent1
-defaultid 1 -attr ha_mode=auto ctl_chan=ent2
ent4 Available
en4
et4
|
Теперь можно настраивать доступ к сети VIO-сервера, используя адаптер ent3.
Настройка логических разделов в AIX и Linux в основном не отличается. Необходимо проверить, что поле Virtual LAN ID имеет то же значение, что и адаптеры trunk в настройках VIO-сервера (см. рисунок 5).
Рисунок 5. Настройки виртуального Ethernet адаптера
Резервирование хранения данных приложений с помощью двух VIO-серверов
Многие ИТ-службы предприятий используют сети хранения данных Storage Area Networks (SAN) для хранения данных приложений. Один из способов подсоединения к SAN - это обеспечение каждого логического раздела I/O картой (картой ввода-вывода) для присоединения к устройству SAN. Для обеспечения высокой работоспособности можно снабдить каждый раздел двумя картами, предотвратив таким образом сбои системы из-за неисправности карты ввода/вывода или другого оборудования SAN. Для системы p5 с большим числом логических разделов снабжение каждого логического раздела собственными картами ввода/вывода обойдется слишком дорого и не всегда возможно из-за ограниченного числа свободных разъемов PCI.
Более эффективное решение - это создание двух VIO-серверов, каждый из которых подключен к SAN с помощью отдельной карты ввода/вывода и конфигурирование многопутевого ввода/вывода (multipath I/O, MPIO) на логических разделах, которым необходим доступ к SAN. Доступ к различным типам SAN довольно специфичен, поэтому я не стал приводить детальное описание всей этой процедуры и настроек, а ограничился общими указаниями.
- Выделите диски SAN для обоих VIO-серверов, настроенных через сервер p5.
- Используя HMC, создайте один виртуальный SCSI-адаптер сервера для каждого логического раздела на каждом из VIO-серверов.
- Используя HMC, создайте два виртуальных SCSI-адаптера на каждом из логических разделов, которые используют VIO для доступа к SAN. Убедитесь в том, что каждый адаптер клиента логического раздел указывает на отдельный VIO-сервер.
- Припишите SAN-диски VIO-сервера к логическим разделам, используя команду
mkvdev. Так как устройство SAN не принимает одинаковое обозначение жестких дисков на каждом VIO-сервере, обязательно припишите VIO-диски логическим разделам, основываясь на определении SAN, а не на обозначении жестких дисков на VIO-сервере.
Детальное описание настройки MPIO с использованием VIO-серверов дано в руководстве Configuring MPIO for the Virtual AIX Client (Конфигурирование многопутевого ввода/вывода для виртуального AIX-клиента) в разделе Ресурсы.
Использование логического раздела для обеспечения резервного восстановления и восстановления сервера
До сих пор при использовании отдельных невиртуализованных серверов для получения резервной копии операционной системы на ленте достаточно было запустить команду mksysb на каждой машине с ленточным накопителем, однако для систем p5 такой подход трудно реализовать - требуется приписать ленточный накопитель тому логическом разделу, для которого нужно создать резервную копию, а после выполнения mksysb необходимо отсоединить накопитель от этого логического раздела, вытащить из него ленту, вставить новую, подсоединить устройство к другому логическому разделу и повторить весь процесс заново. В нашем примере используется Network Installation Management (NIM), установленный на логическом разделе для управления резервным копированием и восстановлением операционной системы для логических разделов AIX.
Обзор Network Installation Management (NIM)
NIM - это компонент операционной системы AIX. Он предоставляет возможность управлять установкой AIX и обслуживать ее по сети. NIM состоит из по крайней мере одного NIM-сервера и группы клиентов. Сервер предоставляет ресурсы, используемые для установки и поддержания работы операционной системы на машинах-клиентах. Можно создать центральный репозиторий установочных образов для использования при установке новых серверов, можно использовать образы mksysb, сохраненные в репозитории для создания клонов существующих серверов, и, наконец, можно восстанавливать те серверы, чей rootvg был поврежден и требует восстановления. Именно это будет обсуждаться в следующих нескольких разделах. Детальная информация о NIM дана в справочнике IBM Installing with Network Installation Management and NIM: From A to Z in AIX 4.3 в разделе Ресурсы.
Сохранение образов mksysb на NIM-сервере логического раздела
На нашем предприятии более 100 серверов AIX, как отдельных, так и "разбитых" на логические разделы. Для всех этих серверов создан образ mksysb в файловой системе NFS (Network File System), находящейся на нашем главном NIM-сервере. Мы использовали специальный скрипт, который монтирует NFS, создает mksysb, а затем демонтирует NFS. Мы делаем резервные копии один раз в несколько дней, чтобы ввод/вывод не мешал работе сети. Мы также производим резервное копирование ночью, чтобы не перегружать сеть в рабочее время.
Листинг 3 показывет скрипт, который запускается на логическом разделе или на отдельном сервере, чтобы смонтировать удаленный привод, создать mksysb и затем демонтировать удаленный привод.
Листинг 3. Скрипт, запускаемый на логическом разделе или на отдельном сервере
#!/usr/bin/ksh
mount nimsrv1:/export/mksysb /mksysb
/usr/bin/mksysb '-i' /mksysb/`uname -n`.mksysb
umount /mksysb
|
Использование rdist для поддержки репозитория mksysb образов для восстановления после аварий
У нас имеется два сервера, работающих как NIM-серверы, при этом они находятся в двух разных центрах обработки данных. NIM-сервер в главном рабочем центре обработки данных (ЦОД) считается основным сервером. Именно на этом сервере первоначально сохраняются mksysb образы. Мы используем rdist для пересылки mksysb образов с этого сервера на резервный сервер, расположенный в тестовом центре обработки данных. Эти образы сохраняются на двух машинах для гарантии восстановления в аварийной ситуации. В случае, если произойдет авария на основном NIM-сервере в рабочем центре обработки данных, сохраняется возможность восстановить любой сервер среды с помощью mksys образа, сохраненного на резервном NIM-сервере, и наоборот.
Чтобы rdist мог функционировать, нужно настроить файл .rhosts на каждой машине. Для этого надо понять, как устроен файловый формат .rhosts для TCP/IP и правильно задать формат для таких файлов.
Мы сделали так, что наш скрипт rdist запускается каждый час, чтобы гарантировать своевременное сохранение mksysb образов во втором ЦОДе. Скрипт этот очень простой (см. листинг 4).
Листинг 4. скрипт rdist
#!/usr/bin/ksh
rdist -f /scripts/distfile -i -y
|
А вот так сохраняется содержимое /scripts/distfile: /export/mksysb ->nimsrv2.
Узнать больше про rdist и distfile можно из описания команды rdist в Справочнике по командам AIX (AIX Commands Reference) на сайте IBM (см. Ресурсы).
Создание резервных копий VIO-сервера
IBM разработала команду backupios для резервного копирования VIO-сервера. Принцип ее работы похож на mksysb - создается образ rootvg, который может быть использован для восстановления VIO-сервера. Вы можете записать резервную копию VIO-сервера в файл, на ленту, на CD или DVD. В нашей среде мы записываем резервную копию VIO-сервера в локальный файл, а затем запускаем скрипт на первичном NIM-сервере, который разархивирует созданный файл .tar и сохраняет его в центральном репозитории.
Зарегистрировавшись как пользователь padmin, необходимо создать папку /home/padmin/backup, прежде чем запустить следующий скрипт. Конечно же, при первом запуске этого скрипта не выполняется оператор rm, потому что удаляемый файл еще не существует. Сделайте так, чтобы этот скрипт запускался раз в неделю с использованием cron пользователя padmin (см. листинг 5).
Listing 5. Скрипт для резервного восстановления VIO-серверов
#!/usr/bin/ksh
# To be run on the VIO server by padmin.
rm -f /home/padmin/backup/*.tar
/usr/ios/cli/ioscli backupios -file /home/padmin/backup
|
После запуска этого скрипта, можно запустить еще один скрипт с NIM-сервера, чтобы извлечь образ резервной копии. Но прежде чем запускать этот скрипт, убедитесь в том, что у команды backupios было достаточно времени для завершения ее работы. Файл /viobackups/clients содержит имена VIO-сервров, для которых производится резервное копирование (см. листинг 6).
Листинг 6. Скрипт для извлечения образа резервной копии
#!/usr/bin/ksh
# This program pulls VIO server backups for access during recovery.
userid="padmin"
password="whatever" # Not the real password! :-)
viofilename="/home/padmin/backup/nim_resources.tar"
# Gather nim_resources.tar files from servers.
while read server
do
cd /viobackups/$server
echo "Pulling backup for $server . . ."
ftp -n $server << EOF
user $userid $password
bin
get $viofilename
bye
EOF
done < /viobackups/clients
|
Восстановление VIO-сервера
Чтобы использовать сохраненные на NIM-сервере образы резервных копий для восстановления VIO-сервера нужно запустить на HMC следующую команду (см. листинг 7).
Листинг 7. Команда для использования образов резервных копий
installios -p vio_partition_name
-d nimsrv1:/viobackups/vio_server_name/nim_resources.tar
-n
|
Восстановление HMC
IBM предоставляет возможность использовать команду bkconsdata для восстановления HMC по резервной копии. Образы резервных копий можно хранить на DVD, папке NFS или FTP-сервере. Ниже представлен скрипт, который использует DVD и FTP для восстановления по резервной копии. Этот скрипт запускается с первичного NIM-сервера и использует Secure Shell (SSH) для подсоединения к HMC и запуска команд bkconsdata. Чтобы этот скрипт заработал, нужно выполнить описанные далее шаги.
- Настроить SSH так, чтобы NIM-сервер мог входить в систему HMC без использования пароля. Описание SSH можно найти в руководстве Openssh Software Tools (Инструменты программного обеспечения Openssh) (см. раздел Ресурсы).
- Создать пользователя hscroot на первичном NIM-сервере и дать ему привелегии, позволяющие производить записи в папке /hmcbackups/hmc_name.
- Файл /hmcbackups/hmc_clients представляет из себя список HMC-машин, для которых были созданы резервные копии (см. листинг 8).
Листинг 8. Файл /hmcbackups/hmc_clients
#!/usr/bin/ksh
while read hmc
do
# Backup critical console data to dvd-ram
echo "Backing up critical console data for $hmc to DVD."
ssh -l hscroot $hmc bkconsdata -r dvd
# Backup critical console data to nimsrv1
echo "Backing up critical console data for $hmc to nimsrv1."
cd /hmcbackups/$hmc
ssh -l hscroot $hmc bkconsdata -r ftp -h nimsrv1 -u hscroot --passwd password
done < /hmcbackups/hmc_clients
|
Чтобы восстановить HMC по резервной копии, сделанной при помощи этого скрипта, нужно сначала переустановить двоичный код HMC, а затем восстановить данные с DVD или удаленного сервера. Детальная информация дается в Restoring Critical HMC Data (Восстановление важнейших данных HMC) (см. Ресурсы).
Резюме
В этой статье описаны методики настройки виртуальных серверов для повышения их доступности, что делается зеркалированием rootvg, резервированием сетевых подключений Ethernet и SAN, а также повышения эффективности восстановления, используя NIM на логическом разделе для хранения образов резервных копий логических разделов, VIO-серверов и различных HMC. Применение этих методик существенно упрощает защиту сервера от сбоев.
Ресурсы Научиться
Получить продукты и технологии
Обсудить
Об авторе  | |  | Дуг Маккинзи (Doug McKinzie) - специалист по системному программированию в компании American Century Investments, которая является одной из лидирующих компаний по управлению инвестициями с более чем пятидесятилетним опытом работы и обслуживает профессиональных инвесторов, учреждения, корпорации и 1.2 миллиона частных инвесторов. Дуг администрировал серверы AIX с 1995 г. и серверы System p5 с декабря 2004 г. С ним можно связаться с ним по адресу doug_mckinzie@americancentury.com. |
Выскажите мнение об этой странице
|  |