Создание отказоустойчивой ИТ инфраструктуры. Часть 1 — подготовка к развёртыванию кластера oVirt 4.3

от автора

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

Вводная часть

Под ЦОДом (Центром Обработки Данных) может пониматься:

  • собственная стойка в своём «серверном помещении» на территории предприятия, удовлетворяющем минимальным требованиям по обеспечению электропитанием и охлаждением оборудования, а также имеющее выход в Интернет через двух независимых провайдеров;
  • арендуемая стойка с собственным оборудованием, расположенная в настоящем ЦОДе – т.н. collocation, который соответствует стандарту Tier III или IV, и в котором гарантируется надёжное электропитание, охлаждение и обеспечивается отказоустойчивый выход в Интернет;
  • полностью арендуемое оборудование в ЦОДе Tier III или IV.

Какой вариант размещения выбрать – в каждом случае всё индивидуально, и обычно зависит от нескольких основных факторов:

  • для чего предприятию вообще собственная IT инфраструктура;
  • чего именно хочет предприятие от IT инфраструктуры (надёжности, масштабируемости, управляемости и т.д.);
  • объёма начальных инвестиций в IT инфраструктуру, а также какого типа затраты на неё – капитальные (значит покупается своё оборудование), или операционные (оборудование обычно арендуется);
  • горизонта планирования самого предприятия.

Про факторы, влияющие на решение предприятия по созданию и использование его IT инфраструктуры, можно писать много, но наша цель в том, чтобы показать на практике, как создать эту самую инфраструктуру, чтобы она была и отказоустойчивая, и ещё можно было бы при этом сэкономить – снизить расходы на приобретение коммерческого ПО, или вообще их избежать.

Как показывает долгая практика, на железе экономить не стоит, так как скупой платит дважды, и даже гораздо больше. Но опять же – хорошее железо, это всего лишь рекомендация, и в конечном итоге что именно покупать и за сколько, зависит от возможностей предприятия, и «жадности» его руководства. Причём слово «жадность» следует понимать в хорошем смысле этого слова, так как лучше вложиться в железо на начальном этапе, чтобы потом не иметь серьёзных проблем по его дальнейшей поддержке и масштабированию, так как изначально неправильное планирование и чрезмерная экономия, могут привести в будущем к большим затратам, чем при запуске проекта.

Итак, исходные данные для проекта:

  • имеется предприятие, которое решило создать собственный веб-портал и вывести свою деятельность в Интернет;
  • предприятие решило арендовать стойку для размещения своего оборудования в хорошем датацентре, имеющем сертификацию по стандарту Tier III;
  • предприятие решило сильно не экономить на железе, и поэтому купило следующее оборудование с расширенными гарантиями и поддержкой:

Список оборудования

  • два физических сервера Dell PowerEdge R640 в таком составе:
  • два процессора Intel Xeon 5120
  • 512 Mb RAM
  • два SAS диска в RAID1, для установки ОС
  • встроенная 4-х портовая сетевая карта 1G
  • две 2-х портовые сетевые карты 10G
  • один 2-х портовый FC HBA 16G.
  • 2-х контроллерная СХД Dell MD3820f, подключенная посредством FC 16G напрямую к хостам Dell;
  • два коммутатора второго уровня — Cisco WS-C2960RX-48FPS-L объединённые в стек;
  • два коммутатора третьего уровня — Cisco WS-C3850-24T-E, объединённые в стек;
  • Стойка, UPS, PDU, консольные сервера – предоставляются датацентром.

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

Какое оборудование мы можем добавить, если предприятие решит увеличить производительность нашего вычислительного кластера:

  • у нас есть большой резерв по количеству портов на коммутаторах 2960Х, значит можно добавить больше аппаратных серверов;
  • докупить два FC коммутатора, чтобы подключить к ним СХД и дополнительные сервера;
  • уже имеющиеся сервера можно проапгрейдить – добавить памяти, заменить процессоры на более производительные, подключить к сети 10G уже имеющимися сетевыми адаптерами;
  • к СХД можно добавить дополнительные дисковые полки с необходимым типом дисков – SAS, SATA или SSD, зависит от планируемой нагрузки;
  • после добавления FC коммутаторов можно докупить ещё одну СХД, чтобы добавить ещё больше дисковой ёмкости, а если к ней докупить специальную опцию Remote Replication, то можно будет настроить репликацию данных между СХД как в границах одного ЦОДа, так и между ЦОДами (но это уже за рамками статьи);
  • также имеются коммутаторы третьего уровня – Cisco 3850, которые можно задействовать в качестве отказоустойчивого ядра сети, для высокоскоростной маршрутизации между внутренними сетями. Это очень поможет в дальнейшем, по мере роста внутренней инфраструктуры. Также у 3850 имеются порты 10G, которые можно задействовать позже, при обновлении сетевого оборудования до скорости 10G.

