Difference between revisions of "Domänencontroller Master virtualisiert betreiben"

From Univention Wiki

Jump to: navigation, search
(Links entfernt. Verwiesene Artikel wurden gelöscht.)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Produktlogo UVMM}}
+
#REDIRECT [[Cool Solution - Run a virtualized Domain Controller Master with UVMM]]
 
 
{{Version|UCS=2.4-2}}
 
Innerhalb einer UCS-Domäne sollte das erste installierte System immer der DC Master sein. Wenn aber der DC Master per [[UVMM]] virtualisiert werden soll, so kann wie folgt vorgegangen werden:
 
 
 
Im ersten Schritt wird auf der Hardware ein DC Slave oder als Alternative ein DC Backup installiert:
 
 
 
* Bei der Installation muss das automatische Joinen am Ende der Installation deaktiviert werden.
 
* Bei der Softwareauswahl sollte [[UMC]], [[UVMM]] und eine Virtualisierungstechnologie (Xen oder KVM) ausgewählt werden. Alle anderen Optionen in der Softwareauswahl können anhand der weiteren Bestimmung des Servers an- oder abgewählt werden.
 
 
 
Nach der erfolgreichen Installation sollte der DC Slave aktualisiert werden:
 
<syntaxhighlight lang="bash">
 
univention-updater net
 
univention-security-update net
 
</syntaxhighlight>
 
 
 
Sofern eine Aktualisierung stattgefunden hat, sollte das System neu gestartet werden.
 
 
 
Nach dem Neustart wird ''libvirt'' gestartet:
 
<syntaxhighlight lang="bash">
 
/usr/sbin/libvirtd -d
 
</syntaxhighlight>
 
 
 
Im Verzeichnis ''/var/lib/libvirt/images/'' wird nun ein Image für den DC Master abgelegt. In diesem Beispiel wird eine 20 GB große Festplatte erzeugt. Die Größe kann an die eigenen Bedürfnisse angepasst werden.
 
 
 
Wird KVM als Virtualisierungstechnologie eingesetzt, ist der Einsatz des qcow2-Imageformates zu empfehlen.
 
<syntaxhighlight lang="bash">
 
cd /var/lib/libvirt/images/
 
qemu-img create -f qcow2 master.qcow2 20G # empfohlen für KVM
 
</syntaxhighlight>
 
 
 
Für die Nutzung von Xen ist nur das raw-Format geeignet:
 
 
 
<syntaxhighlight lang="bash">
 
cd /var/lib/libvirt/images/
 
qemu-img create -f raw master.raw 20G # für Xen
 
</syntaxhighlight>
 
 
 
