Ten artykuł jest kolejnym w cyklu dotyczącym oVirt, wprowadzenie .
Artykuły
- Instalacja menedżera (ovirt-engine) i hipernadzorców (hosts) – Jesteśmy tutaj
Zatem rozważmy kwestie początkowej instalacji komponentów ovirt-engine i ovirt-host.
Dokładniejsze informacje o procesach instalacji można zawsze znaleźć w .
Spis treści
Instalacja ovirt-engine
Dla Engine minimalne wymagania to 2 rdzenie / 4 GiB RAM / 25 GiB pamięci. Zalecane to od 4 rdzeni / 16 GiB RAM / 50 GiB pamięci. Używamy opcji Standalone Manager, kiedy engine działa na dedykowanej maszynie fizycznej lub wirtualnej poza zarządzanym klastrem. Do naszej instalacji weźmiemy na przykład maszynę wirtualną na oddzielnym ESXi*. Warto korzystać z narzędzi do automatyzacji wdrażania lub klonowania z wcześniej przygotowanego szablonu lub instalacji kickstart.
*Uwaga: dla systemu produkcyjnego to zły pomysł, ponieważ menedżer działa bez zapasów i staje się wąskim gardłem. W takim przypadku lepiej rozważyć opcję Self-hosted Engine.
W razie potrzeby, procedura konwersji z Standalone na Self Hosted jest szczegółowo opisana w . W szczególności, należy wydać polecenie reinstall z obsługą Hosted Engine dla hosta.
Na VM instalujemy CentOS 7 w minimalnej konfiguracji, następnie aktualizujemy i restartujemy system:
$ sudo yum update -y && sudo rebootDla maszyny wirtualnej warto zainstalować agenta gościa:
$ sudo yum install open-vm-toolsdla hostów VMware ESXi lub dla oVirt:
$ sudo yum install ovirt-guest-agentPodłączamy repozytorium i instalujemy menedżera:
$ sudo yum install https://resources.ovirt.org/pub/yum-repo/ovirt-release43.rpm
$ sudo yum install ovirt-engine
Podstawowa konfiguracja:
$ sudo engine-setupW większości przypadków ustawienia domyślne są wystarczające, aby je automatycznie wykorzystać, można uruchomić konfigurację z kluczem:
$ sudo engine-setup --accept-defaults Teraz możemy połączyć się z naszym nowym engine pod adresem . Tutaj jest jeszcze pustawo, więc przechodzimy do instalacji hipernadzorców.
Instalacja ovirt-host
Na fizycznym hoście instalujemy CentOS 7 w minimalnej konfiguracji, następnie podłączamy repozytorium, aktualizujemy i restartujemy system:
$ sudo yum install https://resources.ovirt.org/pub/yum-repo/ovirt-release43.rpm
$ sudo yum update -y && sudo reboot
Uwaga: do instalacji warto używać narzędzi do automatyzacji wdrażania lub instalacji kickstart.
Przykład pliku kickstart
Uwaga! Istniejące partycje są automatycznie usuwane! Bądź ostrożny!
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us','ru' --switch='grp:alt_shift_toggle'
# System language
lang ru_RU.UTF-8
# Network information
network --bootproto=dhcp --device=ens192 --ipv6=auto --activate
network --hostname=kvm01.lab.example.com
# Root password 'monteV1DE0'
rootpw --iscrypted $6$6oPcf0GW9VdmJe5w$6WBucrUPRdCAP.aBVnUfvaEu9ozkXq9M1TXiwOm41Y58DEerG8b3Ulme2YtxAgNHr6DGIJ02eFgVuEmYsOo7./
# User password 'metroP0!is'
user --name=mgmt --groups=wheel --iscrypted --password=$6$883g2lyXdkDLbKYR$B3yWx1aQZmYYi.aO10W2Bvw0Jpkl1upzgjhZr6lmITTrGaPupa5iC3kZAOvwDonZ/6ogNJe/59GN5U8Okp.qx.
# System services
services --enabled="chronyd"
# System timezone
timezone Europe/Moscow --isUtc
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
# Partition clearing information
clearpart --all
# Disk partitioning information
part /boot --fstype xfs --size=1024 --ondisk=sda --label=boot
part pv.01 --size=45056 --grow
volgroup HostVG pv.01 --reserved-percent=20
logvol swap --vgname=HostVG --name=lv_swap --fstype=swap --recommended
logvol none --vgname=HostVG --name=HostPool --thinpool --size=40960 --grow
logvol / --vgname=HostVG --name=lv_root --thin --fstype=ext4 --label="root" --poolname=HostPool --fsoptions="defaults,discard" --size=6144 --grow
logvol /var --vgname=HostVG --name=lv_var --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=16536
logvol /var/crash --vgname=HostVG --name=lv_var_crash --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=10240
logvol /var/log --vgname=HostVG --name=lv_var_log --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=8192
logvol /var/log/audit --vgname=HostVG --name=lv_var_audit --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=2048
logvol /home --vgname=HostVG --name=lv_home --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=1024
logvol /tmp --vgname=HostVG --name=lv_tmp --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=1024
%packages
@^minimal
@core
chrony
kexec-tools
%end
%addon com_redhat_kdump --enable --reserve-mb='auto'
%end
%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
# Reboot when the install is finished.
reboot --eject
Zapisz ten plik, na przykład na . Aby użyć skryptu podczas uruchamiania instalacji systemu operacyjnego, należy wybrać opcję ‘Install CentOS 7’, włączyć tryb edycji parametrów (klawisz Tab) i na końcu (z odstępem, bez cudzysłowów) dodać
' inst.ks=ftp://ftp.example.com/pub/labkvm.cfg'.
Skrypt instalacyjny usuwa istniejące partycje na /dev/sda, tworzy nowe według (można je sprawdzić po instalacji poleceniem lsblk). Nazwa hosta jest ustawiana jako kvm01.lab.example.com (po instalacji można ją zmienić poleceniem hostnamectl set-hostname kvm03.lab.example.com), adres IP jest uzyskiwany automatycznie, strefa czasowa to moskiewska, dodano wsparcie dla języka rosyjskiego.
Hasło użytkownika root: monteV1DE0, hasło użytkownika mgmt: metroP0!is.
Uwaga! Istniejące partycje są usuwane automatycznie! Bądź ostrożny!
Powtarzamy (lub wykonujemy równocześnie) na wszystkich hostach. Od włączenia „pustego” serwera do stanu gotowości, biorąc pod uwagę 2 długie uruchomienia, potrzeba około 20 minut.
Dodawanie węzła do oVirt
Wykonuje się bardzo prosto:
Compute → Hosts → New →…
W kreatorze wymagane są pola Name (nazwa wyświetlana, np. kvm03), Hostname (FQDN, np. kvm03.lab.example.com) oraz sekcja Authentication — użytkownik root (niezmiennie) — hasło lub klucz publiczny SSH.
Po naciśnięciu przycisku Ok Otrzymasz komunikat «Nie skonfigurowałeś zarządzania zasilaniem dla tego hosta. Czy na pewno chcesz kontynuować?». To normalne — zarządzanie zasilaniem zbadamy później, po udanym podłączeniu hosta. Jednakże, jeśli maszyny, na których zainstalowane są hosty, nie obsługują zarządzania (IPMI, iLO, DRAC itd.), zalecam, aby je wyłączyć: Compute → Clusters → Default → Edit → Fencing Policy → Enable fencing, odznaczyć.
Jeśli na hoście nie został podłączony repozytorium oVirt, instalacja zakończy się niepowodzeniem, ale nie ma tragedii — należy go dodać, a następnie kliknąć Install -> Reinstall.
Podłączenie hosta zajmuje nie więcej niż 5-10 minut.
Konfiguracja interfejsu sieciowego
Ponieważ budujemy system odporny na awarie, połączenie sieciowe również powinno zapewniać połączenie zapasowe, co realizowane jest na zakładce Compute → Hosts → HOST → Network Interfaces — Setup Host Networks.
W zależności od możliwości Twojego sprzętu sieciowego oraz podejść architektonicznych, istnieją różne opcje. Najlepszym rozwiązaniem jest podłączenie się do top-of-rack switchy, aby w przypadku awarii jednego urządzenia dostępność sieciowa nie została przerwana. Rozważmy to na przykładzie połączenia agregowanego LACP. Aby skonfigurować połączenie agregowane, „złap” myszką 2-gi nieużywany adapter i „przeciągnij” go do 1-go. Otworzy się okno Utwórz nowe połączenie, gdzie LACP (Tryb 4, Dynamiczne agregowanie linków, 802.3ad) jest wybierany domyślnie. Po stronie switchy wykonuje się standardową konfigurację grupy LACP. Jeśli nie ma możliwości zbudowania stosu switchy, można użyć trybu Active-Backup (Tryb 1). Ustawienia VLAN omówimy w następnej artykule, a bardziej szczegółowe zalecenia dotyczące konfiguracji sieci znajdziesz w dokumencie .
Konfiguracja FC
Fibre Channel (FC) jest wspierany „od ręki”, jego użycie nie sprawia trudności. Nie będziemy omawiać konfiguracji sieci magazynowej, obejmującej konfigurację systemów pamięci masowej i strefowanie switchy fabric w ramach konfiguracji oVirt.
Konfiguracja FCoE
FCoE moim zdaniem nie zdobył szerokiego uznania w sieciach magazynowych, ale często znajduje zastosowanie na serwerach jako „ostatnia mila”, np. w HPE Virtual Connect.
Konfiguracja FCoE wymaga dodatkowych, nieskomplikowanych kroków.
Skonfiguruj silnik FCoE
Artykuł na stronie Red Hat , następującą komendą dodajemy klucz do menedżera i uruchamiamy go ponownie:
$ sudo engine-config -s UserDefinedNetworkCustomProperties='fcoe=^((enable|dcb|auto_vlan)=(yes|no),?)*$'
$ sudo systemctl restart ovirt-engine.service
Skonfiguruj węzeł FCoE
Na hostach oVirt należy zainstalować
$ sudo yum install vdsm-hook-fcoeNastępnie zwykła konfiguracja FCoE, artykuł na Red Hat: .
Dla adapterów Broadcom CNA dodatkowo patrzymy na .
Upewnij się, że pakiety są zainstalowane (są już w minimalnej wersji):
$ sudo yum install fcoe-utils lldpadNastępnie sama konfiguracja (zamiast ens3f2 i ens3f3 wstawiamy nazwy CNA podłączone do sieci magazynowej):
$ sudo cp /etc/fcoe/cfg-ethx /etc/fcoe/cfg-ens3f2
$ sudo cp /etc/fcoe/cfg-ethx /etc/fcoe/cfg-ens3f3
$ sudo vim /etc/fcoe/cfg-ens3f2
$ sudo vim /etc/fcoe/cfg-ens3f3
Ważne: jeśli interfejs sieciowy wspiera sprzętowo DCB/DCBX, parametr DCB_REQUIRED powinien być ustawiony na no.
DCB_REQUIRED=„yes” → #DCB_REQUIRED=„yes”
Następnie należy upewnić się, że adminStatus jest wyłączony na wszystkich interfejsach, także tych bez włączonego FCoE:
$ sudo lldptool set-lldp -i ens3f0 adminStatus=disabled
...
$ sudo lldptool set-lldp -i ens3f3 adminStatus=disabled
Jeśli są inne interfejsy sieciowe, można włączyć LLDP:
$ sudo systemctl start lldpad
$ sudo systemctl enable lldpad
Jak wspomniano wcześniej, jeśli używasz sprzętowego DCB/DCBX, należy włączyć ustawienie DCB_REQUIRED w no a ten krok może zostać pominięty.
$ sudo dcbtool sc ens3f2 dcb on
$ sudo dcbtool sc ens3f3 dcb on
$ sudo dcbtool sc ens3f2 app:fcoe e:1
$ sudo dcbtool sc ens3f3 app:fcoe e:1
$ sudo ip link set dev ens3f2 up
$ sudo ip link set dev ens3f3 up
$ sudo systemctl start fcoe
$ sudo systemctl enable fcoe
Dla interfejsów sieciowych sprawdź, czy autostart jest włączony:
$ sudo vim /etc/sysconfig/network-scripts/ifcfg-ens3f2
$ sudo vim /etc/sysconfig/network-scripts/ifcfg-ens3f3
ONBOOT=yesSprawdzenie skonfigurowanych interfejsów FCoE, wynik polecenia nie powinien być pusty.
$ sudo fcoeadm -iDalsza konfiguracja FCoE przebiega jak w przypadku zwykłego FC.
Następnie należy skonfigurować systemy i sieci pamięci masowej — zonowanie, hosty SAN, tworzenie i prezentacja wolumenów/LUNów, po czym pamięć można podłączyć do hostów oVirt: Storage → Domains → New Domain.
Funkcję domeny pozostawiamy Data, typ pamięci — Fibre Channel, host — dowolny, nazwa — np. storNN-volMM.
Na pewno twój system pamięci masowej umożliwia nie tylko rezerwację ścieżek, ale także równoważenie obciążenia. Wiele nowoczesnych systemów potrafi transmitować dane po wszystkich ścieżkach w sposób optymalny (ALUA active/active).
Aby włączyć wszystkie ścieżki w aktywnym stanie, należy skonfigurować multi-pathing, o tym w kolejnych artykułach.
Konfiguracja NFS i iSCSI przebiega w podobny sposób.
Magazyn obrazów ISO
Aby zainstalować system operacyjny, potrzebne będą pliki instalacyjne, najczęściej dostępne w postaci obrazów ISO. Można użyć wbudowanej ścieżki, ale do pracy z obrazami w oVirt stworzono specjalny typ pamięci — ISO, którą można wskazać na serwer NFS. Dodajemy to:
Storage → Domains → New Domain,
Funkcja domeny → ISO,
Ścieżka eksportu — np. mynfs01.example.com:/exports/ovirt-iso (w momencie podłączenia folder ma być pusty, menedżer musi mieć możliwość zapisu w nim),
Nazwa — np. mynfs01-iso.
Aby przechować obrazy, menedżer stworzy strukturę
/exports/ovirt-iso/<some UUID>/images/11111111-1111-1111-1111-111111111111/
Jeśli na naszym serwerze NFS obrazy ISO już istnieją, dla oszczędności miejsca wygodnie jest nie kopiować plików, lecz przyłączyć je do tego folderu.
Pierwsza VM
Na tym etapie można już stworzyć pierwszą maszynę wirtualną, zainstalować na niej system operacyjny i oprogramowanie aplikacyjne.
Compute → Virtual Machines → New
Dla nowej maszyny należy podać nazwę (Name), stworzyć dysk (Instance Images → Create) i podłączyć interfejs sieciowy (Instantiate VM network interfaces by picking a vNIC profile → wybierz z listy jak na razie jedyny ovirtmgmt).
Po stronie klienta potrzebna jest nowoczesna przeglądarka i do interakcji z konsolą.
Pierwsza maszyna została pomyślnie uruchomiona. Jednak dla pełnej funkcjonalności systemu konieczne jest dokonanie dodatkowych ustawień, o czym będziemy kontynuować w następnych artykułach.
Źródło: habr.com
