Archiwum kategorii: Wirtualizacja

VIOS: Link aggregation

Aby utworzyć urządzenie Link Aggregation ent5 z adapterami fizycznej sieci Ethernet ent3 i ent4 oraz adapterem zapasowym ent2, należy wpisać następującą komendę:

mkvdev -lnagg ent3,ent4 -attr backup_adapter=ent2

ent5 available

Aby dodać adapter ent8 do Link Aggregation ent5 należy wykonać polecenie:

cfglnagg -add ent5 ent8

Więcej: http://www-01.ibm.com/support/knowledgecenter/8205-E6D/p7hcg/cfglnagg.htm?cp=8205-E6D%2F0-8-3-8-2-17

VIOS, AIX i wirtualizacja sieci czyli sea – shared ethernet adapter

Tworzenie SEA (Sherad Ethernet Adapter)

Do stworzenia SEA adaptera potrzebujemy:

  • fizycznego adaptera, do którego podłączymy się, oznaczmy go PHYS
  • wirtualnego adaptera, oznaczmy go VIRT
  • domyślny VLAN ID, oznaczmy go VLAN
mkvdev -sea PHYS -vadapter VIRT -default VIRT -defaultid VLAN

SEA z kanałem kontrolnym w środowisku dual VIOS

Jeżeli używamy dwóch VIOSów, możemy stworzyć konfigurację, w której jeden SEA na jednym VIOSie pracuje w standby i bierze ruch z drugiego, gdy pojawią się jakieś problemy.
Tworzymy wtedy prywatny kanał komunikacji (przy wykorzystaniu virtualnego interfejsu i dedykowanego VLAN-a). Komenda tworząca w tym wypadku adapter SEA to:

mkvdev -sea PHYS -vadapter VIRT -default VIRT -defaultid VLAN -attr ha_mode=auto ctl_chan=CONT

Gdzie PHYS, VIRT VLAN to znane wcześniej nam oznaczenia intefesjów ale pojawiają się nowe wartości: –attr ha_mode=auto (VIOSy między sobą decydują który interface jest zapasowy
a który podstawowy oraz ctl_chan=CONT, który określa wirtualny interfejs do komunikacji między VIOSami.

np:

mkvdev -sea ent4 -vadapter ent6 -default ent6 -defaultid=1 -attr ha_mode=auto ctl_chan=ent5

Manualny failover w tym wypadku można osiągnąć przez:

chdev -dev ent20 -attr ha_mode=standby 
chdev -dev ent20 -attr ha_mode=auto 

AIX, VIOS i NPIV

Przegląd możliwości NPIV

Do przeglądania ilości dostępnych wirtualnych adapterów „Fibre Channel” służy polecenie lsnports.

$ lsnports
name physloc fabric tports aports swwpns awwpns
fcs3 U789D.001.DQDYKYW-P1-C6-T2 1 64 63 2048 2046

Gdzie:

  • fabric – if 0 – no support of NPIV, if 1 – NPIV is supported,
  • tports – maximum number of virtual Fibre Channel (NPIV) adapters per physical Fibre Channel port
  • aports – Display number of available physical ports
  • swwpns – Maximum number of WWPNs supported by the physical Fibre Channel port
  • awwpns – Display total numbers of WWPNs that physical port support.

Przegląd mapowania

Wszystkie mapowania możemy przejrzeć korzystając z polecenia:

lsmap -npiv -all

Jeżeli interesuje nas konkretny interface:

lsmap -vadapter vfchost0 -npiv 

Wyjaśnienie wyniku polecenia

lsmap -vadapter vfchost0 -npiv 

Name          Physloc                            ClntID ClntName       ClntOS
------------- ---------------------------------- ------ -------------- -------
vfchost0      U8203.E4A.05A6DD1-V1-C41                3 mylpar6        AIX

Status:LOGGED_IN
FC name:fcs1                    FC loc code:U789C.001.DQDH231-C3-T2
Ports logged in:2
Flags:a
VFC client name:fcs0            VFC client DRC:U8203.E4A.05A6DD1-V3-C41-T1

Znaczenie statusu i flag:

  1. Status:LOGGED_IN, Flags: a – wirtualny adapter jest zmapowany do fizycznego adaptera, powiązany klient jest uruchomiony.
  2. Status:NOT_LOGGED_IN, Flags:1 – wirtualny adapter nie jest zmapowany do fizycznego adaptera,
  3. Status:NOT_LOGGED_IN, Flags:4 – powiązany klient nie jest uruchomiony (a wirtualny adapter jest powiązany do fizycznego adaptera),

Dodanie nowego vfchost-a do adaptera

Map adapter vfchost2 to adapter fcs1

vfcmap -vadapter vfchost2 -fcp fcs1

Sprawdzamy status:

lsmap -vadapter vfchost2 -npiv 

Usunięcie mapowania

vfcmap -vadapter vfchost0 -fcp

Wylistowanie wszystkich wirtualnych portów

hscroot@hmc: lsnportlogin -m pserver --filter "lpar_ids=12"
lpar_name=mylpar,lpar_id=12,profile_name=default,slot_num=51,wwpn=c050726670a0002c,wwpn_status=1,logged_in=vios,wwpn_status_reason=null
lpar_name=mylpar,lpar_id=12,profile_name=default,slot_num=51,wwpn=c050726670a0002d,wwpn_status=1,logged_in=vios,wwpn_status_reason=null
lpar_name=mylpar,lpar_id=12,profile_name=default,slot_num=52,wwpn=c050726670a0002e,wwpn_status=1,logged_in=vios,wwpn_status_reason=null
lpar_name=mylpar,lpar_id=12,profile_name=default,slot_num=52,wwpn=c050726670a0002f,wwpn_status=1,logged_in=vios,wwpn_status_reason=null

Lub jeżeli chcemy wylistować dane dotyczące kilku lparów:

hscroot@hmc: lsnportlogin -m pserver --filter "\"lpar_ids=12,13\""

Zalogowanie wirtualnego portu

Zalogowanie wszystkich wirtualnych adapterów LPAR-a o ID 12 do SAN-a

chnportlogin -o login -m pserver --id 12

Wylogowanie wirtualnego portu

Wylogowanie wszystkich wirtualnych portów z SAN-a należących do lpar-u numer 12

chnportlogin -o logout -m pserver --id 12

AIX: lsrsrc – Jak znaleźć które HMC zarządza systemem?

Mamy dostęp do lpar-a i próbujemy sprawdzić jak jest zarządzny (np. jakie jest IP serwera). Jak to zrobic? Otóż prosto:

lpar1:/root>lsrsrc IBM.ManagementServer
Resource Persistent Attributes for IBM.ManagementServer
resource 1:
Name             = "10.5.34.21"
Hostname         = "10.5.34.21"
ManagerType      = "HMC"
LocalHostname    = "10.9.32.78"
ClusterTM        = "9078-160"
ClusterSNum      = ""
ActivePeerDomain = ""
NodeNameList     = {"lpar1"}

HMC – braki w możliwościach konfiguracyjnych dostępów

Przygotowuje szkolenie z podstaw AIX-a, jednym z elementów szkolenia jest nauka podstaw pracy z profilami lpar-ów. Znalazłem jeden problem: jak ograniczyć kursantom możliwość przyznania „nieograniczonej” ilości procserów i pamięci? Mogę ograniczyć możliwości do bawienia się określonymi lparami, ale nie mogę przydzielić zakresów dozwolonych wartości. Praca w środowisku wielu administratorów nie jest taka łatwa tutaj ;).

