V organizacích, kde je OpenStack se používá agresivně, takže v takových organizacích mohou aplikační a databázové týmy přijít s požadavkem, že jejich instance aplikace a databáze musí být spouštěny buď na stejných výpočetních uzlech (hypervizor) nebo různé výpočetní uzly.
Tento požadavek v OpenStack je tedy splněn prostřednictvím skupin serverů s afinitou a antiafinitní opatření. Skupina serverů se používá pro plánování instancí openstacku pro kontrolu afinity a antiafinity.
Když se pokusíme zřídit virtuální stroje se skupinou afinitních serverů, všechny virtuální stroje budou spuštěny na stejném výpočetním uzlu. Když jsou virtuální počítače zřízeny se skupinou serverů ant-affinity, budou všechny virtuální počítače spuštěny v různých výpočetních uzlech. V tomto článku si ukážeme, jak vytvořit skupiny serverů OpenStack s pravidly Affinity a Anti-Affinity.
Nejprve ověřte, zda vaše nastavení OpenStack podporuje zásady afinity a anti-afinity, nebo ne, spusťte následující příkaz grep z vašich uzlů ovladače,
# grep -i "scheduler_default_filters" /etc/nova/nova.conf
Výstup by měl být něco jako níže,
Jak vidíme, filtry Affinity a Ant-Affinity jsou povoleny, ale v případě, že nejsou povoleny, přidejte tyto filtry do /etc/nova/nova.conf soubor uzlů řadiče pod „výchozí_filtry plánovače ” parametry.
# vi /etc/nova/nova.conf………………scheduler_default_filters=xx,xxx,xxx,xxxxx,xxxx,xxx,xxx,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,xx,xxx,xxxx,xx…… ……
Uložte a ukončete soubor
Chcete-li, aby se výše uvedené změny projevily, restartujte následující služby
# systemctl restart openstack-nova-scheduler# systemctl restart openstack-nova-conductor
Nyní vytvoříme skupiny serverů OpenStack se zásadami afinity a antiafinity
Skupina serverů se zásadami afinity
Chcete-li vytvořit skupinu serverů s názvem „app“ pro zásady afinity, spusťte z uzlu řadiče následující příkaz openstack,
Syntaxe:
# openstack server group create – policy affinity
Nebo
# nova server-group-create
Poznámka: Než začnete s prováděním příkazu openstack, ujistěte se, že máte zdrojový soubor pověření projektu, v mém případě je soubor pověření projektu „openrc ”
Příklad:
# source openrc# openstack server group create --policy affinity app
Skupina serverů se zásadami Anti-Affinity
Chcete-li vytvořit skupinu serverů s anti-afinitní politikou, spusťte následující příkaz openstack z uzlu řadiče, předpokládám, že název skupiny serverů je „databáze“
Syntaxe:
# openstack server group create – policy anti-affinity
Nebo
# nova server-group-create
Příklad:
# source openrc# openstack server group create --policy anti-affinity database
Vypsat ID a zásady skupiny serverů
Spusťte buď příkaz nova, nebo příkaz Openstack, abyste získali ID skupiny serverů a jejich zásady
# nova server-group-list | grep -Ei "Zásady|databáze"Nebo# seznam skupin serverů openstack --long | grep -Ei "Zásady|aplikace|databáze"
Výstup by byl něco jako níže,
Spusťte virtuální stroje (VM) se zásadami afinity
Předpokládejme, že chceme spustit 4 vms s politikou afinity, spusťte následující „vytvoření serveru openstack ”příkaz
Syntaxe:
# openstack server create –image
Příklad:
# openstack server create --image Cirros --flavor m1.small --security-group default --nic net-id=37b9ab9a-f198-4db1-a5d6-5789b05bfb4c --hint group="a9847c7f-b7c2-4751 -9c9a-03b117e704ff" --max 4 test afinity
Výstup výše uvedeného příkazu,
Ověřte, zda jsou virtuální počítače spuštěny na stejném výpočetním uzlu nebo ne, spusťte následující příkaz
# seznam openstack serverů --long -c Název -c Stav -c Host -c "Stav napájení" | grep -i afinitní-test
To potvrzuje, že naše zásady afinity fungují dobře, protože všechny virtuální počítače jsou spuštěny na stejném výpočetním uzlu.
Nyní otestujme zásady antiafinity
Spusťte virtuální stroje (VM) se zásadami Anti-Affinity
Pro politiku anti-affinity spustíme 4 virtuální počítače, ve výše uvedeném příkazu „openstack server create“ musíme nahradit ID skupiny Anti-Affinity Server Group. V našem případě použijeme ID skupiny databázového serveru.
Spuštěním následujícího příkazu openstack spustíte 4 virtuální počítače na různých výpočtech se zásadou antiafinity,
# openstack server vytvořit --image Cirros --flavor m1.small --security-group default --nic net-id=37b9ab9a-f198-4db1-a5d6-5789b05bfb4c --hint group="498fd41b-8a8a-497a -afd8-bc361da2d74e" --max 4 antiafinitní test
Výstup
Pomocí níže uvedeného příkazu openstack ověřte, zda jsou virtuální počítače spuštěny na různých výpočetních uzlech či nikoli
# seznam openstack serverů --long -c Název -c Stav -c Host -c "Stav napájení" | grep -i anti-afinitní-test
Výše uvedený výstup potvrzuje, že naše zásady proti afinitě také fungují dobře.
Poznámka: Výchozí kvóta pro skupinu serverů je 10 pro každého tenanta, což znamená, že v rámci projektu můžete vytvořit až 10 skupin serverů, které mohou řídit více než 10 virtuálních počítačů.
Použijte níže uvedený příkaz k zobrazení kvóty skupiny serverů pro konkrétního tenanta, nahraďte ID tenanta, které vyhovuje vašemu nastavení
# openstack kvóta zobrazit f6852d73eaee497a8a640757fe02b785 | grep -i skupina_serverů| server_group_members | 10 || skupiny_serverů | 10 |#
Chcete-li aktualizovat kvótu skupiny serverů, proveďte následující příkazy
# nova-aktualizace kvóty --server-group-members 15 f6852d73eaee497a8a640757fe02b785# nova aktualizace kvóty --server-groups 15 f6852d73eaee497a8a640757fe02b77Nyní znovu spusťte příkaz openstack kvóta pro ověření kvóty skupiny serverů
# openstack kvóta zobrazit f6852d73eaee497a8a640757fe02b785 | grep -i skupina_serverů| server_group_members | 15 || skupiny_serverů | 15 |#To je vše, úspěšně jsme aktualizovali kvótu skupiny serverů pro tenanta. Tímto také končí článek, neváhejte jej sdílet mezi své technické přátele.
Jak spravovat vzdáleného hostitele Windows pomocí Ansible Jak automatizovat úlohy v Linuxu pomocí CrontabLinux