Server Virtualisierung Ubuntu 16.04
Lange Zeit habe ich für jeden Dienst (RADIUS, INTRANET, OPSI, NAGIOS) jeweils einen betagten PC zum Ubuntu Server aufgewertet (natürlich ohne Änderung der Hardware...).
Da aber die Vielzahl an alten PCs zum Einen meinen Serverraum vollstopfen und zum anderen auch übermäßig viel Energie vernichten, habe ich nach einer Lösung zum Virtualisieren gesucht.
Da Ubuntu 16.04. LTS Server bei mir zum Einsatz kommen soll, lag es nahe LXC zu verwenden.
Für diejenigen von Euch, die ähnliche Probleme haben oder es einfach mal so probieren möchten, habe ich das mal zusammengetragen.
Als erstes installiert man einen 16.04. LTS Server. Die DHCP-Vergabe der Netzwerkadresse am Besten abbrechen und schon mal die HOST-IP manuell eintragen.
In der Paketauswahl habe ich lediglich den SSH-Server hinzugewählt, damit ich per putty nachher weiterarbeiten kann.
Die HOST-IP sollte man dann auch im Domain-Controller im DNS-Server hinterlegen.
1. Vorbereitungen:
NTP für den HOST einrichten
Hierzu lädt man das Paket ntp nach:
Nach erfolgreicher Installation beendet man den ntp-Dienst:
und verändert die /etc/ntp.conf. Ich habe alle ntp-Server auskommentiert und meinen Domain-internen ntp-Server eingetragen.
Anschließend den ntp-Dienst in die Autostart-Routine aufnehmen
und den Dienst neu starten
Netzwerkbrücke einrichten
Da ich möchte, dass alle virtuellen Maschinen eine IP aus meinem eigentlichen Netzwerk bekommen, habe ich die Netzwerkbrücke wie folgt in der /etc/network/interfaces definiert:
2. Installation LXC:
Als nächstes installiert man die benötigten Pakete:
Die Installation dauert eine ganze Weile. Nachdem diese fertig ist kann man mit einem
testen, ob das Ganze lauffähig ist.
Anmerkung: Die CPU sollte Virtualisierung unterstützen! Das kann man im BIOS prüfen und ggf. einschalten.
3. Konfiguration LXC-Host:
In der Datei /etc/default/lxc-net ändert man den Eintrag
entsprechend, da wir eine eigene Netzwerkbrücke verwenden möchten.
In der Datei /etc/lxc/default.conf ändert man nun noch den Eintrag für die Netzwerkbrücke
4. LXC-Client (Container) erzeugen:
Hierzu erzeugt man mit
einen Container. Als Vorlage für den Container wird hier Ubuntu verwendet, denn ich möchte nur Ubuntu-VMs auf einem Ubuntu-Host laufen haben.
Wenn der Container fertig erzeugt ist, wird der Standard-Admin und das entsprechende Passwort angezeigt. In diesem Fall ist das der User ubuntu und das Passwort ubuntu.
Mit einem
startet man den Container im Hintergrund.
Damit der Container nach einem Host-Reboot auch wieder automatisch startet hängt man in der /var/lib/lxc/CONTAINERNAME/config
ans Ende dran.
Nach einem Reboot des Hosts und der Eingabe von
sollte das Ergebnis so aussehen:
5. Container Konfiguration:
Zugriff auf den Container erhält man nun entweder per putty in einer separaten Sitzung oder mittels
in der gleichen Sitzung.
Beenden kann man diese dann mit
Der frisch erzeugte Container ist leider in der falschen Zeitzone. Also mit einem
die richtige Zeitzone einstellen.
Anschließend analog zum Host den ntp-Dienst installieren, konfigurieren und der Autostart hinzufügen.
Da der Standard-User als einziger über ROOT-Rechte verfügt, habe ich meinen Standard-Admin hinzugefügt und diesem ebenfalls ROOT-Rechte gegeben.
Möchte man den Container in eine Windows-Domain aufnehmen, so sind noch folgende Anpassungen erforderlich:
ein.
Quellen (z.T. in englischer Sprache):
http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/setup-linux-contain ...
https://thefritzwalther.wordpress.com/2011/02/05/linux-containering-mit- ...
http://askubuntu.com/questions/453659/lxc-containers-fail-to-autoboot-i ...
Da aber die Vielzahl an alten PCs zum Einen meinen Serverraum vollstopfen und zum anderen auch übermäßig viel Energie vernichten, habe ich nach einer Lösung zum Virtualisieren gesucht.
Da Ubuntu 16.04. LTS Server bei mir zum Einsatz kommen soll, lag es nahe LXC zu verwenden.
Für diejenigen von Euch, die ähnliche Probleme haben oder es einfach mal so probieren möchten, habe ich das mal zusammengetragen.
Als erstes installiert man einen 16.04. LTS Server. Die DHCP-Vergabe der Netzwerkadresse am Besten abbrechen und schon mal die HOST-IP manuell eintragen.
In der Paketauswahl habe ich lediglich den SSH-Server hinzugewählt, damit ich per putty nachher weiterarbeiten kann.
Die HOST-IP sollte man dann auch im Domain-Controller im DNS-Server hinterlegen.
1. Vorbereitungen:
NTP für den HOST einrichten
Hierzu lädt man das Paket ntp nach:
sudo apt-get install ntp
Nach erfolgreicher Installation beendet man den ntp-Dienst:
sudo /etc/init.d/ntp stop
und verändert die /etc/ntp.conf. Ich habe alle ntp-Server auskommentiert und meinen Domain-internen ntp-Server eingetragen.
Anschließend den ntp-Dienst in die Autostart-Routine aufnehmen
sudo update-rc.d ntp defaults
und den Dienst neu starten
sudo /etc/init.d/ntp start
Netzwerkbrücke einrichten
Da ich möchte, dass alle virtuellen Maschinen eine IP aus meinem eigentlichen Netzwerk bekommen, habe ich die Netzwerkbrücke wie folgt in der /etc/network/interfaces definiert:
# Network Bridge for virtual machines
#Bridge Name
auto br0
#Bridge information
iface br0 inet static
bridge_ports enp0s7 (das ist das Interface des Hosts)
bridge_stp off
bridge_fd 9
#Bridge IP
address 192.168.10.198
netmask 255.255.255.0
network 192.168.10.0
broadcast 192.168.10.255
gateway 192.168.10.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 192.168.10.100 (Das ist mein DNS-Server)
dns-search Meine.Domain
2. Installation LXC:
Als nächstes installiert man die benötigten Pakete:
sudo apt-get install lxc lxc-templates wget bridge-utils
Die Installation dauert eine ganze Weile. Nachdem diese fertig ist kann man mit einem
sudo lxc-checkconfig
Anmerkung: Die CPU sollte Virtualisierung unterstützen! Das kann man im BIOS prüfen und ggf. einschalten.
3. Konfiguration LXC-Host:
In der Datei /etc/default/lxc-net ändert man den Eintrag
USE_LXC_BRIDGE="false"
entsprechend, da wir eine eigene Netzwerkbrücke verwenden möchten.
In der Datei /etc/lxc/default.conf ändert man nun noch den Eintrag für die Netzwerkbrücke
lxc.network.link = br0 (das ist der Name meiner Netzwerkbrücke)
4. LXC-Client (Container) erzeugen:
Hierzu erzeugt man mit
sudo lxc-create -n CONTAINERNAME -t ubuntu
einen Container. Als Vorlage für den Container wird hier Ubuntu verwendet, denn ich möchte nur Ubuntu-VMs auf einem Ubuntu-Host laufen haben.
Wenn der Container fertig erzeugt ist, wird der Standard-Admin und das entsprechende Passwort angezeigt. In diesem Fall ist das der User ubuntu und das Passwort ubuntu.
Mit einem
sudo lxc-start -n ubuntu_lxc -d
Damit der Container nach einem Host-Reboot auch wieder automatisch startet hängt man in der /var/lib/lxc/CONTAINERNAME/config
# Autostart
lxc.start.auto = 1
lxc.start.delay = 5
lxc.start.order = 100
Nach einem Reboot des Hosts und der Eingabe von
sudo lxc-ls --fancy
NAME STATE AUTOSTART GROUPS IPV4 IPV6
CONTAINER RUNNING 1 - 192.168.10.196 -
5. Container Konfiguration:
Zugriff auf den Container erhält man nun entweder per putty in einer separaten Sitzung oder mittels
sudo lxc-console -n CONTAINERNAME
in der gleichen Sitzung.
Beenden kann man diese dann mit
STRG+a q
Der frisch erzeugte Container ist leider in der falschen Zeitzone. Also mit einem
dpkg-reconfigure tzdata
Anschließend analog zum Host den ntp-Dienst installieren, konfigurieren und der Autostart hinzufügen.
Da der Standard-User als einziger über ROOT-Rechte verfügt, habe ich meinen Standard-Admin hinzugefügt und diesem ebenfalls ROOT-Rechte gegeben.
Möchte man den Container in eine Windows-Domain aufnehmen, so sind noch folgende Anpassungen erforderlich:
- Die IP-Adresse sollte in der /etc/network/interfaces auf eine statische Adresse geändert werden
- In der Datei /etc/hosts trägt man unter
127.0.1.1 CONTAINERNAME.MEINE.DOMAIN CONTAINERNAME
- Im Windows-DNS-Server muss entsprechend ein DNS-Eintrag auf den Container vorgenommen werden, sonst funktionieren die weiteren Schritte nicht.
Quellen (z.T. in englischer Sprache):
http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/setup-linux-contain ...
https://thefritzwalther.wordpress.com/2011/02/05/linux-containering-mit- ...
http://askubuntu.com/questions/453659/lxc-containers-fail-to-autoboot-i ...
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 308894
Url: https://administrator.de/contentid/308894
Ausgedruckt am: 21.11.2024 um 14:11 Uhr