Так как сейчас без виртуализации никуда, то и мы конечно же будем в тренде, тем более это отличный способ для уменьшения расходов на приобретение дорогостоящих серверов для отдельных элементов инфраструктуры (веб-серверов, баз данных и т.п.), которые не всегда оптимально используются в случае низкой нагрузки, а именно так и будет в начале запуска проекта.

К тому же виртуализация имеет многие другие преимущества, которые нам очень могут пригодиться: отказоустойчивость ВМ от сбоя аппаратного сервера, Live migration между аппаратными узлами кластера для их обслуживания, ручное или автоматическое распределение нагрузки между узлами кластера, и т.п.

Для железа, приобретённого предприятием, напрашивается развёртывание высоко-доступного кластера VMware vSphere, но так как любое ПО от VMware известно своими «конскими» ценниками, то мы будем использовать абсолютно бесплатное программное обеспечение для управления виртуализацией – oVirt, на основе которого создаётся известный, но уже коммерческий продукт — RHEV.

Программное обеспечение oVirt необходимо для объединения между собой всех элементов инфраструктуры в одно целое, чтобы получить возможность удобной работы с высоко-доступными виртуальными машинами – это базы данных, веб-приложения, прокси-сервера, балансировщики, сервера для сбора логов и аналитики и т.п., то есть то, из чего и состоит веб-портал нашего предприятия.

Подытоживая это введение, нас ожидают следующие статьи, которые на практике покажут, как именно развернуть всю аппаратно-программную инфраструктуру предприятия:

Список статей

  • Часть 1. Подготовка к развёртыванию кластера oVirt 4.3.
  • Часть 2. Установка и настройка кластера oVirt 4.3.
  • Часть 3. Настройка кластера VyOS, организация отказоустойчивой внешней маршрутизации.
  • Часть 4. Настройка стека Cisco 3850, организация внутрисетевой маршрутизации.

Часть 1. Подготовка к развёртыванию кластера oVirt 4.3

Базовая настройка хостов

Установка и настройка ОС – это самый простой этап. Статей как правильно установить и настроить ОС – великое множество, так что нет смысла пытаться выдать что-то эксклюзивное по этому поводу.

Итак, у нас имеется два хоста Dell PowerEdge R640, на которые необходимо установить ОС и выполнить предварительные настройки, для их использования в качестве гипервизоров для запуска виртуальных машин в кластере oVirt 4.3.

Так как мы планируем использовать бесплатное некоммерческое ПО oVirt, то для развёртывания хостов выбрана ОС CentOS 7.7, хотя на хосты для oVirt’а возможна установка и других ОС:

  • специального билда на основе RHEL, т.н. oVirt Node;
  • OS Oracle Linux, летом 2019 г. было объявлено о поддержке работы oVirt на ней.

Перед установкой ОС рекомендуется:

  • настроить сетевой интерфейс iDRAC на обоих хостах;
  • обновить прошивки для BIOS и iDRAC до последних версий;
  • настроить System Profile сервера желательно в режиме Performance;
  • настроить RAID из локальных дисков (рекомендуется RAID1), для установки ОС на сервер.

Затем устанавливаем ОС на созданный ранее через iDRAC диск – процесс установки обычный, каких-то особых моментов в нём нет. Доступ к консоли сервера для начала установки ОС также можно получить через iDRAC, хотя ничто не мешает подключить монитор, клавиатуру и мышь напрямую к серверу и установить ОС с «флэшки».

После установки ОС, выполняем её начальные настройки:

systemctl enable network.service systemctl start network.service systemctl status network.service

systemctl stop NetworkManager systemctl disable NetworkManager systemctl status NetworkManager

yum install -y ntp systemctl enable ntpd.service systemctl start ntpd.service

cat /etc/sysconfig/selinux SELINUX=disabled SELINUXTYPE=targeted

cat /etc/security/limits.conf  *               soft    nofile         65536  *               hard   nofile         65536

cat /etc/sysctl.conf vm.max_map_count = 262144 vm.swappiness = 1

