Upload
edmund-siegfried-haselwanter
View
442
Download
1
Embed Size (px)
DESCRIPTION
Abstract SmartOS ist ein immutable Hypervisor - der vom Netzwerk in der Box - bis ins DatenCenter skaliert. Die Vorteile von “Just Boot - no Install” kombiniert mit ZFS / DTrace / Zonen / KVM ergeben ein modernes “CloudOS” welches mit 128MB bis 256MB Ram ebenso gut umgeht, wie mit Maschinen die 512GB RAM und mehr bieten. Vortragender Michael Widmann - verwendet smartOS mit OS Level Virtualisierung ebenso wie als OS Virtualisierung im produktiven Umfeld.
Citation preview
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
Boot - Configure – Run without Root Pool
RUNNING
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 size used avail capacity Mounted onzones 2.0T 143M 1.8T 1% /zoneszones/var 2.0T 4.0G 1.8T 1% /varzones/opt 2.0T 55K 1.8T 1% /optzones/usbkey 2.0T 154K 1.8T 1% /usbkey/usbkey/shadow 1.8T 154K 1.8T 1% /etc/shadow/usbkey/ssh 1.8T 154K 1.8T 1% /etc/ssh
vi /usbkey/config
zpool attach zones c0t0d0 c0t1d0 (mirror) zpool add zones mirror c0t2d0 c0t3d0
Technologie Stack & Hardware Assimilation
Eindeutig keine Schweden diese Borg ...
Captain: Deck 1 bis 4 – gesichert
Hardware
Kernel
Virtueller Storage POOL
ZONE 1 - KVM ZONE 2 OS ZONE 3 KVM
Crossbow – Network Stack
ZFSZFSZFSVNIC VNIC VNIC
Application Application Application
Glo
bal Z
one
Imm
utab
le
DT
race
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
e6ac678444b311e1855587c3dd87aafe debian6.03 1.0.0 linux 20121121T00:17:44Z46ecf60e52c811e2b2129b51fc749547 debian6.0.6 2.3.1 linux 20130124T21:36:28Z014e2254a85311e281c9b318c31fa17a debian6.0.7 2.4.1 linux 20130418T19:04:41Z94384a12bbeb11e2aec22bfa9742484b debian6.0.7 2.4.2 linux 20130513T19:19:01Z
1d4fd8066ef811e293ab4f22d6d207c9 mongodb 1.4.5 smartos 20130204T18:43:44Zec5defa816fe11e3948e8f59b3488902 mongodb 13.2.0 smartos 20130906T14:16:28Zd240967229f311e3ba866f782523cb41 mongodb 13.2.1 smartos 20130930T17:14:52Z649e0c7289ec11e3a7c297e6a67823b0 mongodb 13.3.1 smartos 20140130T20:23
bae3f528e01f11e2b2cb1360087a7d5f cassandra 13.1.0 smartos 20130702T19:55:00Z
274bc2bcd91911e2b79783245409fbeb hadoop 13.1.0 smartos 20130702T19:55:00
Schnelle Vermehrung vm
ad
m c
rea
te -
f gh
ost
.jso
n {
"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{
"vnc": {
"host": "192.168.10.2",
"port": 46776,
"display": 40876
}
}
dann VNCen wir uns das genauer an
KVM ZONE
ZFSVNIC
Application
Getting all together
KVM ZONE
ZFSVNIC
Application
Crossbow – Network Stack Virtueller Storage POOL
ZVOL – mit EXT4Compressed (performance) ZFS ThrottleMax Size
VNIC – DHCP MAC von der VNIC (no spoofing possible)VLAN possibleVirtual Switch (EtherStub Connection möglich)
Kernel
Memory CAP / Scheduler CPU Shares / VCPU Assignent
Crossbow – Die Herausforderung
Physischer Switch
Switch
PNIC2PNIC1
HOST2HOST1
50 Mbit 10 Mbit
● 2 physikalische Hosts● 2 physikalische Switches
● 2 mal „Energie“ für Host ● 2 mal „Energie“ für Switch
● Einstellung für Kunden:● 50 Mbit Host 1 ● 10 Mbit Host 2
Crossbow – Resultat
Virtueller Switch
Switch
VNIC2
HOST2
PNIC1
VNIC1
HOST1
● Resultat:– 1 Physischer Host
– 1 Switch
–-------------------------------Stromkosten Ersparnis Wartung geringer Flexible „Sicherheit“
–-------------------------------Software Defined Network (in a Box)
PNIC1
Aggregat
:Crossbow – Was wird benötigt
● Eintrag in der /usbkey/config → Aggregat ● Virtueller Switch (automatisch / manuell) ● Zonen (json Files – KVM / OS Zone)
– Link Aggregation
● Interface0=MACADRESSE1,MACADDRESSE2,MACADRESSEX
– Virtueller Switch
● etherstub=vswitch1,vswitch2
– ZoneFile Json – NicTAG für VSwitch inkludieren
● „nic_tag“:“vswitch1“,
Cloudorchestration: Server Flotte
● Aktuelle Möglichkeiten auf SmartOS ● Joyent DataCenter – SDC
– Hervorragende Analysen (Dtrace / Monitoring etc)
– All in One Stack vom Headnode zu den Compute Nodes
– 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:– Cloud Systeme
– Network in a Box – HomeCloud
– Systeme wo Performance wichtig ist
– Basis für Private Cloud Systeme
– Idealer Bare Metal HyperVisor – Datensicherheit
– Less Latency Systeme (keine SAN Anbindung)
● SmartOS ist nicht für – Desktop Betrieb
– Betriebssystem Installation
Fragen ?
Herzlichen Dank …