Ganeti-Overview.Pdf

Ganeti-Overview.Pdf

Ganeti - Overview Brian Candler Network Startup Resource Center [email protected] These materials are licensed under the Creative Commons Attribution-NonCommercial 4.0 International license (http://creativecommons.org/licenses/by-nc/4.0/) What is Ganeti? ● Cluster virtualization software by Google ● Used for all their in-house (office) infrastructure ● Very actively developed – preferred platform is Debian, others can be used ● Good user community ● Totally free and open source Ganeti features ● Manages hypervisors: Xen, KVM, LXC ... ● Manages storage ● Killer feature: can configure DRBD replication – Fault-tolerance and live migration on commodity hardware without shared storage! ● VM image provisioning ● Remote API for integration with other systems Ganeti caveats ● Command-line based – Has a learning curve – Lots of features – Still much simpler than OpenStack etc ● No web interface included ● Doesn't natively support the idea of different users and roles – but Ganeti Web Manager adds this Terminology ● instance = a virtual machine (guest) ● node = a physical server (host) ● cluster = all nodes Cluster management ● One of the nodes is the master – It maintains all the cluster state and copies it to other nodes – It sends commands to the other nodes ● It has an extra IP alias (the cluster address) Slave Slave Master (master (master candidate) candidate) 192.168.0.1 192.168.0.2 192.168.0.3 192.168.0.100 Cluster address Cluster failover ● All commands are executed on the master ● If the master fails, you can promote another node to be master – This is a manual event Failed Master Slave 192.168.0.1 192.168.0.2 192.168.0.3 192.168.0.100 Cluster address Simplified architecture Master CLI RAPI master job daemon queue node node Other daemon daemon Nodes LVM, LVM, KVM KVM DRBD DRBD “Plain” instance Instance 1 Instance 2 Host LV 1 LV 2 VG (LVM) Disks ● Instance disks are Logical Volumes, stored on a Volume Group ● Can be expanded as required “DRBD” instance Instance 1 Node Node A DRBD DRBD B network LV 1 LV 1 VG (LVM) VG (LVM) Disks Disks ● Instance (Guest) does not use LV directly ● DRBD layer replicates disk to secondary node (B) ● Failover / migration becomes possible DRBD: Primary & secondary Instance 1 Node primary secondary Node A DRBD DRBD B network LV 1 LV 1 VG (LVM) VG (LVM) ● Node A is said to be “primary” for Instance 1 ● Node B is said to be “secondary” for Instance 1 DRBD: Migration Instance 1 Node primary secondary Node A DRBD DRBD B network LV 1 LV 1 VG (LVM) VG (LVM) ● Copy RAM + state of Instance 1 from A to B ● Pause Instance 1 on A ● Copy RAM again, reverse DRBD roles ● Resume Instance on B – B is now primary for Inst. 1 After migration Instance 1 Node secondary primary Node A DRBD DRBD B network LV 1 LV 1 VG (LVM) VG (LVM) Primary & secondary Node Instance 1 Node Instance 2 Node A B C primary secondary primary secondary DRBD DRBD DRBD DRBD network network LV 1 LV 1 LV 2 LV 2 VG (LVM) networkVG (LVM) networkVG (LVM) ● A node can both be primary and secondary for different instances ● Node A is “primary” for Instance 1 ● Node B is “secondary” for Instance 1 ● Node B is also “primary” for Instance 2 ● Node C is “secondary” for Instance 2 Unplanned node failure Node Instance 1 Node Instance 2 Node A B C primary failed failed primary DRBD DRBD DRBD DRBD LV 1 LV 1 LV 2 LV 2 VG (LVM) networkVG (LVM) networkVG (LVM) ● Instance 2 was running on node B ● It can be restarted on its secondary node (instance failover) ● This is a manual event Available storage templates ● plain: logical volume ● drbd: replicated logical volume ● file: local raw disk image file ● sharedfile: disk image file over NFS etc ● blockdev: any pre-existing block device ● rbd: Ceph (RADOS) distributed storage ● diskless: no disk (e.g. live CD) ● ext: pluggable storage API Networking ● You need one management IP address per node, plus one cluster management IP ● all on the same management subnet ● Optional: separate replication network for drbd traffic ● Optional: additional network(s) for guests to connect to ● so they cannot see the cluster nodes ● reduces the impact of a DoS attack on a guest VM Ganeti Scaling ● Start with just one or two nodes! ● Recommended you limit cluster to 40 nodes (approx. 1000 instances) ● Beyond this you can just build more clusters Exercise ● Build a Ganeti cluster ● Working in groups ● 3 or 4 nodes in each cluster .

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    19 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us