Zusätzlich wird ein UCS-Installations-Image benötigt. Entweder wird das Image direkt vom [http://apt.univention.de/download/ucs-cds/ Univention Downloadserver] heruntergeladen oder aus einer vorhandenen DVD eine Abbilddatei erzeugt, beispielsweise:
 
<syntaxhighlight lang="bash">
 
cd /var/lib/libvirt/images/
 
dd if=/dev/cdrom of=ucs-2.4_amd64.iso
 
</syntaxhighlight>
 
 
 
Da [[UVMM]] zu diesem Zeitpunkt noch nicht verfügbar ist, muss die Definition der virtuellen Maschine von Hand erzeugt werden. Die Definitionen unterscheiden sich je nach eingesetzter Virtualisierungstechnologie.
 
 
 
==Definition des Masters für KVM==
 
 
 
Am einfachsten wird dazu ein Editor geöffnet und eine Datei mit dem folgenden Inhalt generiert:
 
 
 
[[Datei:Master_kvm.xml]]<syntaxhighlight lang="xml">
 
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
 
  <name>master</name>
 
  <memory>524288</memory>
 
  <vcpu>1</vcpu>
 
  <os>
 
    <type arch='x86_64' machine='pc-0.14'>hvm</type>
 
    <boot dev='hd'/>
 
    <boot dev='cdrom'/>
 
  </os>
 
  <features>
 
    <acpi/>
 
    <apic/>
 
  </features>
 
  <clock offset='utc'/>
 
  <on_poweroff>destroy</on_poweroff>
 
  <on_reboot>restart</on_reboot>
 
  <on_crash>destroy</on_crash>
 
  <devices>
 
    <emulator>/usr/bin/kvm</emulator>
 
    <disk type='file' device='disk'>
 
      <driver name='qemu' type='qcow2'/>
 
      <source file='/var/lib/libvirt/images/master.qcow2'/>
 
      <target dev='vda' bus='virtio'/>
 
    </disk>
 
    <disk type='file' device='cdrom'>
 
      <driver name='qemu' type='raw'/>
 
      <source file='/var/lib/libvirt/images/ucs-2.4_amd64.iso'/>
 
      <target dev='hda' bus='ide'/>
 
      <readonly/>
 
    </disk>
 
    <interface type='bridge'>
 
      <source bridge='eth0'/>
 
      <model type='virtio'/>
 
    </interface>
 
    <input type='tablet' bus='usb'/>
 
    <input type='mouse' bus='ps2'/>
 
    <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0' keymap='de'/>
 
  </devices>
 
</domain></syntaxhighlight>
 
 
 
 
 
Die Werte können an die eigenen Bedürfnisse angepasst werden. Die virtuelle Maschine wird dann anhand der in der XML-Datei enthaltenen Definition angelegt:
 
<syntaxhighlight lang="bash">
 
virsh define Master_kvm.xml
 
</syntaxhighlight>
 
 
 
Das System kann nun mit virsh gestartet werden:
 
<syntaxhighlight lang="bash">
 
virsh start master
 
</syntaxhighlight>
 
 
 
Anschließend kann über einen VNC-Client auf dem DC Slave die Installation des DC Master durchgeführt werden. Von einem Linux-Desktop aus kann beispielsweise mit dem folgenden Befehl zugegriffen werden:
 
<syntaxhighlight lang="bash">
 
xtightvncviewer <IP des DC Slave>:0
 
</syntaxhighlight>
 
 
 
==Definition des Masters für Xen==
 
 
 
Bei der Nutzung von Xen erfolgt die Definition in zwei Schritten. Zuerst sollte eine Datei preMaster_xen.xml mit folgendem Inhalt angelegt werden:
 
 
 
<syntaxhighlight lang="xml">
 
<domain type='xen' id='2'>
 
  <name>master</name>
 
  <memory>1048576</memory>
 
  <currentMemory>1048576</currentMemory>
 
  <vcpu>1</vcpu>
 
  <bootloader>/usr/bin/pygrub</bootloader>
 
  <bootloader_args>-q</bootloader_args>
 
  <os>
 
    <type>linux</type>
 
  </os>
 
  <clock offset='utc'/>
 
  <on_poweroff>destroy</on_poweroff>
 
  <on_reboot>restart</on_reboot>
 
  <on_crash>destroy</on_crash>
 
  <devices>
 
  <emulator>/usr/lib/xen/bin/qemu-dm</emulator>
 
  <disk type='file' device='cdrom'>
 
      <driver type="file"/>
 
      <driver name='tap2' type='aio'/>
 
      <source file='/var/lib/libvirt/images/ucs-2.4_i386.iso'/>
 
      <target dev='xvdb' bus='xen'/>
 
      <readonly/>
 
    </disk>
 
    <disk type='file' device='disk'>
 
      <driver type="file"/>
 
      <driver name='tap2' type='aio'/>
 
      <source file='/var/lib/libvirt/images/master.raw'/>
 
      <target dev='xvda' bus='xen'/>     
 
    </disk>
 
    <interface type='bridge'>
 
      <source bridge='eth0'/>
 
      <script path='/etc/xen/scripts/vif-bridge'/>
 
      <target dev='vif2.0'/>
 
    </interface>
 
    <console type='pty' tty='/dev/pts/1'>
 
      <source path='/dev/pts/1'/>
 
      <target type='xen' port='0'/>
 
    </console>
 
    <input type='mouse' bus='xen'/>
 
    <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0' keymap='de'/>
 
  </devices>
 
</domain></syntaxhighlight>
 
 
 
Die Werte können an die eigenen Bedürfnisse angepasst werden. Die virtuelle Maschine wird dann anhand dieser Konfiguration angelegt:
 
<syntaxhighlight lang="bash">
 
virsh define preMaster_xen.xml
 
</syntaxhighlight>
 
 
 
Das System kann nun mit virsh gestartet werden:
 
<syntaxhighlight lang="bash">
 
virsh start master
 
</syntaxhighlight>
 
 
 
Anschließend kann über einen VNC-Client auf dem DC Slave die Installation des DC Master durchgeführt werden. Von einem Linux-Desktop aus kann beispielsweise mit dem folgenden Befehl zugegriffen werden:
 
<syntaxhighlight lang="bash">
 
xtightvncviewer <IP des DC Slave>:0
 
</syntaxhighlight>
 
 
 
Bei der Definition des Bootloaders muss das Festplattenimage angegeben werden: <tt>/dev/xvda</tt> bei der Installation in den Master Boot Record, <tt>/dev/xda1</tt> bei der Installation in den ersten Sektor der Bootpartition.
 
 
 
Nach Abschluss der Installation erfolgt ein Neustart in den Installer hinein. Mit <syntaxhighlight lang="bash">xm destroy premaster</syntaxhighlight> wird das System abgeschaltet.
 
 
 
Vor dem Neustart muss noch das CD-ROM-Laufwerk entfernt werden, in dem die Konfiguration der Maschine anhand einer Datei Master_xen.xml mit dem folgenden Inhalt neu erzeugt wird:
 
<syntaxhighlight lang="xml">
 
<domain type='xen' id='2'>
 
  <name>master</name>
 
  <memory>1048576</memory>
 
  <currentMemory>1048576</currentMemory>
 
  <vcpu>1</vcpu>
 
  <bootloader>/usr/bin/pygrub</bootloader>
 
  <bootloader_args>-q</bootloader_args>
 
  <os>
 
    <type>linux</type>
 
  </os>
 
  <clock offset='utc'/>
 
  <on_poweroff>destroy</on_poweroff>
 
  <on_reboot>restart</on_reboot>
 
  <on_crash>destroy</on_crash>
 
  <devices>
 
    <emulator>/usr/lib/xen/bin/qemu-dm</emulator>
 
    <disk type='file' device='disk'>
 
      <driver type="file"/>
 
      <driver name='tap2' type='aio'/>
 
      <source file='/var/lib/libvirt/images/master.raw'/>
 
      <target dev='xvda' bus='xen'/>
 
      <boot order='1'/>
 
    </disk>
 
    <interface type='bridge'>
 
      <source bridge='eth0'/>
 
      <script path='/etc/xen/scripts/vif-bridge'/>
 
      <target dev='vif2.0'/>
 
    </interface>
 
    <console type='pty' tty='/dev/pts/1'>
 
      <source path='/dev/pts/1'/>
 
      <target type='xen' port='0'/>
 
    </console>
 
    <input type='mouse' bus='xen'/>
 
    <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0' keymap='de'/>
 
  </devices>
 
</domain>
 
</syntaxhighlight>
 
 
 
<syntaxhighlight lang="bash">
 
virsh undefine master
 
virsh define Master_xen.xml
 
</syntaxhighlight>
 
 
 
Danach kann die Maschine neu gestartet werden:
 
<syntaxhighlight lang="bash">
 
virsh start master
 
</syntaxhighlight>
 
 
 
==Abschluss der Installation==
 
 
 
Nach der Installation des DC Master sollte dieser aktualisiert werden:
 
<syntaxhighlight lang="bash">
 
univention-updater net
 
univention-security-update net
 
</syntaxhighlight>
 
Außerdem muss das Paket univention-virtual-machine-manager-schema installiert werden:
 
<syntaxhighlight lang="bash">
 
univention-install univention-virtual-machine-manager-schema
 
</syntaxhighlight>
 
Nach dem Reboot des DC Master kann der DC Slave nun der Domäne beitreten. Dazu wird als Nameserver für den DC Slave die IP-Adresse des DC Master gesetzt:
 
<syntaxhighlight lang="bash">
 
ucr set nameserver1="<IP-Adresse des DC Master>"
 
</syntaxhighlight>
 
Anschließend wird der Domänenbeitritt auf dem DC Slave gestartet:
 
<syntaxhighlight lang="bash">
 
univention-join
 
</syntaxhighlight>
 
Nach einem Reboot des DC Slave steht in [[UMC]] (erreichbar unter <nowiki>https://<IP-Adresse des DC Slave>/umc/</nowiki>) das [[UVMM]]-Modul zur Verfügung. Dort kann nun auch der DC Master per [[UVMM]] modifiziert werden.
 
 
 
 
 
[[Category:Virtualisierung]]
 

Latest revision as of 12:10, 7 September 2017

Personal tools