Vom Netzwerk in a Box – zum Software defined Cloud Stack
#whoami
●

Michael – Mike Widmann

●

Cofounder nimbus Development GmbH (seit 1999)

●

System Architekt

●

Lotus Notes Admin & Developer

●

Seit 2005 Online Backup Services

●

Solaris inlove von 2007 bis 2010

●

Gewitterwolken am Beziehungshimmel – Oracle / Sun – Solaris

●

Seit 2011 – Beziehungswechsel – zu SmartOS
#talk:milestones
●

Geschichte & Übersicht

●

Just Boot – no Install

●

Technologie Stack & Hardware Assimilierung

●

Global und Regional – Zonen & OS Level Virtualisierung

●

Mehr Durchschlagskraft – Crossbow

●

Ein Mutterschiff ist zuwenig – Cloud Orchestration

●

Automate & Delegate
Geschichte
●

OpenSolaris – Sun Microsystems – seit 2005

●

Seit 2010 scheint die Sonne aus dem … von Oracle

●

Illumnos: Garrett D'Amore (Ex Solaris Hacker & Fellows)

●

Alle Closed Bits - „rewritten“ oder von BSD portiert.

●

Joyent / Delphix / Nexenta – neue Home Bases

●

KVM Virtualisierung auf Solaris

●

17.8.2011 - Joyent gibt Smartos OSS mit KVM Virtualisierung

●

18.8.2011 – Internes Oracle Memo – Solaris 11 Source closed
Der erleuchtete „Kern“
●

Illumnos – based Distros
–

SmartOS

(2 Weekly Build)

–

NexentaStor (Commercial – teilweise OOS)

–

OmniOS (Hardcore Solaris)

–

OpenIndiana (Desktop & Server)

–

XstreamOS / XstreamServer

–

EON Storage

–

Napp-it to GO

–

OpenSXCE

–

Tribblix (relativ neu – aber Solaris Veteran dahinter)

–

Und weitere
RUNNING

Boot - Configure – Run without Root Pool
Nett Boot...
●

USB

●

CDROM

●

PXE Boot

●

Vorteile von PXE Boot SmartOS
–

Sollte ein Fix notwendig sein – kein „Patching“ - neues Image laden

–

Rollback auf ältere Versionen einfach möglich

–

Immutable = Sicher!

–

ZFS Feature Flags prüfen!
CD – ROM Boot (never done)
USB Boot (first steps)
Headnode – PXE Boot (best way)
Easy Steps to get lost ...

Root PWD
Network (DHCP / FIXED IP)
NTP Server
Data Pool (RAID-Z / Mirror / Something else)
Reboot
Done …
SSH into the „Global Zone of your new SmartOS Host“

… and you are competely lost …
Everything is different ...
●

Gängige Betriebssysteme
–

●

Root FS = ON Disc

SmartOS
–
–

●

Root FS = Ramdisc (immutable)
/usr = read only loopback mounted - single compressed file

Viele Dinge nicht möglich
–

Useradd

–

Cp something /usr /etc /root

–

Install „packages“ (möglich aber nicht ganz einfach)

–

Services (SMF) reset on each Boot
Was darf ich nun machen?
Filesystem
zones
zones/var
zones/opt
zones/usbkey
/usbkey/shadow
/usbkey/ssh

size
2.0T
2.0T
2.0T
2.0T
1.8T
1.8T

used
143M
4.0G
55K
154K
154K
154K

avail capacity
1.8T
1%
1.8T
1%
1.8T
1%
1.8T
1%
1.8T
1%
1.8T
1%

vi /usbkey/config
zpool attach zones c0t0d0 c0t1d0 (mirror)
zpool add zones mirror c0t2d0 c0t3d0

Mounted on
/zones
/var
/opt
/usbkey
/etc/shadow
/etc/ssh
Technologie Stack & Hardware Assimilation
Eindeutig keine Schweden diese Borg ...
Captain: Deck 1 bis 4 – gesichert

ZONE 1 - KVM

ZONE 2 OS

ZONE 3 KVM

Application

Application

Application

Global Zone
Immutable

ZFS

VNIC

ZFS

