flexible it in mittelständischen unternehmen durch open ... unix... · e-mail-server-komponenten...
TRANSCRIPT
Flexible IT in mittelständischen Unternehmen
durch Open-Source: CEPH, Zarafa, Samba & Co
Tobias Doerffel
27.01.15 | 17.30 Uhr | Altes Heizhaus | TU Chemnitz
2
● Firmenvorstellung
● Rückblick
● Storage
● Virtualisierung
● Infrastrukturmanagement und -dienste
● AD und CIFS mit Samba
● E-Mail und Groupwaredienste
● Weitere Dienste
● Ausblick
Überblick
3
● Gründung 2008 als Startup aus der TU Chemnitz heraus
● Entwicklung, Fertigung und Verkauf von kunden- und anwendungsspezifischen
diskreten und integrierten elektronischen Lösungen➔ ASICs
➔ Steuerungs- und Automatisierungstechnik
➔ Leistungselektronik
➔ Softwaresysteme für Microcontroller und Eingebettete Systeme (ARM)
● Heute: ca. 30 Mitarbeiter sowie 5 Studenten
● Neues Firmengebäude auf dem Technologie-Campus seit 2013
Firmenvorstellung
4
● Die Anfangszeiten im TCC:● einfaches Consumer-NAS für Projekt- und Homelaufwerke
● einfacher Plastikrouter für DNS/DHCP
● Webseite, E-Mail etc. bei Hostinganbieter
● 1 Jahr später im startup-Gebäude:● Dedizierte Workstation mit HW-RAID5 und einfachen Samba-Freigaben ohne ACLs
● E-Box als Managementoberfläche für Nutzer, Freigaben, DNS usw.
● Bare-Metal-Installation
● Erste Virtualisierungsversuche mit KVM und einfachen Verwaltungsscripts: Linux-
Terminalserver für ASIC-Entwicklung
Rückblick I
5
● 2010 – ca. 10 Mitarbeiter● Gewachsene Anforderungen an Terminalserver: weiterer Server (HW-RAID5), jetzt mit
Proxmox als KVM-Frontend
● VM-Plattenimages als Dateien im Host-Dateisystem
● 2011● Mit der ASIC-Abteilung wächst auch der Bedarf an Rechenleistung für Simulationen →
weiterer Server mit schneller CPU (VM-Storage: SW-RAID 1 lokal)
● Umstellung auf OpenAFS, da CIFS auf Linux-Clients in Multi-User-Umgebungen im
Zusammenspiel mit Dateizugriffskontrolle nicht praktikabel (war)
● Differenzierte Dateizugriffsrechte via AFS-ACLs
Rückblick II
6
● 2012 – ca. 20 Mitarbeiter● Lokaler Storage als Single-Point-of-Failure
● 2 neue Server mit SW-RAID5, 6 TB gespiegelt über DRBD → Live-Redundanz
● DRBD als LVM-PV → VM-Platten in LVM-LVs → VM-Live-Migration möglich
● Bereitstellung von LVM-LVs via iSCSI
● 2013 – Umzug in eigenes neues Firmengebäude● viele neue Anforderungen: Haustechnik, Telefonanlage, Firewall, WLAN, USV, ...
● komplette Neugestaltung der Netzwerkinfrastruktur (Cisco)
● Website, Mail/Groupware usw. jetzt im eigenen Haus dank S-DSL/statischer IP
● 2014● DRBD zu unverlässig und vor allem unflexibel → Migration auf CEPH/RBD
Rückblick III
7
● CEPH:● Verteiltes, redundantes und hochskalierbares Storage-System ohne SPOF
● Open-Source (LGPL)
● Selbstheilung
● Einsatz von kostengünstiger Standardhardware
● Zugriffskontrolle mittels Keyrings (analog zu Keytabs bei Kerberos)
● Definition beliebiger Redundanzszenarien und -hierarchien
● CEPH-Frontends:● RADOSGW – S3/Swift-kompatibles REST-Gateway
● RBD – Zugriff auf Block-Device-Storage ähnlich wie iSCSI
● CEPH FS – POSIX-kompatibles Netzwerkdateisystem
Storage – Einführung
8
● CEPH-Cluster besteht aus Storage-Pools
● Storage-Pools bestehen aus sog. Placement-Groups (PGs)
● Placement-Groups werden über alle verfügbaren OSDs (Object Storage Device – in der Regel eine
physikalische Platte) verteilt und repliziert
● Placement-Groups enthalten die eigentlichen Datenobjekte
CEPH – Grundlagen
9
● 1 OSD-Daemon pro physikalischer Platte (OSD=Object Storage Device):● Datenspeicherung
● Datenreplikation
● Wiederherstellung/Migration/Rebalancing
● Journal (auf separater Partition oder Platte)
● n Monitor-Daemons zur Verwaltung der Cluster-Map:● Ungerade Anzahl → Quorum
● Monitor-Map, OSD-Map, PG-Map, CRUSH-Map
● Clients holen sich immer aktuelle Cluster-Map von beliebigem Monitor● Ermittlung des Speicherorts (OSD) der PG eines Objekts
● Direkte Kommunikation mit OSD-Daemon
● Ggf. Ausweichen auf Kopien
CEPH – Dienste
10
● 2x 1 HE Server:● CPU: Xeon E3-1230 (4x 3,2 GHz), RAM: 16 GB
● I/O-Controller: LSI SAS 2008
● 2x Dual GBit-NICs
● HDD: 4x SATA 4 TB (CEPH-OSD), SSD: 2x 60 GB (OS+CEPH-Journal)
● 1x 2 HE Server:● CPU: Xeon E3-1241 v3 (4x 3,5 GHz), RAM: 32 GB
● 2x Dual GBit-NICs
● I/O-Controller: LSI SAS2308
● HDD: 8x SAS 2 TB (CEPH-OSD), SSD: 2x 80 GB (OS+CEPH-Journal)
➔ 16 TB Nutzdaten 3-fach-redundant gespeichert
Storage – eingesetzte Hardware
11
Aufbau des CEPH-Clusters
Server 1
OSD 0 OSD 1 OSD 2 OSD 3
MON 0bond0 bond1
Server 2
OSD 4 OSD 5 OSD 6 OSD 7
MON 1bond0 bond1
Server 3
OSD 8 OSD 9 OSD 10 OSD 11
MON 2
bond0 bond1
OSD 12 OSD 13 OSD 14 OSD 15
PublicNetwork
CEPH-Client-Zugriff aufMonitor-und Disk-Daemons
PrivateNetwork
Replizierungund
Datenwieder-herstellung
12
● CEPH Block Storage (RBD)● Größenänderung, Snapshotting, Image-Export/Import
● Unter Linux als Block-Device einbindbar
● RBD-Backend in KVM/QEMU● VM-Platten können direkt im CEPH-Cluster liegen
● Ausfalltoleranz
● Discard-/Trim-Unterstützung bei Verwendung von virtio-scsi
● CEPH-Unterstützung in Proxmox seit Version 3.2● Web-UI für CEPH-Cluster-Administration
● Hilfsscripte zur vereinfachten Installation eines CEPH-Clusters
● Management von VM-Platten
CEPH – Integration
13
● Proxmox als Debian-basierte Open-Source-Virtualisierungslösung (AGPL)
● Technologische Grundlage: KVM
● Intuitive Weboberfläche● Datacenter- und VM-Host-Management
● Storage-Management
● VM-Management
● Backup-Management
● Rechte-, Rollen- und Nutzerverwaltung
● AD-Integration möglich
● HA-Unterstützung (Cluster-Filesystem für Konfigurationsdateien, Fencing etc.)
● Firewalls für VMs seit Version 3.3
Virtualisierung mit Proxmox
14
● Zentyal: Ubuntu-basierter Small-Business-Server
● Als Community-Edition frei verfügbar
● Integration einer Vielzahl von Diensten/Technologien● Active Directory mit Samba 4 (inkl. LDAP/Kerberos)
● DHCP/DNS/NTP
● RADIUS
● CUPS
● Firewall
● OpenVPN
● Certification Authority
● ...
● Intuitive Web-UI für alle Module
Infrastruktur mit Zentyal
15
● Zentyal-Server als Primary Domain Controller● Nutzer-, Gruppen- und Computerverwaltung
● Administration auch mit Windows-Remoteserver-Verwaltungstools möglich
● Debian-VM mit Sernet-Samba-Paketen als CIFS-Server● Virtuelle HD (4 TB, ext4) als CIFS-Wurzelverzeichnis freigegeben
● Scriptgesteuerte Verwaltung der CIFS-ACLs auf Basis von Volume-Metadateien
● Volumenschattenkopien („Vorgängerversionen“)● Testbetrieb 2014: btrfs-Volumes und vfs_shadow_copy2-Modul
● Erneute Umsetzung mit vfs_snapper geplant
● Gute Unterstützung auf Windows- und Linux-Clients
AD/CIFS mit Samba
16
● Linux-Hosts dank Samba/winbind vollwertige Domainmitglieder
kinit Administrator
net ads join -k
● Nutzer- und Gruppenauflösung via Winbind (libnss-winbind)
● Zugriffskontrolle auf Grundlage von Kerberostickets (sec=krb5)
➔ Voraussetzungen:● Funktionierende Kerberos-Client-Einrichtung (krb5.conf)
● Userspace: key-utils (1.5.5+) und cifs-utils (6.0+)
AD/CIFS-Integration unter Linux
17
● CIFS-Wurzelverzeichnis zentral gemountet (via HOST$@REALM)➔ ACLs im Wurzelverzeichnis so gesetzt, dass alle Mitgliedern von „Domain Computers“
Leserechte besitzen
● Individuelle CIFS-Sitzungen für jeden Nutzer dank Multiuser-Feature:➔ Voraussetzungen:
● Kerberos-Security
● aktueller Kernel (3.10+) → Mountoption multiuser
➔ UID/GID und Dateimodi werden clientseitig emuliert, beim Zugriff aber ignoriert
➔ Server prüft ACLs
● Weiterführende Details z.B. unterhttps://www.redhat.com/promo/summit/2010/presentations/summit/in-the-weeds/wed/jlayton-310-interoperability/jlayton_summit_2010-Final.pdf
CIFS-Dateizugriff unter Linux
18
● DFS im Zusammenspiel mit aktivierten POSIX-Extensions (FIFOs, Symlinks, …)
noch nicht zuverlässig (Stand 2014)➔ DFS-Referrals werden dem Client als spezielle Symlinks übermittelt, die mit aktivierten
POSIX-Extensions nicht richtig aufgelöst werden
● FS-Cache-Unterstützung experimentell➔ Innerhalb von VMs im Zusammenspiel mit virtio-balloon Abstürze beobachtet (Stand
2014)
● Op-Locks (Level II) erlauben inzwischen auch Byte-Range-Locks, aber auch hier
noch Stabilitätsprobleme
Probleme mit CIFS unter Linux
19
● bis 2013: Einsatz von eGroupware bei Webhoster
● Anforderungen:
● Kontrolle über Daten
● Gute Outlook-Kompatibilität
● Features: E-Mail, Kalender, Adressbücher
● Einfache Anbindung von Mobilgeräten
● Rechteverwaltung
● Integration mit weiteren webbasierten Diensten
● Linux-Server als Grundlage
E-Mail & Groupware – Einführung
20
● E-Mail-Server-Komponenten in Zentyal integriert und vorkonfiguriert (dovecot,
postfix, spamassasin, amavis, pyzor)
● Einrichtung und Konfiguration des Mailservers komplett über Web-UI● Maildomains
● Greylisting
● Mailfilter (Antivirus, Antispam)
● Mailverteiler
● Dienste (POP3, IMAP, SMTP)
● Relaying-Regeln
● Zentrale Nutzer- und Gruppenverwaltung
E-Mail-Server mit Zentyal
21
● umfassende E-Mail- und Groupware-Lösung
● Gute Kompatibilität mit MS Outlook mittels Zarafa-Plugin➔ Outlook-Support voraussichtlich nur noch bis Q1/2016
● Active-Sync mit Hilfe von z-push
● Weboberfläche mit allen Features, die auch MS Outlook bietet
● Umfassende Rechteverwaltung
● Jährliche Lizenzkosten für 40 Outlook-Nutzer im 3-stelligen Bereich
● Python-API sowie Konsolen-Managementtools
Zarafa-Groupware
22
● Zarafa ebenfalls in Zentyal integriert (LDAP)
● Zarafa-Account-Optionen über Zentyal-Nutzerverwaltung zugänglich
● Einstellungen für Zarafa-Gateways: POP3, IMAP, iCal und ActiveSync
● Problem: seit Zentyal 4.0 keine Zarafa-Unterstützung mehr● stattdessen: OpenChange, eine freie und Exchange-kompatible Lösung mit Active-
Directory-Anbindung
● OpenChange (noch) kein vollwertiger Ersatz (Stand 2014)
● Bis auf weiteres: Betrieb mit Zentyal 3.x
Zarafa & Zentyal
23
● Datenaustausch mit der Außenwelt
● Anbindung an Zentyal über LDAP-Backend
● Storage derzeit über virtuelle Platte im CEPH-Cluster mit ext4● Direkte Anbindung über OwnCloud-S3-Backend an CEPH-RADOSGW möglich
➔ Vorteil: virtuelle Platte bzw. deren Größe muss nicht von Hand verwaltet werden
● Desktop-Clients für alle Plattformen verfügbar
● WebDAV-Schnittstelle
● PostgreSQL als Datenbanksystem
OwnCloud
24
● Zentrale Git-Repositories inkl. feingranularer Rechteverwaltung
● LDAP-Integration➔ Single-Sign-On mit Kerberos noch nicht offiziell verfügbar, aber geplant
● Zugriffskontrolle auf Repositories mittels SSH-Schlüsseln
● Issue-Tracker➔ Auch als Ticketsystem für IT verwendet
● Integration mit GitLab-CI➔ Software wird in pbuilder-Umgebungen automatisch gebaut und getestet
GitLab
25
● Identity-Management-System● Verwaltung von Volumezugriffsrechten über Web-UI durch Volumeverantwortlichen
● WLAN-Accounting
● Sichere Lösungen für Road Warrior / Zweifaktorauthentifizierung
● Ggf. Groupware-Migration und/oder Einsatz von Univention Corporate Server
● Implementierung von snapper (www.snapper.io)
● Implementierung von check_MK oder vergleichbarer Monitoringlösung
Ausblick
Vielen Dank für die Aufmerksamkeit!