Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DevOps Conference 2015

DevOps Conference 2015

Wie baut man ein privates Amazon AWS mit Open Source? In diesem Vortag wird die Realisierung einer privaten Cloud vom Konzept bis hin zum Produktivsystem vorgestellt. Amazon hat mit AWS diese Idee als Public Cloud für die breite Öffentlichkeit zugänglich gemacht. Es gibt jedoch gute Gründe eine eigene, private Cloud zu bauen. Diese Gründe können Sicherheitsbedenken und rechtliche Kriterien sein. Dr. Lukas Pustina und Daniel Schneller von der codecentric AG haben für das Startup CenterDevice eine private Cloud realisiert. In diesem Vortrag werden konkret Konzepte, Entscheidungen und Probleme erläutert. Dabei wird auch die ein oder andere Anekdote aus dem täglichen Wahnsinn der Cloud Administration nicht fehlen. Anhand spezifischer Anforderungen werden die eingesetzten Komponenten Ubuntu Linux, Ansible, Ceph und OpenStack eingeführt.

Lukas Pustina

June 03, 2015
Tweet

More Decks by Lukas Pustina

Other Decks in Technology

Transcript

  1. IEEE 802.3ad != IEEE 802.3ad > cat /etc/network/interfaces ... auto

    bond2 iface bond2 inet manual bond-slaves p2p3 p2p4 # interfaces to bond bond-mode 802.3ad # activate LACP bond-miimon 100 # monitor link health bond-xmit_hash_policy layer3+4 # use Layer 3+4 for link selection pre-up ip link set dev bond2 mtu 9000 # set Jumbo Frames auto vlan-ceph-clust iface vlan-ceph-clust inet static pre-up ip link add link bond2 name vlan-ceph-clust type vlan id 105 pre-up ip link set dev vlan-ceph-clust mtu 9000 # Jumbo Frames post-down ip link delete vlan-ceph-clust address ... netmask ... network ... broadcast ... ...
  2. [node01] > iperf -s -B node01.ceph-cluster [node02] > iperf -c

    node01.ceph-cluster [node03] > iperf -c node01.ceph-cluster
  3. Gesamtarchitektur Bare Metal Ceph Node 1 Node 2 Node 3

    Node 4 OSD 1 … … … … … … … … … OSD 48 …
  4. Node 5 Node 1 Node 2 Node 3 Node 4

    CD-VM1 VMs Bare Metal Ceph Node 6 CD-VM2 Node 7 CD-VM3 Node 8 CD-VM4 ES Mo CD CD ES Mo CD CD ES Mo CD CD ES Mo CD CD Node … VM … VM … Gesamtarchitektur OSD 1 … … … … … … … … … OSD 48 …
  5. Node 5 Node 3 Node 1 Rados GW Node 2

    Rados GW Rados GW Node 4 Rados GW CD-VM1 VMs Bare Metal Ceph Node 6 CD-VM2 Node 7 CD-VM3 Node 8 CD-VM4 ES Mo CD CD ES Mo CD CD ES Mo CD CD ES Mo CD CD Node … VM … VM … Gesamtarchitektur OSD 1 … … … … … … … … … OSD 48 …
  6. Node 5 Node 1 Rados GW Node 2 Rados GW

    Node 3 Rados GW Node 4 Rados GW CD-VM1 HAProxy VMs Bare Metal Ceph Node 6 CD-VM2 Node 7 CD-VM3 Node 8 CD-VM4 HAProxy HAProxy HAProxy ES Mo CD CD ES Mo CD CD ES Mo CD CD ES Mo CD CD Node … VM … VM … Gesamtarchitektur OSD 1 … … … … … … … … … OSD 48 …
  7. Node 5 Node 1 Rados GW Node 2 Rados GW

    Node 3 Rados GW Node 4 Rados GW CD-VM1 HAProxy VMs Bare Metal Ceph Node 6 CD-VM2 Node 7 CD-VM3 Node 8 CD-VM4 HAProxy HAProxy HAProxy ES Mo CD CD ES Mo CD CD ES Mo CD CD ES Mo CD CD Node … VM … VM … Gesamtarchitektur OSD 1 … … … … … … … … … OSD 48 …
  8. Bonding Modes Halbe Kraft voraus! [node01] > iperf -s -B

    node01.ceph-cluster […] [ 4] local 10.102.5.11 port 5001 connected with 10.102.5.12 port 49412 [ 5] local 10.102.5.11 port 5001 connected with 10.102.5.12 port 49413 [ 6] local 10.102.5.11 port 5001 connected with 10.102.5.13 port 59947 [ 7] local 10.102.5.11 port 5001 connected with 10.102.5.13 port 59946 [ ID] Interval Transfer Bandwidth [ 4] 0.0-10.0 sec 342 MBytes 286 Mbits/sec [ 5] 0.0-10.0 sec 271 MBytes 227 Mbits/sec [SUM] 0.0-10.0 sec 613 MBytes 513 Mbits/sec [ 6] 0.0-10.0 sec 293 MBytes 246 Mbits/sec [ 7] 0.0-10.0 sec 338 MBytes 283 Mbits/sec [SUM] 0.0-10.0 sec 631 MBytes 529 Mbits/sec ???
  9. Bonding und VLANs Ein Switch als Weihnachtsbaum 01: Handle up

    event of interface Po4 02: VPC Po4(VPC ID: 4) UP on self. Inform peer to program peer-link to BLOCK traffic 03: Received control message of type MLAG_INTERFACE_DOWN, for VPC ID 4 04: Handle down event of interface Po2 05: VPC Po2(VPC ID: 2) DOWN on self. Inform peer to program peer-link to ALLOW traffic 06: Handle up event of interface Po2 07: VPC Po2(VPC ID: 2) UP on self. Inform peer to program peer-link to BLOCK traffic 08: Handle down event of interface Po42 09: VPC Po42(VPC ID: 42) DOWN on self. Inform peer to program peer-link to ALLOW traffic 10: Handle up event of interface Po42 11: VPC Po42(VPC ID: 42) UP on self. Inform peer to program peer-link to BLOCK traffic 12: Received control message of type MLAG_INTERFACE_DOWN, for VPC ID 42 13: Received control message of type MLAG_INTERFACE_UP, for VPC ID 14 14: Handle down event of interface Po16 15: VPC Po16(VPC ID: 16) DOWN on self. Inform peer to program peer-link to ALLOW traffic 16: Received control message of type MLAG_INTERFACE_DOWN, for VPC ID 39 17: Received control message of type MLAG_INTERFACE_UP, for VPC ID 42 […]
  10. RADOS Gateway Use as recommended for maximum happiness CAUTION OBEY

    USER
 LIMITS! CAUTION KNOW THE CONFIG CAUTION NO SNAPS
 ALLOWED!
  11. Netzwerk – Total trivial Node 5 CD-VM1 Node 6 CD-VM2

    Node 7 LB1 HAProxy … Node 8 LB2 HAProxy … Der Wolf im Netzpelz
  12. Netzwerk – Total trivial Der Wolf im Netzpelz VHOST_NET_ENABLED=0 #

    To load the vhost_net module, which in some cases can speed up # network performance, set VHOST_NET_ENABLED to 1. $ cat /etc/default/qemu-kvm
  13. Netzwerk – Total trivial Der Wolf im Netzpelz # To

    load the vhost_net module, which in some cases can speed up # network performance, set VHOST_NET_ENABLED to 1. VHOST_NET_ENABLED=1 $ cat /etc/default/qemu-kvm
  14. Netzwerk – Total trivial Der Wolf im Netzpelz # To

    load the vhost_net module, which in some cases can speed up # network performance, set VHOST_NET_ENABLED to 1. VHOST_NET_ENABLED=1 $ cat /etc/default/qemu-kvm CAUTION VIRTUAL
 NETWORKS!
  15. Live Migration “Der sich den Wolf patcht” CAUTION CHECK BUG


    TRACKERS! CAUTION YOU’RE NOT
 DEFAULT!
  16. Heat Stacks Ein Wolf kommt selten allein CAUTION CHECK BUG


    TRACKERS! CAUTION YOU’RE NOT
 THE DEFAULT!
  17. http://www.cloudfibel.de codecentric Cloud Fibel 1. 2015 PRAXIS AUS DEM NÄHKÄSTCHEN

    ÜBERBLICK 6 OPENSTACK - PRIVATSACHE 18 DOCKER - DIENSTE IN CONTAINERN 29 CEPH - MÄCHTIG FLEXIBEL 42 ANSIBLE - EINFACH LEISTUNGSFÄHIG 58 DOCKER TOOLS 68 CEPH BENCHMARKS 74 HARDWARE FÄLLT AUS 78 NEVER CHANGE A RUNNING SYSTEM 80 PROVISIONIERUNG VON IAAS CLOUDS 86 JINJA2 FÜR BESSERE ANSIBLE TEMPLATES 93 SSH ZWEIFAKTOR-AUTHENTIFIZIERUNG 100 EIN OPENSTACK-KRIMI
  18. Blog Posts • https://blog.codecentric.de/en/2015/03/true-kvm-live-migration-openstack- icehouse-ceph-based-vm-storage/ • https://blog.codecentric.de/en/2014/06/provisioning-iaas-clouds-dynamic-ansible- inventories-openstack-metadata/ • https://blog.codecentric.de/en/2014/08/jinja2-better-ansible-playbooks-templates/

    • https://blog.codecentric.de/en/2014/06/ansible-simple-yet-powerful-automation/ • https://blog.codecentric.de/en/2014/09/openstack-crime-story-solved-tcpdump- sysdig-iostat-episode-1/ • https://blog.codecentric.de/en/2014/12/haproxy-http-header-rate-limiting/ • https://blog.codecentric.de/en/2014/12/centerdevice-cloud-architecture-revisited/ • https://blog.codecentric.de/en/2013/12/never-change-running-system-wrong/ • https://blog.codecentric.de/en/2013/11/hardware-will-fail-just-way-expect/