Файловые и операционные системы в кластерах
Кластерная Файловая Система позволяет всем Серверам в Кластере ОС монтировать и использовать единую файловую систему на совместно используемых устройствах. В отличие от Сетевой Файловой Системы (NFS), в Кластерной Файловой Системе отсутствует требование на выделенный сервер в сети. Кластерная Файловая Система может использовать множественные SCSI соединения, предоставляемые некоторыми устройствами хранения SCSI верхнего уровня, которые позволяют каждому Серверу обмениваться данными непосредственно с устройствами хранения через SAN (Storage Area Network, Сеть хранения данных). Для обеспечения целостности системы, Кластерная Файловая Система использует высокоскоростные межсерверные соединения.
SAN протоколы очень эффективны для передачи файлов и Кластерная файловая Система может обеспечить лучшую производительность, чем Сетевая Операционная Система.
Кластерные Файловые Системы могут также обеспечить более высокую надёжность, чем односерверные NFS решения (где NFS сервер является единственной точкой сбоя).
Дополнительную информацию смотрите в разделе Хранилище.
Возможность назначения Псевдонимов для IP позволяет ОС Кластера равномерно распределять нагрузку на сеть между Серверами Кластера, не добавляя отдельное устройство, балансирующее нагрузку.
Динамический Кластер CommuniGate Pro, в котором есть "только Backend Сервера", может использовать обе возможности, предоставляемые Кластерной ОС: Псевдонимы IP используются для равномерного распределения нагрузки между Серверами CommuniGate Pro, а сами Сервера CommuniGate Pro используют Кластерную Файловую Систему для хранения всех данных пользователя в общем Домене:
Кластерная ОС может также использоваться в конфигурациях CommuniGate Pro с Frontend/Backend Серверами. В этом случае одна Кластерная ОС используется для Frontend Серверов CommuniGate Pro, задействуя Псевдонимы IP для равномерного распределения нагрузки, а вторая Кластерная ОС используется для Backend Серверов CommuniGate Pro, на которых активирована Кластерная Файловая Система:
Конфигурация Динамического Кластера CommuniGate Pro не зависит как от типа используемого балансировщика нагрузки (отдельный или Псевдонимы IP), так и от типа Общей Файловой Системы (Сетевая Файловая Система или Кластерная Файловая Система).
Создание кластера.
5.1. Процесс создания кластера под ОС Linux
В качестве операционной системы используется GentooLinux. База данных mysql.
Каждый сервер укомплектован двумя сетевыми картами стандарта GigabitEthernetи двумя жесткими дисками одинакового размера.
Сетевые настройки сервера 1:
Имя хоста: netup1IP-адрес на внутренней сетевой карте. Интерфейс eth1: 172.16.0.1
IP-адрес на внешнем интерфейсе 192.168.0.200 (eth0:1). Настраивается автоматически пакетом heartbeat
Сетевые настройки сервера 2:
Имя хоста: netup2IP-адрес на внутренней сетевой карте. Интерфейс eth1: 172.16.0.2
IP-адрес на внешнем интерфейсе 192.168.0.200 (eth0:1). Настраивается автоматически пакетом heartbeat.
Установка операционной системы GentooLinux производится на первый жесткий диск - /dev/sda. Второй жесткий диск - /dev/sdbбудет полностью использоваться для синхронизации данных между серверами средствами пакета drbd . Установка этого пакета осуществляется командой:
emergedrbd
После успешной установки создайте конфигурационный файл /etc/drbd.conf следующего содержания:
resource r0 {
protocol C;
incon-degr-cmd "echo '!DRBD! pri on incon-degr' | wall ; sleep 60 ; halt -f";
startup {
degr-wfc-timeout 120; # 2 minutes.
}
disk {
on-io-error detach;
}
net {
}
syncer {
rate 200M;
group 1;
al-extents 257;
}
on netup2 {
device /dev/drbd0;
disk /dev/sdb1;
address 172.16.0.2:7788;
meta-disk internal;
}
on netup1 {
device /dev/drbd0;
disk /dev/sdb1;
address 172.16.0.1:7788;
meta-disk internal;
}}
Согласно приведенным настройкам синхронизация данных будет осуществляться на разделе /dev/sdb1. При этом для доступа к этому разделу необходимо использовать устройство /dev/drbd0 в противном случае синхронизация данных осуществляться не будет.
Для запуска пакета drbdвыполните команду на обоих серверах:
/etc/init.d/drbdstart
На сервере 1 выполните команду:
drbdadm -- --do-what-I-say primary all
Если все настройки верны, то с этого момента раздел /dev/sdb1 на обоих серверах будет синхронизироваться. Для просмотра статуса можно использовать команду:
/etc/init.d/drbd status
Пример вывода данной команды:
drbd driver OK; device status:
version: 0.7.11 (api:77/proto:74)
SVN Revision: 1807 build by netup@netup1, 2006-01-17 00:52:49
0: cs:Connected st:Primary/Secondary ld:Consistent
В данном выводе строка ld:Consistent означает, что все данные синхронизированы между обоими серверами в кластере. В случае если идет синхронизация данных, вывод будет содержать планируемое время и текущий статус этого процесса.
Далее необходимо отформатировать синхронизируемый раздел под файловую систему reiserfs и создать директорию, в которую будет монтироваться данный раздел. Для этого выполните на сервере 1 команды:
mkreiserfs /dev/drbd0
mkdir /mnt/sync
на сервере 2 команду:
mkdir /mnt/sync
Следующим этапом в настройке отказоустойчивого кластера является установка и настройка пакета heartbeat. Для установки этого пакета необходимо выполнить команду:
echo "sys-cluster/heartbeat ~x86" >> /etc/portage/package.keywords
emergesys-cluster/heartbeat
После успешной установки необходимо создать конфигурационные файлы.
На сервере 1 файл /etc/ha.d/ha.cf следующего содержания:
logfacility local0ucast eth1 172.16.0.2
auto_failback on
node netup1 netup2
На сервере 2 файл /etc/ha.d/ha.cf следующего содержания:
logfacility local0ucast eth1 172.16.0.1
auto_failback on
node netup1 netup2
В этих файлах мы указали имена и IP-адреса серверов используемых в кластере. Далее необходимо создать конфигурационный файл /etc/ha.d/haresources следующего содержания:
netup1 192.168.0.200/24/eth0:1 drbddisk Filesystem::/dev/drbd0::/mnt/sync::reiserfs apache2 mysql utm5_core utm5_radius
datadir = /mnt/sync/mysql
Таким образом, после запуска сервиса mysqlданные по абонентам, списаниям и другая биллинговая информация хранящиеся в этой базе данных будут синхронизироваться с резервным сервером.
Для корректной работы пакета heartbeatтак же необходимо создать файл /etc/ha.d/authkeys с ключами для безопасной работы между серверами. В этом файле указывается тип ключа и сам ключ:
auth 1
1 sha1 somethinglong
Этот файл так же должен быть идентичен на обоих серверах в кластере.
На этом настройка пакета heartbeatзавершена и можно произвести его запуск на обоих серверах командой:
/etc/init.d/heartbeat start
Для проверки работоспособности кластера можно использовать утилиты ifconfig, df, ps. Сервер, который в настоящий момент является ведущим, должен иметь:
- настроенный интерфейс eth0:1 с IP-адресом 192.168.0.200
- смонтированную директорию /mnt/sync
- запущенные сервисы apache2, mysql, utm5_core, utm5_radius
5.2. Процесс создания кластера под ОС Windows
Для службы кластеров необходимо создать отдельную доменную учетную запись, от имени которой она будет запускаться. Программа установки потребует ввода учетных данных для службы кластеров, поэтому учетная запись должна быть создана до начала установки службы. Учетная запись не должна принадлежать какому-либо пользователю домена, и должна использоваться исключительно для работы службы кластеров.
Для дальнейшей работы нужно использовать Windows 2000 Advanced Server или Windows 2000 Datacenter Server. (Это очень важно, так как в противном случае диски кластеров могут быть повреждены)
Диск кворума используется для хранения контрольных точек и файлов журнала восстановления базы данных кластера, обеспечивая управление кластером. Поэтому желательно создать один диск размером 50-100мб который в дальнейшем будет использоваться в качестве диска кворума.
В процессе установки службы кластеров назначаем букву нашему диску кворума- например Q.
После того, как шина данных, диски и разделы общего запоминающего устройства сконфигурированы, необходимо назначить буквы диска для всех разделов всех дисков кластера.
(Очень важно помнить, что точки подключения – это функциональная возможность файловой системы, которая позволяет устанавливать файловую систему, используя существующие каталоги, без назначения буквы диска. Точки подключения не поддерживаются кластерами. Любой внешний диск, используемый в качестве ресурса кластера, должен быть разбит на NTFS разделы, и этим разделам должны быть назначены буквы диска).
Во время установки службы кластера на первом узле все остальные узлы должны быть либо выключены, либо на них не должна быть загружена операционная система Windows 2000. Все общие запоминающие устройства должны быть включены.
На первом этапе установки мастер настройки службы кластеров собирает всю начальную информацию, необходимую для конфигурации кластера.
Если брать 2 узла, необходимо забить следующие IP :
10.1.1.1 для первого узла, и 10.1.1.2 для второго узла соответственно. Маску сети необходимо задать следующую 255.0.0.0
На каждом узле должно быть установлено как минимум два сетевых адаптера – один для подключения к публичной сети, и один для подключения к частной сети, состоящей из узлов кластера.
Сетевой адаптер частной сети обеспечивает взаимодействие между узлами, передачу сведений о текущем состоянии кластера и управление кластером. Сетевой адаптер публичной сети каждого узла соединяет кластер с публичной сетью, состоящей из клиентских компьютеров.
Важное замечание – нужно проверить физическое подключение адаптеров - адаптеры частной сети могут быть подключены только к другим адаптерам частной сети, и адаптеры публичной сети могут быть подключены только к коммутаторам публичной сети.
Все сетевые адаптеры кластера, подключенные к одной сети, должны быть одинаково настроены и использовать одинаковые значения параметров Дуплексный режим, Управление потоком, Тип подключения, и т. д. Даже если на разных узлах используется различное сетевое оборудование, значения этих параметров должны быть одинаковыми.
Стоит переименовать сети для больше ясности, например – вместо «Подключение по локальной сети 2» «Подключение к частной сети кластера»
Для проверки работы настроенного сетевого оборудования, выполняем следующие шаги для всех сетевых адаптеров каждого узла. Можно получить эту информацию, выполнив команду ipconfig на каждом узле:
- Нажмаем кнопку Пуск, выбираем команду Выполнить и набираем команду cmd в текстовом окне. Нажмаем OK.
- Набераем команду ipconfig /all и нажмаем клавишу ВВОД. Видим информацию о настройке IP-протокола для каждого сетевого адаптера на локальной машине.
- Набераем команду ping ipaddress где ipaddress – это IP-адрес соответствующего сетевого адаптера на другом узле.
Для службы кластеров необходимо создать отдельную доменную учетную запись, от имени которой она будет запускаться. Программа установки потребует ввода учетных данных для службы кластеров, поэтому учетная запись должна быть создана до начала установки службы. Учетная запись не должна принадлежать какому-либо пользователю домена, и должна использоваться исключительно для работы службы кластеров.
Создание нового кластера
Вводим имя кластера (до 15 символов) и нажимаем кнопку Далее. В нашем примере кластер будет называться MyCluster.
Вводим имя пользователя для учетной записи службы кластеров, которая была создана во время подготовки к установке
По умолчанию все SCSI-диски, не расположенные на той же шине, что и системный диск, также отображаются в списке дисков, управляемых службой кластеров. Поэтому, если узел подключен к нескольким шинам SCSI, некоторые диски, не использующиеся в общем запоминающем устройстве кластера, могут быть отображены в списке (например, внутренний SCSI-диск). Такие диски должны быть удалены из списка
Чтобы избежать возникновения единственной точки отказа, нужно предусмотреть использование нескольких частных сетей для взаимодействия между узлами кластера при его проектировании. Служба кластеров использует частные сети для обмена данными о состоянии кластера и управления им. Использование частных сетей для внутрикластерного взаимодействия обеспечивает большую безопасность по сравнению с использованием публичных сетей. Тем не менее, можно использовать публичную сеть для управления кластером или использовать смешанную (публичную и частную) сеть для внутреннего взаимодействия между узлами и внешнего взаимодействия с клиентскими системами. В любом случае нужно убедиться, что, по крайней мере, две сети используются для внутрикластерного взаимодействия, так как использование единственной сети создает опасность возникновения единственной точки отказа. Нужно понимать, что очередность работы мастера настройки службы кластеров с сетями может меняться.
Мастер настройки службы кластеров, автоматически присвоит IP-адрес кластера одной из публичных или смешанных сетей. Для выбора правильной сети используется указанная маска подсети.
Программа установки службы кластеров завершает процесс установки для первого узла, копируя установочные файлы службы кластеров. После завершения копирования файлов создаются записи в реестре для службы кластеров, создаются файлы журналов ресурса кворума, и служба кластеров начинает свою работу на первом узле.
После того, как служба кластеров будет запущена, появляется диалоговое окно сообщающее о успешной установки.
Вот и всё, кластер готов к работе!
Заключение
В данной курсовой работе были определены методы установки кластеров под ОС Windows.
Также были изучены способы установки кластера под ОС Linux.
Были изучены возможности спец-софта.
Были исследованы способы настройки кластеров.
Был создан кластер под операционной системой Windows, состоящий из двух персональных компьютеров.
Библиография.
Компьютерный информационный портал
http://www.oszone.net/
Офф. Документация от корпорации Microsoft
https://technet.microsoft.com/ru-ru/library/cc771509%28v=ws.10%29.aspx
Документация с информационного иностранного портала
http://clusteringformeremortals.com/2012/12/31/windows-server-2012-clustering-step-by-step/
Электронная энциклопедия Wikipedia https://ru.wikipedia.org/wiki/Microsoft_Foundation_Classes