Устанавливаем базовый набор ПО

Для начальной настройки ОС, нужно настроить любой сетевой интерфейс на сервере, чтобы можно было бы получить доступ в Интернет, для обновления ОС и установки необходимых пакетов ПО. Это можно сделать как в процессе установки ОС, так и после него.

yum -y install epel-release yum update yum -y install bind-utils yum-utils net-tools git htop iotop nmon pciutils sysfsutils sysstat mc nc rsync wget traceroute gzip unzip telnet 

Все вышеуказанные настройки и набор ПО – это дело личных предпочтений, и данный набор носит всего лишь рекомендательный характер.

Так как наш хост будет играть роль гипервизора, то включим нужный профиль производительности:

systemctl enable tuned  systemctl start tuned  systemctl status tuned 

tuned-adm profile  tuned-adm profile virtual-host 

Подробнее о профиле производительности можно почитать здесь: «Chapter 4. tuned and tuned-adm«.

После установки ОС, переходим к следующей части – настройке сетевых интерфейсов на хостах, и стека коммутаторов Cisco 2960X.

Настройка стека коммутаторов Cisco 2960X

В нашем проекте будут использоваться следующие номера VLAN’ов — или широковещательных доменов, изолированных друг от друга, с целью разделения различных видов трафика:

VLAN 1 – Internet
VLAN 17 – Management (iDRAC, СХД, switches management)
VLAN 32 – VM production network
VLAN 33 – interconnection network (to external contractors)
VLAN 34 – VM test network
VLAN 35 – VM developer network
VLAN 40 – Monitoring network

Перед началом работ, приведём схему на уровне L2, к которой мы в итоге должны прийти:

Для сетевого взаимодействия хостов oVirt и виртуальных машин между собой, а также для управления нашей СХД, необходима настройка стека коммутаторов Cisco 2960X.

У хостов Dell имеются встроенные 4-х портовые сетевые карты, следовательно, организовать их подключение к Cisco 2960X целесообразно с помощью отказоустойчивого сетевого подключения, используя для этого группировку физических сетевых портов в логический интерфейс, и протокол LACP (802.3ad):

  • первые два порта на хосте настраиваются в режиме бондинга и подключаются к коммутатору 2960X – на этом логическом интерфейсе будет настроен bridge с адресом для управления хостом, мониторинга, связи с другими хостами в кластере oVirt, также он будет использоваться для Live migration виртуальных машин;
  • вторые два порта на хосте также настраиваются в режиме бондинга и подключаются к 2960X – на этом логическом интерфейсе с помощью oVirt, в дальнейшем будут созданы bridge’и (в соответствующих VLAN’ах) к которым будут подключаться виртуальные машины.
  • оба сетевых порта, в рамках одного логического интерфейса, будут активными, т.е. трафик по ним может передаваться одновременно, в режиме балансировки.
  • сетевые настройки на узлах кластера должны быть абсолютно ОДИНАКОВЫМИ, за исключением IP адресов.

Базовая настройка стека коммутаторов 2960X и его портов

Предварительно наши коммутаторы должны быть:

  • смонтированы в стойку;
  • соединены посредством двух специальных кабелей нужной длины, например, CAB-STK-E-1M;
  • подключены к электропитанию;
  • подключены к рабочей станции администратора через консольный порт, для их начального конфигурирования.

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

После выполнения вышеуказанных действий, выполняем настройку коммутаторов.
Что означает каждая команда, расшифровывать в рамках данной статьи не предполагается, при необходимости всю информацию можно найти самостоятельно.
Наша цель – максимально быстро настроить стек коммутаторов и подключить к нему хосты и управляющие интерфейсы СХД.

1) Подключаемся к ведущему коммутатору, переходим в привилегированный режим, далее заходим в режим конфигурирования и производим основные настройки.

Базовый конфиг коммутатора:

 enable  configure terminal   hostname 2960X   no service pad  service timestamps debug datetime msec  service timestamps log datetime localtime show-timezone msec  no service password-encryption  service sequence-numbers   switch 1 priority 15  switch 2 priority 14  stack-mac persistent timer 0   clock timezone MSK 3   vtp mode transparent   ip subnet-zero   vlan 17   name Management   vlan 32   name PROD    vlan 33   name Interconnect   vlan 34   name Test   vlan 35   name Dev   vlan 40   name Monitoring   spanning-tree mode rapid-pvst  spanning-tree etherchannel guard misconfig  spanning-tree portfast bpduguard default  spanning-tree extend system-id  spanning-tree vlan 1-40 root primary  spanning-tree loopguard default  vlan internal allocation policy ascending  port-channel load-balance src-dst-ip   errdisable recovery cause loopback  errdisable recovery cause bpduguard  errdisable recovery interval 60  line con 0  session-timeout 60  exec-timeout 60 0  logging synchronous line vty 5 15  session-timeout 60  exec-timeout 60 0  logging synchronous   ip http server  ip http secure-server  no vstack  interface Vlan1  no ip address  shutdown   exit 

