Bezdiskový linux v laboratořích

From DCEwiki
Jump to: navigation, search

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

Přivedení konektivity ke strojům Peanuts[edit]

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

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[edit]

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[edit]

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[edit]

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[edit]

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[edit]

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[edit]

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[edit]

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[edit]

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


Úprava konfigurace stroje k2[edit]

KVM[edit]

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)[edit]

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)[edit]

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[edit]

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[edit]

  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[edit]

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