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
в списке атрибутов хранилища (доступен в веб-интерфейсе Брест) и добавить туда имя нового узла.
Инициализировать новый узел виртуализации Брест.