Перезагружаем стек коммутаторов командой «reload» на ведущем коммутаторе switch 1.

2) Настраиваем сетевые порты коммутатора в режиме доступа (access) в VLAN 17, для подключения управляющих интерфейсов СХД и iDRAC серверов.

Настройка портов управления:

interface GigabitEthernet1/0/5  description iDRAC - host1  switchport access vlan 17  switchport mode access  spanning-tree portfast edge  interface GigabitEthernet1/0/6  description Storage1 - Cntr0/Eth0  switchport access vlan 17  switchport mode access  spanning-tree portfast edge  interface GigabitEthernet2/0/5  description iDRAC - host2  switchport access vlan 17  switchport mode access  spanning-tree portfast edge  interface GigabitEthernet2/0/6  description Storage1 – Cntr1/Eth0  switchport access vlan 17  switchport mode access  spanning-tree portfast edge

3) После перезагрузки стека, проверяем, чтобы он работал корректно:

Проверка функционирования стека:

2960X#show switch stack-ring speed  Stack Ring Speed        : 20G Stack Ring Configuration: Full Stack Ring Protocol     : FlexStack  2960X#show switch stack-ports   Switch #    Port 1       Port 2   --------    ------       ------     1           Ok           Ok     2           Ok           Ok  2960X#show switch neighbors   Switch #    Port 1       Port 2   --------    ------       ------       1         2             2       2         1             1  2960X#show switch detail Switch/Stack Mac Address : 0cd0.f8e4.ХХХХ Mac persistency wait time: Indefinite                                            H/W   Current Switch#  Role   Mac Address     Priority Version  State ---------------------------------------------------------- *1       Master 0cd0.f8e4.ХХХХ    15     4       Ready  2       Member 0029.c251.ХХХХ     14     4       Ready           Stack Port Status             Neighbors Switch#  Port 1     Port 2           Port 1   Port 2 --------------------------------------------------------   1        Ok         Ok                2        2   2        Ok         Ok                1        1

4) Настройка SSH доступа к стеку 2960X

Для удаленного управления стеком через SSH, будем использовать IP 172.20.1.10, настроенный на SVI (switch virtual interface) VLAN17.

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

Настройка SSH доступа к стеку коммутаторов:

ip default-gateway 172.20.1.2  interface vlan 17  ip address 172.20.1.10 255.255.255.0  hostname 2960X  ip domain-name hw.home-lab.ru  no ip domain-lookup  clock set 12:47:04 06 Dec 2019  crypto key generate rsa  ip ssh version 2 ip ssh time-out 90  line vty 0 4  session-timeout 60  exec-timeout 60 0  privilege level 15  logging synchronous  transport input ssh  line vty 5 15  session-timeout 60  exec-timeout 60 0  privilege level 15  logging synchronous  transport input ssh  aaa new-model aaa authentication login default local  username cisco privilege 15 secret my_ssh_password

Настраиваем пароль для входа в привилегированный режим:

enable secret *myenablepassword* service password-encryption

Настраиваем NTP:

ntp server 85.21.78.8 prefer ntp server 89.221.207.113 ntp server 185.22.60.71 ntp server 192.36.143.130 ntp server 185.209.85.222  show ntp status show ntp associations show clock detail

5) Настраиваем логические интерфейсы Etherchannel и физические порты, подключаемые к хостам. Для простоты конфигурации, все имеющиеся VLAN’ы будут разрешены на всех логических интерфейсах, но обычно рекомендуется настраивать только то, что нужно:

Настройка интерфейсов Etherchannel:

