User Tools

Site Tools


projects:zoo

This is an old revision of the document!


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 narwhal:

* AMD Athlon x64 II X3

* 6 GB Ramu

* ~ 700 GB raw storage:

  • ~ 250 GB w RAID1 → LVM
  • ~ 150 GB reszty → LVM

* Ethernet:

  • 1x10MB
  • 1x1GB
  • 1x1GB FC (nieużywany)

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 clean (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.

clean

Template Gentoo (z reguły offline).

taxon

DNS + DHCP dla Aquarium. 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. 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.

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:


# Full hostname of VM # VM_HOSTNAME=“clean.aquarium.zoo.hs.org.pl”

# Write how many seconds your system is booting / shutting down # This is used by init scripts - how service have to wait before # trying to kill VM if shutting down, and not to kill storage after # booting whole zoo. # # Values below 4 will be ignored by hardcoded init script. # BOOT_WAIT=“10”

# Telnet port for qemu-monitor to listen on or “sock” or “socket” for # UNIX socket in /var/vm/ for monitor interface # MONITOR_IFACE=“sock”

# How much memory in MB # MEM=“1800”

# Is our VM support virtio baloon driver? # BALLOON=“virtio”

# If your machine is linux, you don't need grub. Check /var/vm/img/kernel/ # for possible kernels or put “current”, to use newest “coral gentoo” compiled # kernel # KERNEL=“current”

#### STORAGE ####

# What kind of interface do we use for storage? Use “ide” “scsi” or “virtio” # DISK_IF1=“virtio”

#### NETWORK ####

# You can have max four virtual network interfaces by incrementing x in NET_MACx # and NET_MODELx

# MAC address for first card #

NET_MAC1=“00:00:00:00:00:99” # Network model for first card. Use “e1000” if you don't support “virtio”. # NET_MODEL1=“virtio”

# Which vsw (VDE) switch your VM should be connected? # NET_SW1=“aquarium”

# To which port your VM is connected on vsw (VDE)? # NET_SW_PORT1=“11” # Make sure you set proper VLAN on your port in switch configuration!


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.1337720784.txt.gz · Last modified: 2014/04/02 06:57 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki