Site Tools


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.

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.

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.

octopus

Testy ceph (bardzo alfa)

wrt-builder

Podejście (na razie nieudane) do zbudowania własnego OpenWRT

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ń 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

projects/zoo.txt · Last modified: 2014/04/02 06:57 (external edit)