interface Port-channel1  description EtherChannel with Host1-management  switchport trunk allowed vlan 1,17,30-40  switchport mode trunk  spanning-tree portfast edge trunk  interface Port-channel2  description EtherChannel with Host2-management  switchport trunk allowed vlan 1,17,30-40  switchport mode trunk  spanning-tree portfast edge trunk  interface Port-channel3  description EtherChannel with Host1-VM  switchport trunk allowed vlan 1,17,30-40  switchport mode trunk  spanning-tree portfast edge trunk  interface Port-channel4  description EtherChannel with Host2-VM  switchport trunk allowed vlan 1,17,30-40  switchport mode trunk  spanning-tree portfast edge trunk  interface GigabitEthernet1/0/1  description Host1-management  switchport trunk allowed vlan 1,17,30-40  switchport mode trunk  channel-protocol lacp  channel-group 1 mode active  interface GigabitEthernet1/0/2  description Host2-management   switchport trunk allowed vlan 1,17,30-40  switchport mode trunk  channel-protocol lacp  channel-group 2 mode active  interface GigabitEthernet1/0/3  description Host1-VM   switchport trunk allowed vlan 1,17,30-40  switchport mode trunk  channel-protocol lacp  channel-group 3 mode active  interface GigabitEthernet1/0/4  description Host2-VM  switchport trunk allowed vlan 1,17,30-40  switchport mode trunk  channel-protocol lacp  channel-group 4 mode active  interface GigabitEthernet2/0/1  description Host1-management  switchport trunk allowed vlan 1,17,30-40  switchport mode trunk  channel-protocol lacp  channel-group 1 mode active  interface GigabitEthernet2/0/2  description Host2-management   switchport trunk allowed vlan 1,17,30-40  switchport mode trunk  channel-protocol lacp  channel-group 2 mode active  interface GigabitEthernet2/0/3  description Host1-VM   switchport trunk allowed vlan 1,17,30-40  switchport mode trunk  channel-protocol lacp  channel-group 3 mode active  interface GigabitEthernet2/0/4  description Host2-VM  switchport trunk allowed vlan 1,17,30-40  switchport mode trunk  channel-protocol lacp  channel-group 4 mode active

Первичная настройка сетевых интерфейсов для виртуальных машин, на хостах Host1 и Host2

Проверяем наличие необходимых для работы бондинга модулей в системе, устанавливаем модуль для управления бриджами:

modinfo bonding modinfo 8021q yum install bridge-utils

Настройка на хостах логического интерфейса BOND1 для виртуальных машин, и его физических интерфейсов:

cat /etc/sysconfig/network-scripts/ifcfg-bond1 #DESCRIPTION - management DEVICE=bond1 NAME=bond1 TYPE=Bond IPV6INIT=no ONBOOT=yes USERCTL=no NM_CONTROLLED=no BOOTPROTO=none BONDING_OPTS='mode=4 lacp_rate=1 xmit_hash_policy=2'  cat /etc/sysconfig/network-scripts/ifcfg-em2 #DESCRIPTION - management DEVICE=em2 TYPE=Ethernet BOOTPROTO=none ONBOOT=yes MASTER=bond1 SLAVE=yes USERCTL=no  NM_CONTROLLED=no   cat /etc/sysconfig/network-scripts/ifcfg-em3 #DESCRIPTION - management DEVICE=em3 TYPE=Ethernet BOOTPROTO=none ONBOOT=yes MASTER=bond1 SLAVE=yes USERCTL=no  NM_CONTROLLED=no 

После завершения настроек на стеке 2960Х и хостах, рестартуем сеть на хостах, и проверяем работоспособность логического интерфейса.

  • на хосте:

systemctl restart network  cat /proc/net/bonding/bond1 Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)  Bonding Mode: IEEE 802.3ad Dynamic link aggregation Transmit Hash Policy: layer2+3 (2) MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 ... 802.3ad info LACP rate: fast Min links: 0 Aggregator selection policy (ad_select): stable System priority: 65535 ... Slave Interface: em2 MII Status: up Speed: 1000 Mbps Duplex: full ... Slave Interface: em3 MII Status: up Speed: 1000 Mbps Duplex: full

  • на стеке коммутаторов 2960Х:

