9. Добавление нового узла виртуализации (KVM)

9. Добавление нового узла виртуализации (KVM)#

Порядок действий для добавления нового узла виртуализации:

  • установить ОС на физический сервер;

  • установить оперативное обновление uu1;

  • ввести сервер в домен ALD Pro;

  • подключить iSCSI;

  • установить и инициализировать сервис узла виртуализации для Брест.

Установка и настройка ОС производится так же, как и для существующих узлов виртуализации, требуемая версия ОС та же, Astra Linux 1.7.2.

Примечание

В приведенных примерах кода новая машина называется aichost4 и имеет IP-адрес 192.168.22.90.

Установка оперативного обновления uu1, как и установка клиентской части ALD Pro с последующим введением сервера в домен происходит автоматически.

Конфигурационный файл inventory.yml:

/home/astra/ald-brest-ceph/conf/inventory.yml

Дополнить как на примере:

---
...
aa_default_infra:
  hosts:
    ...
    aichost4:
      ansible_host: 192.168.22.90
      ansible_user: aicadmin

...
brest_kvm_nodes:
  hosts:
    ...
    aichost4:

После внесения правок выполнить:

cd /home/astra/ald-brest-ceph
task deploy

После успешного завершения исполнения скрипта можно перейти к подключению iSCSI, которое заключается только в установке пакетов и подключении существующих лунов.

Для автоматического подключения нужно создать новый Ansible playbook с именем additional_node.yml:

/home/astra/iscsi-rubackup/iscsi_playbook/additional_node.yml

Файл additional_node.yml заполнить согласно примеру ниже, где IP-адрес 172.22.0.14 — это IP-адрес узла, на котором распологаются iSCSI:

---
---
- hosts: brest
  become: true
  tasks:
  - name: Install the latest open-iscsi
    ansible.builtin.apt:
      name: "open-iscsi"
      state: "latest"
      update_cache: true

  - name: Logout iscsi
    shell:
      iscsiadm --mode node --logoutall=all ;
    ignore_errors: true

  - name: Discovery iscsi
    shell:
      #     iscsiadm --mode node --logoutall=all ;
      iscsiadm -m discovery -t sendtargets -p 172.22.0.14 > /tmp/iscsi1.txt ;
      iscsiadm -m node -l > /tmp/iscsi2.txt ;

  - name: Define path of iscsi conf -- step 1
    ansible.builtin.shell: ls -la /etc/iscsi/nodes | grep iqn | awk '{print $9}'
    register: dir_out1

  - debug: var=dir_out1.stdout

  - name: Define path of iscsi conf -- step2
    ansible.builtin.shell: ls -la /etc/iscsi/nodes/{{ dir_out1.stdout }}/ | grep "," | awk '{print $9}'
    register: dir_out2

  - debug: var=dir_out2.stdout

  - name: Define path of iscsi conf -- step3
    ansible.builtin.shell: ls -la /etc/iscsi/nodes/{{ dir_out1.stdout }}/{{ dir_out2.stdout }}/
    register: dir_out3

  - debug: var=dir_out3.stdout

  - name: Ensure iSCSI is set to automatic load
    ansible.builtin.lineinfile:
       path: /etc/iscsi/nodes/{{ dir_out1.stdout }}/{{ dir_out2.stdout }}/default
       regexp: '^node.startup = '
       line: node.startup = automatic

  - name: Install the latest LVM2
    ansible.builtin.apt:
      name: "lvm2"
      state: "latest"
      update_cache: true

Из файла inventory.yml:

/home/astra/iscsi-rubackup/iscsi_playbook/inventory.yml

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

[brest]
aichost4 ansible_host=192.168.22.90 ansible_user=aicadmin
ansible_password=Pa$$w0rd

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

ansible-playbook additional_node.yml -i inventory.yml

Найти атрибут BRIDGE_LIST в списке атрибутов хранилища (доступен в веб-интерфейсе Брест) и добавить туда имя нового узла.

Инициализировать новый узел виртуализации Брест.