Crossbow – Network Stack
Kernel
Hardware

VNIC

ZFS

Virtueller Storage POOL

DTrace

VNIC
nothing WOW till now...?
STORAGE & ZFS
●

ZPOOL – Organisiert Devices (Physische / Virtuelle)

●

ZFS – END to END Integrität (no Raid Hole!)

●

COW – Copy on Write (snapshots / clones)

●

Compression

●

Quota Management & Reservierungen
Beam me up
Scotty... no space
left here
vmadm send ZONEUUID | ssh 10.10.10.2 | vmadm receive
vmadm start ZONEUUID
(Bitte nur mit DHCP probieren sonst knallt's)
Schnelle Reprodukion
imgadm avail | grep ….

imgadm import UUID
e6ac6784­44b3­11e1­8555­87c3dd87aafe  debian­6.03    1.0.0    linux    2012­11­21T00:17:44Z
46ecf60e­52c8­11e2­b212­9b51fc749547  debian­6.0.6   2.3.1    linux    2013­01­24T21:36:28Z
014e2254­a853­11e2­81c9­b318c31fa17a  debian­6.0.7   2.4.1    linux    2013­04­18T19:04:41Z
94384a12­bbeb­11e2­aec2­2bfa9742484b  debian­6.0.7   2.4.2    linux    2013­05­13T19:19:01Z
1d4fd806­6ef8­11e2­93ab­4f22d6d207c9  mongodb        1.4.5    smartos  2013­02­04T18:43:44Z
ec5defa8­16fe­11e3­948e­8f59b3488902  mongodb        13.2.0   smartos  2013­09­06T14:16:28Z
d2409672­29f3­11e3­ba86­6f782523cb41  mongodb        13.2.1   smartos  2013­09­30T17:14:52Z
649e0c72­89ec­11e3­a7c2­97e6a67823b0  mongodb        13.3.1   smartos  2014­01­30T20:23
bae3f528­e01f­11e2­b2cb­1360087a7d5f  cassandra      13.1.0   smartos  2013­07­02T19:55:00Z
274bc2bc­d919­11e2­b797­83245409fbeb  hadoop         13.1.0   smartos  2013­07­02T19:55:00
vmadm create -f ghost.json

Schnelle Vermehrung
{
"brand": "joyent",
"image_uuid": "81223438-7874-11e3-9edf-8f1e15269924",
"autoboot": true,
"alias": "ghostblog",
"hostname": "companyblog",
"dns_domain": "company.internal",
"resolvers": [
"192.168.210.1"
],
"max_physical_memory": 512,
"max_swap": 512,
"nics": [
{
"nic_tag": "extern",
"ip": "dhcp",
"gateway": "10.99.10.1",
"vlan_id": 10
}
]
}
Scotty Schutzschild für fremdes OS
vmadm create -f ubuntu.json
zfs set compression=on /zones/UUID-disk0
vmadm boot UUID order=cd,once=d /ubuntu.iso,ide
vmadm info UUID vnc{

KVM ZONE

"vnc": {
"host": "192.168.10.2",

Application

"port": 46776,
"display": 40876

VNIC

ZFS

}
}

dann VNCen wir uns das genauer an
Getting all together
KVM ZONE
Application
Crossbow – Network Stack

VNIC

ZFS

VNIC – DHCP
MAC von der VNIC (no spoofing possible)
VLAN possible
Virtual Switch (EtherStub Connection möglich)

Kernel
Memory CAP / Scheduler
CPU Shares / VCPU Assignent

Virtueller Storage POOL
ZVOL – mit EXT4
Compressed (performance)
ZFS Throttle
Max Size
Crossbow – Die Herausforderung
●
●

2 physikalische Switches

●

2 mal „Energie“ für Host

●

2 mal „Energie“ für Switch

●

Einstellung für Kunden:

●

HOST1

2 physikalische Hosts

50 Mbit Host 1

●

10 Mbit Host 2

HOST2

PNIC1

PNIC2

50 Mbit

10 Mbit

Physischer Switch

Switch
Crossbow – Resultat
●

Resultat:
–

HOST1

HOST2

VNIC1

VNIC2

Virtueller Switch
Aggregat
PNIC1
PNIC1

Switch

1 Physischer Host

–

1 Switch
–------------------------------Stromkosten Ersparnis
Wartung geringer
Flexible „Sicherheit“
–------------------------------Software Defined Network
(in a Box)
:Crossbow – Was wird benötigt
●

Eintrag in der /usbkey/config → Aggregat

●

Virtueller Switch (automatisch / manuell)

●

Zonen (json Files – KVM / OS Zone)
–

Link Aggregation
●

–

Virtueller Switch
●

–

Interface0=MACADRESSE1,MACADDRESSE2,MACADRESSEX
etherstub=vswitch1,vswitch2

ZoneFile Json – NicTAG für VSwitch inkludieren
●

„nic_tag“:“vswitch1“,
Cloudorchestration: Server Flotte
●

Aktuelle Möglichkeiten auf SmartOS

●

Joyent DataCenter – SDC
–
–

All in One Stack vom Headnode zu den Compute Nodes

–
●

Hervorragende Analysen (Dtrace / Monitoring etc)
Kostenpflichtig

Project Fifo
–
–

●

Open Source – laufende Entwicklung – Frei zur Nutzung / Donation
Kleinere Environments (Zone Creation / User Management / Dashboard)

Datasets.at
–

Dataset Builder (JSON) – mit den dementsprechenden Images
FiFo
FiFo 2
FiFO 3
Infracode & Automatisierung
●

Joyent verwendet „Chef Solo“

●

Git für Deployment der Cookbooks

●

Automatisierung vom PXE Boot bis zu den Zonen

●

Automatisierung durch „datasets / images“

●

Überwachung mit Zabbix
Conclusio
●

SmartOS ist ideal für:
–
–

Network in a Box – HomeCloud

–

Systeme wo Performance wichtig ist

–

Basis für Private Cloud Systeme

–

Idealer Bare Metal HyperVisor – Datensicherheit

–

●

Cloud Systeme

Less Latency Systeme (keine SAN Anbindung)

SmartOS ist nicht für
–

Desktop Betrieb

–

Betriebssystem Installation
Fragen ?
Herzlichen Dank …

Infracoders Graz, smartOS - vom Netzwerk in der Box - zum Software Cloud Stack

  • 1.
    Vom Netzwerk ina Box – zum Software defined Cloud Stack
  • 2.
    #whoami ● Michael – MikeWidmann ● Cofounder nimbus Development GmbH (seit 1999) ● System Architekt ● Lotus Notes Admin & Developer ● Seit 2005 Online Backup Services ● Solaris inlove von 2007 bis 2010 ● Gewitterwolken am Beziehungshimmel – Oracle / Sun – Solaris ● Seit 2011 – Beziehungswechsel – zu SmartOS
  • 3.
    #talk:milestones ● Geschichte & Übersicht ● JustBoot – no Install ● Technologie Stack & Hardware Assimilierung ● Global und Regional – Zonen & OS Level Virtualisierung ● Mehr Durchschlagskraft – Crossbow ● Ein Mutterschiff ist zuwenig – Cloud Orchestration ● Automate & Delegate
  • 4.
    Geschichte ● OpenSolaris – SunMicrosystems – seit 2005 ● Seit 2010 scheint die Sonne aus dem … von Oracle ● Illumnos: Garrett D'Amore (Ex Solaris Hacker & Fellows) ● Alle Closed Bits - „rewritten“ oder von BSD portiert. ● Joyent / Delphix / Nexenta – neue Home Bases ● KVM Virtualisierung auf Solaris ● 17.8.2011 - Joyent gibt Smartos OSS mit KVM Virtualisierung ● 18.8.2011 – Internes Oracle Memo – Solaris 11 Source closed
  • 5.
    Der erleuchtete „Kern“ ● Illumnos– based Distros – SmartOS (2 Weekly Build) – NexentaStor (Commercial – teilweise OOS) – OmniOS (Hardcore Solaris) – OpenIndiana (Desktop & Server) – XstreamOS / XstreamServer – EON Storage – Napp-it to GO – OpenSXCE – Tribblix (relativ neu – aber Solaris Veteran dahinter) – Und weitere
  • 6.
    RUNNING Boot - Configure– Run without Root Pool
  • 7.
    Nett Boot... ● USB ● CDROM ● PXE Boot ● Vorteilevon PXE Boot SmartOS – Sollte ein Fix notwendig sein – kein „Patching“ - neues Image laden – Rollback auf ältere Versionen einfach möglich – Immutable = Sicher! – ZFS Feature Flags prüfen!
  • 8.
    CD – ROMBoot (never done) USB Boot (first steps) Headnode – PXE Boot (best way)
  • 9.
    Easy Steps toget lost ... Root PWD Network (DHCP / FIXED IP) NTP Server Data Pool (RAID-Z / Mirror / Something else) Reboot Done … SSH into the „Global Zone of your new SmartOS Host“ … and you are competely lost …
  • 10.
    Everything is different... ● Gängige Betriebssysteme – ● Root FS = ON Disc SmartOS – – ● Root FS = Ramdisc (immutable) /usr = read only loopback mounted - single compressed file Viele Dinge nicht möglich – Useradd – Cp something /usr /etc /root – Install „packages“ (möglich aber nicht ganz einfach) – Services (SMF) reset on each Boot
  • 11.
    Was darf ichnun machen? Filesystem zones zones/var zones/opt zones/usbkey /usbkey/shadow /usbkey/ssh size 2.0T 2.0T 2.0T 2.0T 1.8T 1.8T used 143M 4.0G 55K 154K 154K 154K avail capacity 1.8T 1% 1.8T 1% 1.8T 1% 1.8T 1% 1.8T 1% 1.8T 1% vi /usbkey/config zpool attach zones c0t0d0 c0t1d0 (mirror) zpool add zones mirror c0t2d0 c0t3d0 Mounted on /zones /var /opt /usbkey /etc/shadow /etc/ssh
  • 12.
    Technologie Stack &Hardware Assimilation
  • 13.
  • 14.
    Captain: Deck 1bis 4 – gesichert ZONE 1 - KVM ZONE 2 OS ZONE 3 KVM Application Application Application Global Zone Immutable ZFS VNIC ZFS Crossbow – Network Stack Kernel Hardware VNIC ZFS Virtueller Storage POOL DTrace VNIC
  • 15.
  • 16.
    STORAGE & ZFS ● ZPOOL– Organisiert Devices (Physische / Virtuelle) ● ZFS – END to END Integrität (no Raid Hole!) ● COW – Copy on Write (snapshots / clones) ● Compression ● Quota Management & Reservierungen
  • 17.
    Beam me up Scotty...no space left here
  • 18.
    vmadm send ZONEUUID| ssh 10.10.10.2 | vmadm receive vmadm start ZONEUUID (Bitte nur mit DHCP probieren sonst knallt's)
  • 19.
  • 20.
    imgadm avail |grep …. imgadm import UUID e6ac6784­44b3­11e1­8555­87c3dd87aafe  debian­6.03    1.0.0    linux    2012­11­21T00:17:44Z 46ecf60e­52c8­11e2­b212­9b51fc749547  debian­6.0.6   2.3.1    linux    2013­01­24T21:36:28Z 014e2254­a853­11e2­81c9­b318c31fa17a  debian­6.0.7   2.4.1    linux    2013­04­18T19:04:41Z 94384a12­bbeb­11e2­aec2­2bfa9742484b  debian­6.0.7   2.4.2    linux    2013­05­13T19:19:01Z 1d4fd806­6ef8­11e2­93ab­4f22d6d207c9  mongodb        1.4.5    smartos  2013­02­04T18:43:44Z ec5defa8­16fe­11e3­948e­8f59b3488902  mongodb        13.2.0   smartos  2013­09­06T14:16:28Z d2409672­29f3­11e3­ba86­6f782523cb41  mongodb        13.2.1   smartos  2013­09­30T17:14:52Z 649e0c72­89ec­11e3­a7c2­97e6a67823b0  mongodb        13.3.1   smartos  2014­01­30T20:23 bae3f528­e01f­11e2­b2cb­1360087a7d5f  cassandra      13.1.0   smartos  2013­07­02T19:55:00Z 274bc2bc­d919­11e2­b797­83245409fbeb  hadoop         13.1.0   smartos  2013­07­02T19:55:00
  • 21.
    vmadm create -fghost.json Schnelle Vermehrung { "brand": "joyent", "image_uuid": "81223438-7874-11e3-9edf-8f1e15269924", "autoboot": true, "alias": "ghostblog", "hostname": "companyblog", "dns_domain": "company.internal", "resolvers": [ "192.168.210.1" ], "max_physical_memory": 512, "max_swap": 512, "nics": [ { "nic_tag": "extern", "ip": "dhcp", "gateway": "10.99.10.1", "vlan_id": 10 } ] }
  • 22.
    Scotty Schutzschild fürfremdes OS vmadm create -f ubuntu.json zfs set compression=on /zones/UUID-disk0 vmadm boot UUID order=cd,once=d /ubuntu.iso,ide vmadm info UUID vnc{ KVM ZONE "vnc": { "host": "192.168.10.2", Application "port": 46776, "display": 40876 VNIC ZFS } } dann VNCen wir uns das genauer an
  • 23.
    Getting all together KVMZONE Application Crossbow – Network Stack VNIC ZFS VNIC – DHCP MAC von der VNIC (no spoofing possible) VLAN possible Virtual Switch (EtherStub Connection möglich) Kernel Memory CAP / Scheduler CPU Shares / VCPU Assignent Virtueller Storage POOL ZVOL – mit EXT4 Compressed (performance) ZFS Throttle Max Size
  • 24.
    Crossbow – DieHerausforderung ● ● 2 physikalische Switches ● 2 mal „Energie“ für Host ● 2 mal „Energie“ für Switch ● Einstellung für Kunden: ● HOST1 2 physikalische Hosts 50 Mbit Host 1 ● 10 Mbit Host 2 HOST2 PNIC1 PNIC2 50 Mbit 10 Mbit Physischer Switch Switch
  • 25.
    Crossbow – Resultat ● Resultat: – HOST1 HOST2 VNIC1 VNIC2 VirtuellerSwitch Aggregat PNIC1 PNIC1 Switch 1 Physischer Host – 1 Switch –------------------------------Stromkosten Ersparnis Wartung geringer Flexible „Sicherheit“ –------------------------------Software Defined Network (in a Box)
  • 26.
    :Crossbow – Waswird benötigt ● Eintrag in der /usbkey/config → Aggregat ● Virtueller Switch (automatisch / manuell) ● Zonen (json Files – KVM / OS Zone) – Link Aggregation ● – Virtueller Switch ● – Interface0=MACADRESSE1,MACADDRESSE2,MACADRESSEX etherstub=vswitch1,vswitch2 ZoneFile Json – NicTAG für VSwitch inkludieren ● „nic_tag“:“vswitch1“,
  • 27.
    Cloudorchestration: Server Flotte ● AktuelleMöglichkeiten auf SmartOS ● Joyent DataCenter – SDC – – All in One Stack vom Headnode zu den Compute Nodes – ● Hervorragende Analysen (Dtrace / Monitoring etc) Kostenpflichtig Project Fifo – – ● Open Source – laufende Entwicklung – Frei zur Nutzung / Donation Kleinere Environments (Zone Creation / User Management / Dashboard) Datasets.at – Dataset Builder (JSON) – mit den dementsprechenden Images
  • 28.
  • 29.
  • 30.
  • 31.
    Infracode & Automatisierung ● Joyentverwendet „Chef Solo“ ● Git für Deployment der Cookbooks ● Automatisierung vom PXE Boot bis zu den Zonen ● Automatisierung durch „datasets / images“ ● Überwachung mit Zabbix
  • 32.
    Conclusio ● SmartOS ist idealfür: – – Network in a Box – HomeCloud – Systeme wo Performance wichtig ist – Basis für Private Cloud Systeme – Idealer Bare Metal HyperVisor – Datensicherheit – ● Cloud Systeme Less Latency Systeme (keine SAN Anbindung) SmartOS ist nicht für – Desktop Betrieb – Betriebssystem Installation
  • 33.
  • 34.