2960X#show lacp internal Flags:  S - Device is requesting Slow LACPDUs         F - Device is requesting Fast LACPDUs         A - Device is in Active mode       P - Device is in Passive mode  Channel group 1                             LACP port     Admin     Oper    Port        Port Port      Flags   State     Priority      Key       Key     Number      State Gi1/0/1   SA      bndl      32768         0x1       0x1     0x102       0x3D Gi2/0/1   SA      bndl      32768         0x1       0x1     0x202       0x3D  2960X#sh etherchannel summary Flags:  D - down        P - bundled in port-channel         I - stand-alone s - suspended         H - Hot-standby (LACP only)         R - Layer3      S - Layer2         U - in use      N - not in use, no aggregation         f - failed to allocate aggregator          M - not in use, minimum links not met         m - not in use, port not aggregated due to minimum links not met         u - unsuitable for bundling         w - waiting to be aggregated         d - default port          A - formed by Auto LAG  Number of channel-groups in use: 11 Number of aggregators:           11  Group  Port-channel  Protocol    Ports ------+-------------+-----------+----------------------------------------------- 1      Po1(SU)         LACP      Gi1/0/1(P)  Gi2/0/1(P)

Первичная настройка сетевых интерфейсов для управления ресурсами кластера, на хостах Host1 и Host2

Настройка на хостах логического интерфейса BOND1 для управления, и его физических интерфейсов:

cat /etc/sysconfig/network-scripts/ifcfg-bond0 #DESCRIPTION - management DEVICE=bond0 NAME=bond0 TYPE=Bond BONDING_MASTER=yes IPV6INIT=no ONBOOT=yes USERCTL=no NM_CONTROLLED=no BOOTPROTO=none BONDING_OPTS='mode=4 lacp_rate=1 xmit_hash_policy=2'  cat /etc/sysconfig/network-scripts/ifcfg-em0 #DESCRIPTION - management DEVICE=em0 TYPE=Ethernet BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes USERCTL=no  NM_CONTROLLED=no   cat /etc/sysconfig/network-scripts/ifcfg-em1 #DESCRIPTION - management DEVICE=em1 TYPE=Ethernet BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes USERCTL=no  NM_CONTROLLED=no 

После завершения настроек на стеке 2960Х и хостах, рестартуем сеть на хостах, и проверяем работоспособность логического интерфейса.

systemctl restart network cat /proc/net/bonding/bond1  2960X#show lacp internal 2960X#sh etherchannel summary

Настраиваем управляющий сетевой интерфейс на каждом хосте в VLAN 17, и привязываем его к логическому интерфейсу BOND1:

Настройка VLAN17 на Host1:

cat /etc/sysconfig/network-scripts/ifcfg-bond1.17 DEVICE=bond1.17 NAME=bond1-vlan17 BOOTPROTO=none ONBOOT=yes  USERCTL=no  NM_CONTROLLED=no  VLAN=yes MTU=1500   IPV4_FAILURE_FATAL=yes IPV6INIT=no IPADDR=172.20.17.163 NETMASK=255.255.255.0 GATEWAY=172.20.17.2 DEFROUTE=yes DNS1=172.20.17.8 DNS2=172.20.17.9 ZONE=public

Настройка VLAN17 на Host2:

cat /etc/sysconfig/network-scripts/ifcfg-bond1.17 DEVICE=bond1.17 NAME=bond1-vlan17 BOOTPROTO=none ONBOOT=yes  USERCTL=no  NM_CONTROLLED=no  VLAN=yes MTU=1500   IPV4_FAILURE_FATAL=yes IPV6INIT=no IPADDR=172.20.17.164 NETMASK=255.255.255.0 GATEWAY=172.20.17.2 DEFROUTE=yes DNS1=172.20.17.8 DNS2=172.20.17.9 ZONE=public

Делаем рестарт сети на хостах и проверяем их видимость между собой.

На этом настройка стека коммутаторов Cisco 2960X закончена, и если всё было сделано правильно, то теперь мы имеем сетевую связанность всех элементов инфраструктуры между собой на уровне L2.

Настройка СХД Dell MD3820f

Перед началом работ по настройке СХД, она уже должна быть подключена к стеку коммутаторов Cisco 2960Х управляющими интерфейсами, а также к хостам Host1 и Host2 через FC.

Общая схема, как СХД должна быть подключена к стеку коммутаторов, приводилась в предыдущей главе.

Схема подключения СХД по FC к хостам, должна выглядеть так:

Во время подключения, необходимо записать WWPN адреса для FC HBA хостов, подключенных к FC портам на СХД – это будет необходимо для последующей настройки привязки хостов к LUN’ам на СХД.

На рабочую станцию администратора скачиваем и устанавливаем утилиту для управления СХД Dell MD3820f – PowerVault Modular Disk Storage Manager (MDSM).
Подключаемся к ней через её IP адреса по умолчанию, и затем настраиваем наши адреса из VLAN17, для управления контроллерами через TCP/IP:

Storage1:

