CEPH, Zarafa, Samba & Co
Total Page:16
File Type:pdf, Size:1020Kb
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 Überblick ● Firmenvorstellung ● Rückblick ● Storage ● Virtualisierung ● Infrastrukturmanagement und -dienste ● AD und CIFS mit Samba ● E-Mail und Groupwaredienste ● Weitere Dienste ● Ausblick 2 Firmenvorstellung ● 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 3 Rückblick I ● 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 4 Rückblick II ● 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 5 Rückblick III ● 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 6 Storage – Einführung ● 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 7 CEPH – Grundlagen ● 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 8 CEPH – Dienste ● 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 9 Storage – eingesetzte Hardware ● 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 10 Aufbau des CEPH-Clusters Public Server 1 Private Network Network MON 0 bond0 bond1 CEPH-Client- OSD 0 OSD 1 OSD 2 OSD 3 Replizierung Zugriff auf und Monitor- Datenwieder- und Disk- Server 2 herstellung Daemons MON 1 bond0 bond1 OSD 4 OSD 5 OSD 6 OSD 7 Server 3 MON 2 bond0 OSD 8 OSD 9 OSD 10 OSD 11 bond1 OSD 12 OSD 13 OSD 14 OSD 15 11 CEPH – Integration ● 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 12 Virtualisierung mit Proxmox ● 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 13 Infrastruktur mit Zentyal ● 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 14 AD/CIFS mit Samba ● 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 15 AD/CIFS-Integration unter Linux ● 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+) 16 CIFS-Dateizugriff unter Linux ● 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. unter https://www.redhat.com/promo/summit/2010/presentations/summit/in-the-weeds/wed/jlayton-310-interoperability/jlayton_summit_2010-Final.pdf 17 Probleme mit CIFS unter Linux ● 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 18 E-Mail & Groupware – Einführung ● 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 19 E-Mail-Server mit Zentyal ● 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 20 Zarafa-Groupware ● 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 21 Zarafa & Zentyal ● 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 22 OwnCloud ● Datenaustausch