==== 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 [[people:d3llf:start|moim]] głównym celem jest zdobycie doświadczenia w administrowaniu i projektowaniu systemów wysokiej dostępności i zarządzania wirtualizacją. ==== Infrastruktura ==== Host [[http://www.youtube.com/watch?v=ykwqXuMPsoc|narwhal]]bogdan: * 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 [[http://www.linux-kvm.org/|KVM]] i komunikują się przez [[http://vde.sourceforge.net/|VDE]]. Administracja opiera się na autorskich skryptach bashowych pisanych pod własne potrzeby. W zoo mamy [[http://rwmj.wordpress.com/2010/07/17/virtio-balloon/|baloniki]], ale [[http://en.wikipedia.org/wiki/Pufferfish|rozdymki]] na razie [[http://fxr.watson.org/fxr/source/dev/virtio/balloon/?v=OPENBSD|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ć [[http://en.wikipedia.org/wiki/B.A.T.M.A.N.|różne]] [[http://en.wikipedia.org/wiki/Open_Shortest_Path_First|protokoły]] [[http://en.wikipedia.org/wiki/Border_Gateway_Protocol|routingu]] pomiędzy klatkami. Wyjscie z zoo jest organizowane przez 10.13.37.16/28. W tej podsieci znajduje sie narwhal, proliant i rozdymki. [[http://www.youtube.com/watch?v=nITLob098W8|Hard to comprehend]]? [[projects:hack-net|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 [[http://en.wikipedia.org/wiki/IP_address#Uses_of_static_addressing|łańcuchu]], tylko wołamy po [[http://pl.wikipedia.org/wiki/Domain_Name_System|imieniu]] ;) ==== Zwierzaki ==== Aquarium: **[[http://http://en.wikipedia.org/wiki/OpenBSD|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. **[[projects:zoo:h2o]]** 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. **[[projects:zoo:coral]]** 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. **[[projects:zoo:octopus]]** Testy [[http://ceph.newdream.net/|ceph]] (bardzo alfa) **wrt-builder** Podejście (na razie nieudane) do zbudowania własnego OpenWRT **[[projects:zoo:shark]]** 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ń [[http://pl.wikipedia.org/wiki/Zoofilia|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 [[people:q3k:start]] ;) 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 [[https://redmine.hackerspace.pl/|Redmine]]. * dostęp przez [[http://spice-space.org/|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ć [[https://redmine.hackerspace.pl/projects/zoo/|polimeryzować]] i zacząć przepowiadać [[https://redmine.hackerspace.pl/projects/zoo/issues/new|przyszłość]]. Jeśli chcesz mieć jakąś VM, to [[https://redmine.hackerspace.pl/projects/zoo/issues/new|wypełnij zgłoszenie na redmine]] dołączając [[https://hackerspace.pl/~d3llf/vm_template|wypełnione dane]] dot. twojej maszyny. ==== Trivia ==== Skąd nazwa Zoo? [[http://www.viruszoo.com/|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 [[http://xkcd.com/350/|aquarium]].zoo.hackerspace.pl