ControllerA IP - 172.20.1.13, MASK - 255.255.255.0, Gateway - 172.20.1.2 ControllerB IP - 172.20.1.14, MASK - 255.255.255.0, Gateway - 172.20.1.2

После настройки адресов, заходим в интерфейс управления СХД и задаём пароль, настраиваем время, обновляем прошивки для контроллеров и дисков, если это необходимо и т.п.
Как это делается – описано в руководстве по администрированию СХД.

После выполнения вышеуказанных настроек, нам нужно будет сделать всего несколько действий:

  1. Настроить идентификаторы хостовых FC портов – Host Port Identifiers.
  2. Создать группу хостов – Host group и добавить в неё два наших хоста Dell.
  3. Создать дисковую группу и в ней виртуальные диски (или LUN’ы), которые будут презентованы хостам.
  4. Настроить презентацию виртуальных дисков (или LUN’ов) для хостов.

Добавление новых хостов и привязка к ним идентификаторов хостовых FC портов, делается через меню – Host Mappings -> Define -> Hosts…
WWPN адреса FC HBA хостов можно найти, например, в iDRAC сервера.

В результате у нас должна получиться примерно такая картинка:

Добавление новой группы хостов и привязка к ней хостов, делается через меню – Host Mappings -> Define -> Host Group…
Для хостов выбираем тип ОС – Linux (DM-MP).

После создания группы хостов, через вкладку Storage & Copy Services, создаём дисковую группу – Disk Group, с типом зависящим от требований к отказоустойчивости, например, RAID10, а в ней виртуальные диски нужного размера:

И наконец, финальный этап — презентация виртуальных дисков (или LUN’ов) для хостов.
Для этого через меню – Host Mappings -> Lun mapping -> Add… делаем привязку виртуальных дисков к хостам, назначая им номера.

Всё должно получиться так, как на этом скриншоте:

На этом с настройкой СХД мы заканчиваем, и если всё сделано было правильно, то хосты должны увидеть презентованные им LUN’ы через свои FC HBA.
Заставим систему обновить информацию о подключенных дисках:

ls -la /sys/class/scsi_host/ echo "- - -" > /sys/class/scsi_host/host[0-9]/scan

Посмотрим, какие устройства видны на наших серверах:

cat /proc/scsi/scsi Attached devices: Host: scsi0 Channel: 02 Id: 00 Lun: 00   Vendor: DELL     Model: PERC H330 Mini   Rev: 4.29   Type:   Direct-Access                    ANSI  SCSI revision: 05 Host: scsi15 Channel: 00 Id: 00 Lun: 00   Vendor: DELL     Model: MD38xxf          Rev: 0825   Type:   Direct-Access                    ANSI  SCSI revision: 05 Host: scsi15 Channel: 00 Id: 00 Lun: 01   Vendor: DELL     Model: MD38xxf          Rev: 0825   Type:   Direct-Access                    ANSI  SCSI revision: 05 Host: scsi15 Channel: 00 Id: 00 Lun: 04   Vendor: DELL     Model: MD38xxf          Rev: 0825   Type:   Direct-Access                    ANSI  SCSI revision: 05 Host: scsi15 Channel: 00 Id: 00 Lun: 11   Vendor: DELL     Model: MD38xxf          Rev: 0825   Type:   Direct-Access                    ANSI  SCSI revision: 05 Host: scsi15 Channel: 00 Id: 00 Lun: 31   Vendor: DELL     Model: Universal Xport  Rev: 0825   Type:   Direct-Access                    ANSI  SCSI revision: 05 Host: scsi18 Channel: 00 Id: 00 Lun: 00   Vendor: DELL     Model: MD38xxf          Rev: 0825   Type:   Direct-Access                    ANSI  SCSI revision: 05 Host: scsi18 Channel: 00 Id: 00 Lun: 01   Vendor: DELL     Model: MD38xxf          Rev: 0825   Type:   Direct-Access                    ANSI  SCSI revision: 05 Host: scsi18 Channel: 00 Id: 00 Lun: 04   Vendor: DELL     Model: MD38xxf          Rev: 0825   Type:   Direct-Access                    ANSI  SCSI revision: 05 Host: scsi18 Channel: 00 Id: 00 Lun: 11   Vendor: DELL     Model: MD38xxf          Rev: 0825   Type:   Direct-Access                    ANSI  SCSI revision: 05 Host: scsi18 Channel: 00 Id: 00 Lun: 31   Vendor: DELL     Model: Universal Xport  Rev: 0825   Type:   Direct-Access                    ANSI  SCSI revision: 05  lsscsi [0:2:0:0]    disk    DELL     PERC H330 Mini   4.29  /dev/sda [15:0:0:0]   disk    DELL     MD38xxf          0825  - [15:0:0:1]   disk    DELL     MD38xxf          0825  /dev/sdb [15:0:0:4]   disk    DELL     MD38xxf          0825  /dev/sdc [15:0:0:11]  disk    DELL     MD38xxf          0825  /dev/sdd [15:0:0:31]  disk    DELL     Universal Xport  0825  -  [18:0:0:0]   disk    DELL     MD38xxf          0825  - [18:0:0:1]   disk    DELL     MD38xxf          0825  /dev/sdi [18:0:0:4]   disk    DELL     MD38xxf          0825  /dev/sdj [18:0:0:11]  disk    DELL     MD38xxf          0825  /dev/sdk [18:0:0:31]  disk    DELL     Universal Xport  0825  -

