Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
linux4education 11. - 13. Juli 2011 - Fortgeschrittene
Virtualisierung
= in unserem Fall: Betreiben von mehreren virtuellen Betriebssystemen (Gast) unter einem physikalischen System (Host).
Man unterscheidet:
- Full Virtualization:
- "Hardware" für Gast System wird auf Softwareseite vollständig nachgebaut und simuliert.
- Gast weiß nicht, dass er virtualisiert ist.
- Performance-Verlust: ~40-60 %
- Vorteil: Jedes System lässt sich ohne großen Aufwand betreiben. Keine Änderungen am Gast notwendig.
- Para Virtualization:
- Gast System hat fast vollständigen Zugriff auf die gesamte Hardware des Hosts.
- Gast weiß, dass er virtualisiert ist.
- Performance-Verlust: ~5-10 %
- Nachteil: Nicht jedes System lässt sich ohne Probleme betreiben. Speziell angepasster Kernel notwendig.
Gängige Virtualisierungslösungen sind:
- VMware (proprietär)
- VMware Server und Player, ab Version 2: Webbasiert → Entwicklung eingestellt.
- VMware Workstation: Nur Windows
- VMware ESX Server/VMware vSphere: ESX kostenpflichtig (eingestellt), ESXi kostenlos, vSphere Hypervisor mehr oder weniger kostenlos…
- Parallels (proprietär)
- MacOS
- Microsoft Virtual PC (proprietär)
- Nur Windows
- Microsoft Hyper-V (proprietär)
- Kann auch SUSE Linux Enterprise Server
- VirtualBox (großteils Open Source)
- Früher SUN, jetzt Oracle
- Schnelle und einfache Desktop-Virtualisierung
- KVM (Open Source)
- Linux Lösung
- Sehr beliebt und verbreitet. Fix in Kernel.
- Intel (VT) oder AMD (AMD-V) Chips notwendig!
- XEN (Open Source)
- Unser Favorit
- Schnelle und einfache, und verlässliche Server-Virtualisierung
Installation von server4education und desktop4education
Anbindung des server4education an das Internet
Zuvor, mit d4e2010 und s4e2010: http://d4e.at/support/version-2010/netzwerk/internetverbindung-ueber-server4education/
Wird nun in das Yast Modul für den s4e2011 integriert sein.
Voraussetzungen:
- 1 Netzwerkkarte für das Schulnetzwerk: Fixe IP Adresse, DHCP-Server für Clients
- 1 Netzwerkkarte für den Internetzugang: Entweder statische oder dynamische IP Adresse
- Firewall:
- Schulnetz (eth0) = interne Zone
- Internetnetz (eth1) = externe Zone
- Masquerading
Benutzerverwaltung am server4education
- YaST Modul für Gruppen
- YaST Modul für Benutzer
Anbindung von desktop4education am server4education
Anbindung von Windows-Clients am server4education
Drucken mit CUPS
Benutzerprofil ändern
Deployment/Klonen
Datensicherung
- Man kann nie zuviel sichern, aber doch sollte man es sinnvoll und überlegt machen.
- Serversicherung:
- Zweite eingebaute Festplatte
- Zusätzliche Backupserver, wenn möglich räumlich von Hauptserver getrennt. Anderer Stromkreis, Diebstahlschutz,…
- Am einfachsten auf Festplatten über Netzwerk sichern, aber nicht über Jahre hinweg auf dieselbe, eine Platte.
rsync
- Lokal:
rsync -av -P --delete /quelle/ /ziel/.
- Von einem entfernten Rechner aus auf den lokalen Rechner:
rsync -av -P --delete -e ssh root@192.168.100.1:/home/ /home/.
- Vom lokalen Rechner aus auf einen entfernten Rechner:
rsync -av -P --delete /home/ -e ssh root@192.168.100.1:/home/.
Vorsicht bei / und /. !!!
Quelle am besten immer mit / abschließen
Ziel am besten immer mit /. abschließen
Zielordner muss aber hierbei vorhanden sein!
-a archive mode -v verbose mode -P zeigt den Fortschritt während der Synchronisation an --delete löscht Dateien/Ordner auch im Zielordner, falls sie im Quellordner gelöscht worden sind
Wichtige Serverdaten speichern
Backupskripte am besten in einen extra Ordner anlegen: /backup
Hauptsicherung: Konfigurationsdaten, Backupskripte selbst, Cronjob selbst
Login ohne Passwort einrichten für ssh: SSH-Schlüssel - Anmeldung ohne Passwort
Cronjob anlegen:
crontab -e
MAILTO="" # Minute Stunde Tag(Monat) Monat Tag(Woche) Kommando # Sicherung auf Newton #10 2 * * * /usr/bin/rsync -a -e ssh root@10.67.0.254:/daten/ /daten > /dev/null 2>&1 # Sicherung der MySQL Datenbanken 45 0 * * * /backup/mysql.sh > /dev/null 2>&1 # Sicherung der openLDAP Datenbank 45 0 * * * /backup/ldap.sh > /dev/null 2>&1 # Sicherung der wichtigsten Konfigurationsdaten 45 0 * * * /backup/run.sh > /dev/null 2>&1 # Beispiele: # Jeden Tag um zehn Minuten nach Mitternacht: #10 0 * * * /pfad/zum/programm # Jeden Mittwoch um zehn Minuten nach Mitternacht: #10 0 * * 3 /pfad/zum/programm # Jeden Wochentag um zehn Minuten 13,14 und 15Uhr: #10 13-15 * * 1-5 /pfad/zum/programm # Jedes Jahr zu Silvester: #0 0 31 12 * /pfad/zum/programm
- /backup/run.sh
#!/bin/bash HOST="10.67.0.2" DATUM=$(date "+%d%m%y") SERVER="einstein" rsync -a /backup/ -e ssh root@$HOST:/daten/sicherung/$SERVER/backup/ rsync -a --delete /etc/ -e ssh root@$HOST:/daten/sicherung/$SERVER/etc/ rsync -a --delete /root/ -e ssh root@$HOST:/daten/sicherung/$SERVER/root/ rsync -a --delete /var/spool/cron/ -e ssh root@$HOST:/daten/sicherung/$SERVER/var/spool/cron/ rsync -a --delete /var/lib/named/*.hosts -e ssh root@$HOST:/daten/sicherung/$SERVER/var/lib/named/ rsync -a --delete /var/lib/named/*.rev -e ssh root@$HOST:/daten/sicherung/$SERVER/var/lib/named/ rsync -a --delete /var/lib/named/*.zone -e ssh root@$HOST:/daten/sicherung/$SERVER/var/lib/named/ sync
Sichern von MySQL Datenbanken
- /backup/mysql.sh
#!/bin/bash HOST="10.67.0.2" DATUM=$(date "+%d%m%y") USER="root" PASSWORD="<passwort!!!>" mysqlcheck --user=$USER --password=$PASSWORD --all-databases --auto-repair > /backup/mysql-einstein/mysql_status_$DATUM mysqldump --user=$USER --password=$PASSWORD --all-databases --opt -l --force | gzip > /backup/mysql-einstein/mysql_$DATUM.sql.gz databases=$(/usr/bin/mysql --user=$USER --password=$PASSWORD -e 'SHOW DATABASES;' | grep -Ev '(Database|information_schema)') for db in $databases; do /usr/bin/mysqldump -l --opt --hex-blob --force --user=$USER --password=$PASSWORD $db | gzip > /backup/mysql-einstein/db_$db-$DATUM.sql.gz done rsync -a /backup/ -e ssh root@$HOST:/daten/sicherung/einstein/backup/ rm /backup/mysql-einstein/* sync
openLDAP sichern
- /backup/ldap.sh
#!/bin/bash HOST="10.67.0.2" DATUM=$(date "+%d%m%y") SERVER="kepler" /usr/sbin/slapcat -l /backup/kepler_$DATUM.ldif rsync -a /backup/ -e ssh root@$HOST:/daten/sicherung/$SERVER/backup/ rm /backup/kepler_*.ldif sync
Softwareupdate am server4education und desktop4education
- Sicherheitsupdates immer einspielen!
- Never change a running System!
- zypper
- OpenBuildService von openSUSE
