Felhő alapú hálózatok
OpenStack Gyakorlat 1.
IB.213
Indítás: Debian Jessie DevStack experimental...
Live rendszer, azaz újraindítás után minden elveszik. Célszerű a gyakorlat jegyzőkönyvét online dokumentumba szerkeszteni, csoportonként egyet!
-
feladat:
Multi Node Devstack konfiguráció:
Általános útmutató: http://docs.openstack.org/developer/devstack/guides/multinode-lab.html
Labor specifikus részek, eszerint haladjunk:
A DevStack előre van telepítve.
stack felhasználóra váltás:
su - stack
jelszó: stack
A stack felhasználónak a sudo engedélyezett, ha valamit root felhasználóként lehet csak végrehajtani.
A gépeken egy interfész a labor hálózatra van kötve, és 192.168.213.X címet kap, ezen keresztül van internet elérés, ehhez ne nyúljunk.
OpenStack fizikai hálózat kialakítás: 3-as csoportokban 2 fizikai szerveren egy nem használt hálózati interfészt (segít a mii-tool) egy switch-en összekötni a patch panelen, vagy helyben, ha van elég hosszú kábel. Ezt az interfészt fogjuk használni az OpenStackhez.
A 3 szerverből 1 controller és 2 compute legyen, találjuk ki a fix IP címeket, és állítsuk be:
Lehet a mintában szereplő IP címeket alkalmazni:
-
Gateway: 192.168.42.1 (ez a laborban nem lesz)
-
Physical nodes: 192.168.42.11-192.168.42.99
-
Floating IPs: 192.168.42.128-192.168.42.254
A /etc/network/interfaces átírása helyett használjuk ezt:
sudo ifconfig ethX 192.168.42.Y/24
Van egy local.conf fájl a devstack könyvtárban, ez a single node konfiguráció, ezt cseréljük le az alábbiak szerint:
Ugorjunk az általános multi node útmutató “Configure Cluster Controller” részhez és hozzuk létre a megfeleő local.conf fájlokat a controller és a 2 compute node-on a devstack könyvtárban, majd a stack.sh-val elindíthatjuk mindhárom gépen a DevStack-et.
Javaslat: a compute node esetén elég a mintában szereplő
ENABLED_SERVICES=n-cpu,n-net,n-api,c-sch,c-api,c-vol
helyett csak a nova (n-...) szolgáltatásokat engedélyezni:
ENABLED_SERVICES=n-cpu,n-net,n-api
Az
OFFLINE=True
sor legyen benne a fájlban, hogy Internet elérés nélkül, a már előre telepített DevStack fusson biztosan!
Ha minden OK, akkor hiba nélkül lefut a szkript és a végén kiírja, hogy mit hol érünk el.
Jegyzőkönyvbe elmenteni: a három node local.conf fájl tartalmát.
2. feladat: hálózati működés végigkövetése az alábbiak alapján:
https://www.mirantis.com/blog/openstack-networking-single-host-flatdhcpmanager/
Különbségek:
-
csak egy hálózati interfészt használunk a DevStackhez a laborkörnyezetben
-
IP címek azok, amiket a local.conf-ban állítottunk be
-
a konfigurációs fájlok a /var/lib/... helyett a /opt/stack/data/… alatt érhetők el
-
a controller node-on fut egy compute szolgáltatás is, hacsak le nem tiltjuk:
nova service-disable <hostname> nova-compute
A command line utasításokhoz be kell állítani azonosítónkat:
admin user: source openrc admin admin
demo user: source openrc demo demo
Haladjunk végig a lépéseken, a jegyzőkönyvbe viszont csak az alábbiakat mentsük el:
Jegyzőkönyvbe:
Controller node, no VMs és Compute node, no VMs
ip a vagy ifconfig kimenete
brctl show kimenete
route -n kimenete
Horizon dashboardon is nézzük meg, hogy mi a rendszer állapota: Project / Compute / Overview, Project / Compute / Instances és Admin / System / Hypervisors
2 CirrOS VM-et indítsunk el a két önálló compute node-on a következőképpen irányítottan:
-
image lista lekérdezése: glance image-list
-
nova boot --image <image name> --flavor m1.tiny --availability-zone nova:<server name> <instance_name>
-
szerverek lekérdezése: nova-manage host list
-
Horizon dashboardon is nézzük meg, hogy mi a rendszer állapota: Project / Compute / Overview, Project / Compute / Instances és Admin / System / Hypervisors
Controller node, VM created
cat /opt/stack/data/nova/networks/nova-br100.conf
grep <VM-IP> /var/log/syslog
Compute node, VM created
ip a vagy ifconfig kimenete
sudo iptables -S kimenete
Jelöljétek meg ebben, hogy melyik sorok biztosítják, hogy csak a DHCP és VM alhálózat forglama engedélyezett!
VM guest OS network configuration
ssh cirros@<VM-IP> -hoz jelszó: cubswin:)
ssh helyett be lehet lépni a horizon dashboardon keresztül is!
ip a vagy ifconfig kimenete
route -n kimenete
Ping VM from controller és Ping VM from VM
sudo tcpdump -n -i br100 kimenete a ping <VM-IP> alatt
traceroute <VM-IP> kimenete
Mi a ping csomagok útvonala a hálózatban, milyen virtuális/fizikai interfészen, kapcsolón haladnak keresztül a két esetben?