На хостах также дополнительно можно настроить multipath, и хотя при установке oVirt он может сделать это и сам, но лучше проверить корректность работы MP заранее самим.

Установка и настройка DM Multipath

yum install device-mapper-multipath mpathconf --enable --user_friendly_names y  cat /etc/multipath.conf | egrep -v "^\s*(#|$)" defaults {     user_friendly_names yes             find_multipaths yes }  blacklist {   wwid 26353900f02796769   devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"        devnode "^hd[a-z]"  }

Устанавливаем сервис MP в автостарт и запускаем его:

systemctl enable multipathd && systemctl restart multipathd

Проверка информации о загруженных модулях для работы MP:

lsmod | grep dm_multipath dm_multipath           27792  6 dm_service_time dm_mod                124407  139 dm_multipath,dm_log,dm_mirror  modinfo dm_multipath filename:       /lib/modules/3.10.0-957.12.2.el7.x86_64/kernel/drivers/md/dm-multipath.ko.xz license:        GPL author:         Sistina Software <dm-devel@redhat.com> description:    device-mapper multipath target retpoline:      Y rhelversion:    7.6 srcversion:     985A03DCAF053D4910E53EE depends:        dm-mod intree:         Y vermagic:       3.10.0-957.12.2.el7.x86_64 SMP mod_unload modversions signer:         CentOS Linux kernel signing key sig_key:        A3:2D:39:46:F2:D3:58:EA:52:30:1F:63:37:8A:37:A5:54:03:00:45 sig_hashalgo:   sha256

Просматриваем сводную информацию о существующей конфигурации multipath:

mpathconf multipath is enabled find_multipaths is disabled user_friendly_names is disabled dm_multipath module is loaded multipathd is running

После добавления нового LUN на СХД и презентации его хосту, на нём нужно выполнить сканирование подключенных к хосту HBA.

systemctl reload multipathd multipath -v2

Ну и наконец, проверяем, все ли LUN’ы были презентованы на СХД для хостов, и ко всем ли ведут два пути.

Проверка работы MP:

multipath -ll 3600a098000e4b4b3000003175cec1840 dm-2 DELL    ,MD38xxf size=2.0T features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw |-+- policy='service-time 0' prio=14 status=active | `- 15:0:0:1  sdb 8:16  active ready running `-+- policy='service-time 0' prio=9 status=enabled   `- 18:0:0:1  sdi 8:128 active ready running 3600a098000e4b48f000002ab5cec1921 dm-6 DELL    ,MD38xxf size=10T features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw |-+- policy='service-time 0' prio=14 status=active | `- 18:0:0:11 sdk 8:160 active ready running `-+- policy='service-time 0' prio=9 status=enabled   `- 15:0:0:11 sdd 8:48  active ready running 3600a098000e4b4b3000003c95d171065 dm-3 DELL    ,MD38xxf size=150G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw |-+- policy='service-time 0' prio=14 status=active | `- 15:0:0:4  sdc 8:32  active ready running `-+- policy='service-time 0' prio=9 status=enabled   `- 18:0:0:4  sdj 8:144 active ready running

Как видно, все три виртуальных диска на СХД видны по двум путям. Таким образом все подготовительные работы выполнены, а значит можно переходить к выполнению основной части – настройке кластера oVirt, что будет рассмотрено в следующей статье.

ссылка на оригинал статьи https://habr.com/ru/company/lenvendo/blog/483980/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *