Bezdiskový linux v laboratořích

From DCEwiki
Jump to navigation Jump to search

Postup připojení hypotetické laboratoře KN:400

Přivedení konektivity ke strojům Peanuts

Nastavení nezbytná pro spuštění bezdiskového linuxu

Poté co je laboratoř KN:400 zapojená do VLAN 40, přivedené do trunkových portů switche kam jsou připojeny stroje Peanuts je třeba provést úpravy v..

v modulech pro Puppet
Základní konfigurace fyzických datových strojů Peanuts, které zajišťují sdílení systémových adresářů bezdiskových strojů přes NFS, je udržována prostřednictvím puppetovského agenta. Ten v pravidelných intervalech kontroluje stav manifestu na straně stroje master, a pokud dojde k nějaké změně, tak se sám automaticky postará o změnu konfigurace lokálního stroje.
Poznámka Reakční dobu agenta lze zkrátit nastavením proměnné runinterval v souboru /etc/puppet/puppet.conf na nižší hodnotu. Ve výchozím stavu (je-li agent spuštěn jako démon) se master kontroluje co hodinu.
v konfiguraci crm
Stroje Peanuts mezi sebou komunikují přes corosync, nad kterým sedí démon crm, který na základě aktuálního stavu a nastavených pravidel spouští či zastavuje nakonfigurované zdroje. Takovým zdrojem je kupř. IP adresa, přes kterou bude NFS server komunikovat se stroji ve VLAN 40

Doplnění konfiguračního skriptu pro openvswitch

Veškerá síťová komunikace virtualizovaného prostředí a fyzických strojů v prostředí Peanuts probíhá přes virtuální switche.

Poznámka Původně se v rámci Peanuts používalo VDE2, které má virtuální switche umístěné v userspace, ale s přechodem na nové stroje jsme přešli na openvswitch, který má virtuální switche umístěné přímo v linuxovém jádře.

Základní konfiguraci pro virtuální switche udržuje openvswitch v lokální databázi. S tou lze oprativně pracovat prostřednictvím příkazové řádky. Aby však bylo možné v případě nutnosti rychle základní konfiguraci obnovit či aktualizovat, udržuje se na těchto strojích přes puppet agenta shellový skript /etc/openvswitch/openvswitch.sh. Úpravy kódu tohoto skriptu se provádí v modulu 'network na straně stroje, který funguje jako puppet master.

Poznámka I když by bylo možné udržovat pro stroje s identickou hardwarovou konfigurací pouze jeden výchozí skript, má každý stroj Peanuts svůj vlastní. Je to proto, aby bylo možné v případě nutosti nastavit i volby specifické pro konkrétní stroj. V tomto případě do to však znamená, že identickou úpravu je třeba provést ve zdrojovém skriptu všech strojů, ze kterých může potenciálně běžet NFS server

Změny je možné provádět u příslušných strojů buď ihned na příkazové řádce, nebo dodatečně po ukončení změn a následné aktualizaci skriptu /etc/openvswitch/openvswitch.sh agentem na straně datových strojů - jeho spuštěním.

Na straně kde je puppet master se provádí úpravy v souborech modulu network které mají příponu .openvswitch

Přidání VLAN do virtuálního switche main

Nejprve je třeba přidat VLAN 40, která vede do laboratoře KN-400 na portu, na port eth2 který přivádí trunk do virtuálního switche main.

Poznámka
-ovs-vsctl set port eth2 trunks=1,4,5,17,202,223,226
+ovs-vsctl set port eth2 trunks=1,4,5,17,40,202,223,226

Přidání portu pro NFS server

NFS server naslouchá přes virtuální síťové rozhraní nfs-k400 typu internal, které je vytvořeno nad virtuálním portem s vytaženou VLAN 40. Virtuální síťové rozhraní musí být typu internal, jinak by nebylo dostupné jako síťové zařízení, kterému lze nastavit IP adresu.

