Kermit Virtual Host server

Από Κοινότητα Ελεύθερου Λογισμικού ΕΜΠ
Μετάβαση σε: πλοήγηση, αναζήτηση

Kermit Virtual Host server

Ο Kermit είναι ένας υπολογιστής που παίζει το ρόλο του Virtual Host server. Φιλοξενεί δηλαδή εικονικούς υπολογιστές ο καθένας από τους οποίους λειτουργεί ως αυτόνομο και ανεξάρτητο μηχάνημα, ενώ στην πραγματικότητα βρίσκεται "μέσα" στον Kermit server. Η φυσική του τοποθεσία είναι η αίθουσα της Κοινότητάς μας ενώ διανομή που έχει εγκατασταθεί σε αυτόν είναι η Ubuntu Server 10.04 LTS.


Δίκτυο της αίθουσας και εξοπλισμός

Το δίκτυο της αίθουσας είναι το 192.168.1.0/24, ενώ το domain είναι το foss.local . Υπάρχουν οι παρακάτω hosts (physical & virtual) με στατικές διευθύνσεις:

  • router (Cisco 2801 - DHCP server - #1 WAN): .1
  • router2 (Cisco 836 - #2 WAN): .254
  • switch (Cisco Catalyst 2950 16 ports): .2
  • ap (OpenWRT access point): .3
  • ap2 (Linksys WAP54G): .4
  • kermit: .10
  • animal: .15
  • piggy: .25
  • ice: .16
  • pbx: .5

Τα παραπάνω ονόματα αντιστοιχούν στις πραγματικές καταχωρήσεις στη ζώνη DNS του foss.local .

Η αίθουσα επίσης διαθέτει ένα unmanaged switch ZyXEL 16 ports 100Mbps.

Υπηρεσίες

Η βασική υπηρεσία του kermit είναι το Virtual Hosting. Αυτός είναι και ο κύριος λόγος που επιλέχτηκε η διανομή Ubuntu Server, η οποία διαθέτει πολύ ισχυρά και εύχρηστα εργαλεία virtualization. Η διαχείριση των virtual machines γίνεται τόσο από γραφικό περιβάλλον με την εφαρμογή virt-manager όσο και από κονσόλα με το εργαλείο virsh. Το πρώτο προτιμάται όταν δημιουργούμε ένα νέο virtual machine ή όταν θέλουμε να επεξεργαστούμε ένα υπάρχον, ενώ το δεύτερο είναι πολύ χρήσιμο σε scripts για την εκκίνηση, το πάγωμα και το backup των virtual machines.

Επιπλέον, στο kermit έχει στηθεί η υπηρεσία DNS με χρήση του BIND9, η οποία εξυπηρετεί τόσο local όσο και internet DNS lookups. Επίσης, έχει φτιαχτεί reverse zone. Γενικά, είναι ένας πλήρης DNS server που μπορεί να καλύψει απόλυτα όλες τις ανάγκες τις αίθουσας σχετικά με την υπηρεσία DNS.

Σκοπός/Χρήση/Στόχοι

Ο σκοπός του kermit είναι η φιλοξενία virtual machines τα οποία θα παρέχουν υπηρεσίες στα μέλη μας. Επιπλέον, είναι μία καλή πλατφόρμα στην οποία μπορούν να γίνουν διάφορα σεμινάρια και παρουσιάσεις πάνω στις τεχνολογίες του ελεύθερου λογισμικού που έχουν εγκατασταθεί σε αυτόν.

Hardware

  • CPU: Intel Core2Duo E6550
  • RAM: 4x1GB DDR2 667MHz
  • HDDs: 1x80GB System, 1x80GB Data (Backup), 1x200GB Data (additional VM space)
  • NICs: 1xOnBoard 1Gbps, 1xPCI 100Mbps

Ασφάλεια & Backup

Ο σχεδιασμός που έχει γίνει στη δικτύωση του Kermit είναι με βάση το διαθέσιμο hardware σε υπολογιστές, routers, switches και λοιπό εξοπλισμό. Γενικά, δεν είναι καλή πρακτική ένας virtual host να έχει VMs με WAN interfaces και LAN interfaces. Σε λογικό επίπεδο, όλα τα virtual interfaces είναι διαχωρισμένα, ωστόσο στην πραγματικότητα πρόκειται για τον ίδιο Η/Υ, τις ίδιες κάρτες δικτύου, την ίδια RAM, κλπ. Ως εκ τούτου, η δικτύωση του Kermit έχει εν γένει αδυναμίες, παρά τον καλό σχεδιασμό του. Ωστόσο, για τις ανάγκες που καλύπτει και το διαθέσιμο hardware η ασφάλειά του κρίνεται τουλάχιστον επαρκής.

Ως λύση backup, έχει δημιουργηθεί ένα schedule (με τον crond) όπου εκτελείται ένα script που επιγραμματικά κάνει τα εξής:

  • Κάνει rotate τα παλιά backup τηρώντας μία ιστορικότητα 3 αντιγράφων
  • Κρατάει αντίγραφο των /etc/* αρχείων του kermit
  • Παγώνει όλα τα VMs
  • Κρατάει αντίγραφο για το state όλων των VMs
  • Κρατάει αντίγραφο ένα ένα τα VMs
  • Κάθε φορά που ολοκληρώνεται το backup ενός VM, αυτό "ξεπαγώνει" πριν προχωρήσει στο backup του επόμενου VM. Έτσι, τα VMs δεν μένουν "παγωμένα" για περισσότερο χρόνο από όσο απαιτείται για το backup.
  • Δημιουργεί ένα υποτυπώδες log

Τα αντίγραφα ασφαλείας διατηρούνται στον δεύτερο δίσκο Data του Kermit.

Virtual Machines

Παρατίθεται λίστα με τα εικονικά μηχανήματα που υποστηρίζει ο kermit.

  • Animal: Public Access server
  • pbx: VoIP Asterisk* server
  • Piggy: Backup server για τις υπηρεσίες της κοινότητας (forum, wiki, site, status.net)
  • Ice: Streaming server βασισμένος σε icecast2 και ices2
  • Ermis: IMAP local mail server (υπό κατασκευή)