AIX: HMC – na jakiej maszynie znajduje się lpar?

Bardzo przydatną komendą w przypadku korzystania z HMC w trybie tekstowym (tak, lubie udawać że potrafie pisać skrypty) jest lssyscfg. W przypadku przeglądania cech lpar-a pojawia się jednak problem, trzeba podać na jakiej maszynie znajduje się dany lpar :/. Jak to znależć? Wystarczą 2 proste pętle:

for MACHINE in `lssyscfg -r sys -F "name"`; do lssyscfg -r lpar -m $MACHINE -F "name" | while read LPAR; do echo "$MACHINE;$LPAR"; done; done

Powyższe polecenia pozwala stworzyć listę w formacie CSV. Prosty grep i cut pozwalają wydobyć poszukiwaną informację:

for MACHINE in `lssyscfg -r sys -F "name"`; do lssyscfg -r lpar -m $MACHINE -F "name" | while read LPAR; do echo "$MACHINE;$LPAR;"; done; done | grep "Szukany_LPAR" | cut -d ";" -f 1

Przegląd oprogramowania do wirtualizacji

Oprogramowanie do wirtualizacji

Postanowiłem stworzyć krótką listę oprogramowania do wirtualizacji, pozwoli to lepiej zaprezentować je w tym blogu. Tak więc mamy następujące możliwości:

  • KVM/Qemu
  • XEN
  • VMWare
  • VirtualBox
  • OpenVZ
  • linux-vserver
  • LXC

Znacie coś więcej, o czym warto wspomnieć?

Zarządzanie wirtualizacjami

Program libvirt pozwala zarządzać QEMU, KVM, XEN, OpenVZ, LXC oraz VirtualBox. Programem wspomagającym używanie libvirt jest virt-manager (http://virt-manager.et.redhat.com/). Pozwala on tworzyć, klonować czy instalować z wcześniej przygotowanych obrazów.