Poznámka
+ovs-vsctl --may-exist add-port main nfs-k400 tag=40 -- set Interface nfs-k328 type=internal

Úprava konfigurace pro Pacemaker

Stroje v hypotetické VLAN 40 komunikují na síťovém segmentu 192.168.40.x. Síťové rozhraní nfs-k400, přes které bude NFS server nabízet sdílené adresáře strojům v rámci této VLAN je vytvořeno na každém z datových strojů, ale IP adresu může mít nastavenou pouze na tom stroji na kterém NFS server aktuálně běží.

V rámci Peanuts je spuštění NFS serveru navázáno na spuštění skupiny tzv. "stěhovavých" IP adres s názvem ip. Tato skupina sdružuje zdroje, které mají pravidlem col-ip nařízeno běžet vždy pouze na jednom stroji. Pro síťové rozhraní nfs-k400 je tedy zapotřebí nejprve vytvořit nový zdroj k400-ip a ten pak přidat do skupiny ip a pravidla col-ip.

Pokud skupina ip zrovna běží, tak Pacemaker nakonfigurovanou adresu nahodí na aktuálním NFS serveru ihned po odeslání ověřené konfigurace.

Vytvoření zdroje k400-ip

Poznámka
crm(live)configure# primitive k400-ip ocf:heartbeat:IPaddr2 \
	params ip="192.168.40.3" nic="nfs-k400" cidr_netmask="24" \
	op monitor interval="10s"

Přidání k400-ip do skupiny ip

Poznámka
-group ip peanuts-ip k9-ip k2-ip public-ip k328-ip \
-        meta target-role="Started" is-managed="true"
+group ip peanuts-ip k9-ip k2-ip public-ip k328-ip k400-ip \
+        meta target-role="Started" is-managed="true"

Přidání k400-ip do pravidla col-ip

Poznámka
-colocation col-ip inf: peanuts-ip k9-ip k2-ip public-ip k328-ip
+colocation col-ip inf: peanuts-ip k9-ip k2-ip public-ip k328-ip k400-ip

Ověření a uložení provedených změn

Poznámka
crm(live)configure# verify
crm(live)configure# commit
crm(live)configure# quit


Úprava konfigurace stroje k2

KVM

Pro obsluhu strojů virtualizovaných přes KVM využíváme vlastního agenta ocf::dce:kvm distrubuovaného na virtualizační stroje prostřednictvím Puppetu.

Na rozdíl od jiných agentů, tento nepoužívá žádnou externí knihovnu, ale přímo sestavuje parametry příkazové řádku pro qemu.

Virtualizace v infrastruktuře Peanuts (Diskless)

Příprava virtuálního stroje pro bezdiskovou infrastrukturu je popsána v manuálu - Jak vytvořit bezdiskový stroj s operačním systémem GNU/Linux

Konfigurace pacemakeru pro diskless a jeho specifika
  • sdílený adresář s jádry a ramdisky
  • nfs server a export adresářů
  • závislosti na IP adresách


Virtualizace v infrastruktuře Schrot (GlusterFS)

Příprava virtuálního stroje pro infrastrukturu postavenou na GlusterFS je popsána v manuálu Jak nainstalovat virtualizovaný stroj na GlusterFS

Konfigurace pacemakeru pro požití GlusterFS
  • Podpora na straně qemu (patch pro záložní nod)
  • Standardní qemu - virtuál může běžet pouze na stroji, který je zároveň nodem GlusterFS.


XEN

Pro obsluhu strojů virtualizovaných přes XEN se používá agent ocf::heartbeat:Xen, který je standardní součástí instalačního balíčku resource-agents

Úprava konfigurace na stroji k2

  1. Nastavení DHCP
    1. Vytvoření konfigurace pro přidělování adres v segmentu 192.168.40.x
  2. Konfigurace PXE
    1. Vytvoření konfiguračního souboru pro segment 192.168.40.x

Rozšíření konfigurace exportu NFS serveru

Úprava se opět dělá na stroji kde běží puppet master v modulu nfs