Table of Contents
Zoo
Projekt Zoo ma na celu udostępnienie środowiska wirtualizacyjnego dla członków HS w której mogą realizować własne pomysły zgodne w jakimś stopniu z założeniami projektu.
Cele dla HS
* Udostępnienie platforma testowania / symulowania różnych topologii sieciowych / systemowych
* Utworzenie platformy do testów wdrożeń aplikacji dla celów HS
Cele oczywiście mogą ulec zmianie wraz z rozwojem projektu.
Cele osobiste
W tej chwili moim głównym celem jest zdobycie doświadczenia w administrowaniu i projektowaniu systemów wysokiej dostępności i zarządzania wirtualizacją.
Infrastruktura
Host narwhalbogdan:
* AMD Athlon x64 II X3
* 6 GB Ramu
* ~ 1T raw storage:
- ~ 500 GB w RAID1 → LVM
* Ethernet:
- 1x10MB
- 1x1GB
Narwhal to czarny tower pod proliantem w szafie. Jest podłączony do 3coma, na którym pierwsze 12 portów ma VLAN 1337 przeznaczone do Zoo. W tej chwili wpięte są tam 2 porty w/w. ethernety narwhala i jeden prolianta, który routuje do reszty HS.
System to Gentoo z qemu-KVM, VDE, SSH i NTP.
Architektura
W obecnej chwili wirtualki bazują na KVM i komunikują się przez VDE. Administracja opiera się na autorskich skryptach bashowych pisanych pod własne potrzeby.
W zoo mamy baloniki, ale rozdymki na razie przekłuwają baloniki.
Obrazy wirtualek są przechowywane na partycji Ext4.
Hosty Gentoo w Aquarium mają na root-filesystem na BTRFS, nie mają /boot'a (kernel jest ładowany z poziomu KVM). Rozdymki są ładowane standardowo.
Na chwilę obecną stosunkowo niewielkim nakładem pracy jestem w stanie wystawić wirtualkę Gentoo bazując na h2o (patrz poniżej).
Klatki
Topologia sieciowa w Zoo bazowana jest na klasach /28, ponieważ na dalszym etapie rozwoju zoo, chciałbym poćwiczyć różne protokoły routingu pomiędzy klatkami.
Wyjscie z zoo jest organizowane przez 10.13.37.16/28. W tej podsieci znajduje sie narwhal, proliant i rozdymki. Hard to comprehend? Not anymore!
Kolejne klatki będą w $klatka++|mod(/28) w stounku do obecnych sieci, max do 10.13.37.224/16. Nie sądzę, że szybko to zapełnimy. Na pewno nie na narwhalu.
Trasy wycieczkowe pomiędzy klatkami (na początku) będą zapewniać bliźniaki-rozdymki.
UWAGA: Zwierzaków nie trzymamy na łańcuchu, tylko wołamy po imieniu ;)
Zwierzaki
Aquarium:
puffy, pufffy
Routery łączące klatki w zoo (w tym aquarium) z resztą HS. Na łańcuchu (odpowiednio .6 i .8) + CARP'y (.7, .27). Serwery NTP.
Template Gentoo (z reguły offline).
taxon
DNS + DHCP dla Aquarium i hs.org.pl (wewnętrzny). Na łańcuchu (.1). Dependency dla hostów budowanych w oparciu o clean, ze względu na serwer dhcp i dns. Serwer NTP.
Builder paczek dla reszty hostów, wystawiający portage (w tym distfiles i packages z use-flagami specyficznymi dla aquarium) po NFS i mirror distfiles po http (proxy_pass na nginx). Na łańcuchu (.2). Jest dość upierdliwym (długi boot time), ale nie krytycznym dependency dla wszystkich innych wirtualek w Aquarium, bo te mają NFS /usr/portage podłączany przez fstab.
Testy ceph (bardzo alfa)
wrt-builder
Podejście (na razie nieudane) do zbudowania własnego OpenWRT
Serwer DB (MySQL). Czysty.
Dostęp
Dostęp do maszyn odbywa się po SSH lub SPICE.
Terms of Service
Tautologie:
1. Pamiętaj, że root jest jeden.
2. Dla wirtualek root na hoście / hypervisorze odpowiada fizycznemu dostępowi do maszyny.
3. Pamięć wirtualna maszyny jest częścią pamięci hosta.
Rules:
1. W przypadku prowadzenia w zoo działań niezgodnych z polskim prawem chętnie będę współpracować z władzami w celu odwrócenia relacji stron czynnej i biernej tego stosunku.
2. Ze względu na duże ryzyko nadużyć w tego typu infrastrukturze, na poczet w/w. punktu rezerwuję sobie prawo do wykonywania snapshotów maszyn wirtualnych (ram/storage) w dowolnym momencie, bez informowania o tym jej administratora, nawet jeśli może to wpłynąć na niestabilność zwierzaka.
3. Prośby o 'shella' spuszczam do /dev/null. Męczcie o to q3k ;)
4. Show me what you got - pomysł na to co system ma robić (albo co Ty chcesz zrobić z systemem) jest podstawą do uzyskania wirtualki.
5. Z zasady hostname dla systemów musi mieć związek z biosferą (w końcu nazwa zoo zobowiązuje). Reguła nie obowiązuje dla definiowania CNAME, ale patrz Tautologia 1.
Roadmap
Obecne prace są utrzymywane na Redmine.
* dostęp przez spice → rozszerzenie dostępu do systemów o okienkowe
Wanna? Dunno.
Jeśli nie masz pomysłu na podprojekt w zoo, to może złapiesz jakąś z koncepcji, która leży w zakresie moich zainteresowań / potrzeb innych członków HS.
W miarę możliwości i wystosowanych wobec mnie argumentów postaram się wspierać inicjatywy zwiększające wartość mojego ego^W^W^Wdługość mojego^W^W^WHackerspace.
Wanna! Nawet dwie ... Tyle, że ja się boję wody :(
Zawsze możesz próbować polimeryzować i zacząć przepowiadać przyszłość.
Jeśli chcesz mieć jakąś VM, to wypełnij zgłoszenie na redmine dołączając wypełnione dane dot. twojej maszyny.
Trivia
Skąd nazwa Zoo? Z tego co czytałem, to tak określa się laby firm antywirusowych, gdzie reversuje się malware / testuje oprogramowanie antywirusowe.
Hostname moich wirtualek nazywam po zwierzętach mających związek z hydrosferą. Docelowo znajdą się w subdomenie aquarium.zoo.hackerspace.pl