Zeile 554:
Zeile 554:
Quelle: [http://www.elektronik-kompendium.de/sites/net/1712061.htm www.elektronik-kompendium.de ]
Quelle: [http://www.elektronik-kompendium.de/sites/net/1712061.htm www.elektronik-kompendium.de ]
+
+
===Server===
+
Modell: HP Proliant DL380 G5
+
Betriebssystem: Ubuntu 14.04 LTS
+
Virtualisierung: KVM/QEMU
+
+
====Netzwerk Config====
+
<source lang='text'>
+
auto lo
+
iface lo inet loopback
+
+
# Freifunk Client
+
auto br-ffwi
+
iface br-ffwi inet static
+
bridge_ports eth2
+
bridge_stp no
+
bridge_fd 0
+
address 10.56.2.80
+
netmask 255.255.192.0
+
gateway 10.56.0.29
+
dns-nameservers 10.56.0.29
+
+
iface br-ffwi inet6 auto
+
+
# Out-of-Band-Mgmt
+
auto eth5
+
iface eth5 inet static
+
address 192.168.56.1
+
netmask 255.255.255.0
+
+
auto eth0
+
iface eth0 inet manual
+
+
auto eth1
+
iface eth1 inet manual
+
+
auto eth3
+
iface eth3 inet manual
+
+
auto eth4
+
iface eth4 inet manual
+
</source>
+
+
====Libvirt Domain Config====
+
<source lang='xml'>
+
<domain type='kvm' id='5'>
+
<name>Sim-Papagei</name>
+
<uuid>3cc0a834-3d84-4974-891e-8483c09afa35</uuid>
+
<memory unit='KiB'>1048576</memory>
+
<currentMemory unit='KiB'>1048576</currentMemory>
+
<vcpu placement='static'>1</vcpu>
+
<resource>
+
<partition>/machine</partition>
+
</resource>
+
<os>
+
<type arch='x86_64' machine='pc-i440fx-trusty'>hvm</type>
+
<boot dev='hd'/>
+
</os>
+
<features>
+
<acpi/>
+
<apic/>
+
</features>
+
<cpu mode='host-model'>
+
<model fallback='allow'/>
+
</cpu>
+
<clock offset='utc'>
+
<timer name='rtc' tickpolicy='catchup'/>
+
<timer name='pit' tickpolicy='delay'/>
+
<timer name='hpet' present='no'/>
+
</clock>
+
<on_poweroff>destroy</on_poweroff>
+
<on_reboot>restart</on_reboot>
+
<on_crash>restart</on_crash>
+
<pm>
+
<suspend-to-mem enabled='no'/>
+
<suspend-to-disk enabled='no'/>
+
</pm>
+
<devices>
+
<emulator>/usr/bin/kvm-spice</emulator>
+
<disk type='file' device='disk'>
+
<driver name='qemu' type='raw'/>
+
<source file='/var/lib/libvirt/images/gluon-ffwi-0.3-beta-2016.02.08-x86-64.img'/>
+
<target dev='vdb' bus='virtio'/>
+
<alias name='virtio-disk1'/>
+
<address type='pci' domain='0x0000' bus='0x00' slot='0x0f' function='0x0'/>
+
</disk>
+
<controller type='usb' index='0' model='ich9-ehci1'>
+
<alias name='usb0'/>
+
<address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x7'/>
+
</controller>
+
<controller type='usb' index='0' model='ich9-uhci1'>
+
<alias name='usb0'/>
+
<master startport='0'/>
+
<address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0' multifunction='on'/>
+
</controller>
+
<controller type='usb' index='0' model='ich9-uhci2'>
+
<alias name='usb0'/>
+
<master startport='2'/>
+
<address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x1'/>
+
</controller>
+
<controller type='usb' index='0' model='ich9-uhci3'>
+
<alias name='usb0'/>
+
<master startport='4'/>
+
<address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x2'/>
+
</controller>
+
<controller type='pci' index='0' model='pci-root'>
+
<alias name='pci.0'/>
+
</controller>
+
<controller type='ide' index='0'>
+
<alias name='ide0'/>
+
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
+
</controller>
+
<controller type='virtio-serial' index='0'>
+
<alias name='virtio-serial0'/>
+
<address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
+
</controller>
+
<controller type='sata' index='0'>
+
<alias name='sata0'/>
+
<address type='pci' domain='0x0000' bus='0x00' slot='0x0c' function='0x0'/>
+
</controller>
+
<controller type='scsi' index='0'>
+
<alias name='scsi0'/>
+
<address type='pci' domain='0x0000' bus='0x00' slot='0x0d' function='0x0'/>
+
</controller>
+
<interface type='direct'>
+
<mac address='52:54:00:a6:96:9e'/>
+
<source dev='eth0' mode='passthrough'/>
+
<target dev='macvtap0'/>
+
<model type='virtio'/>
+
<alias name='net0'/>
+
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
+
</interface>
+
<interface type='direct'>
+
<mac address='52:54:00:5d:1d:39'/>
+
<source dev='eth1' mode='passthrough'/>
+
<target dev='macvtap1'/>
+
<model type='virtio'/>
+
<alias name='net1'/>
+
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
+
</interface>
+
<interface type='direct'>
+
<mac address='52:54:00:c2:3d:41'/>
+
<source dev='eth3' mode='passthrough'/>
+
<target dev='macvtap2'/>
+
<model type='virtio'/>
+
<alias name='net2'/>
+
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
+
</interface>
+
<interface type='direct'>
+
<mac address='52:54:00:02:d8:6f'/>
+
<source dev='eth4' mode='passthrough'/>
+
<target dev='macvtap3'/>
+
<model type='virtio'/>
+
<alias name='net3'/>
+
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
+
</interface>
+
<interface type='bridge'>
+
<mac address='52:54:00:f8:c8:64'/>
+
<source bridge='br-ffwi'/>
+
<target dev='vnet0'/>
+
<model type='virtio'/>
+
<alias name='net4'/>
+
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
+
</interface>
+
<serial type='pty'>
+
<source path='/dev/pts/1'/>
+
<target port='0'/>
+
<alias name='serial0'/>
+
</serial>
+
<console type='pty' tty='/dev/pts/1'>
+
<source path='/dev/pts/1'/>
+
<target type='serial' port='0'/>
+
<alias name='serial0'/>
+
</console>
+
<channel type='spicevmc'>
+
<target type='virtio' name='com.redhat.spice.0'/>
+
<alias name='channel0'/>
+
<address type='virtio-serial' controller='0' bus='0' port='1'/>
+
</channel>
+
<input type='mouse' bus='ps2'/>
+
<input type='keyboard' bus='ps2'/>
+
<graphics type='spice' port='5900' autoport='yes' listen='127.0.0.1'>
+
<listen type='address' address='127.0.0.1'/>
+
</graphics>
+
<sound model='ich6'>
+
<alias name='sound0'/>
+
<address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
+
</sound>
+
<video>
+
<model type='qxl' ram='65536' vram='65536' heads='1'/>
+
<alias name='video0'/>
+
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
+
</video>
+
<redirdev bus='usb' type='spicevmc'>
+
<alias name='redir0'/>
+
</redirdev>
+
<redirdev bus='usb' type='spicevmc'>
+
<alias name='redir1'/>
+
</redirdev>
+
<memballoon model='virtio'>
+
<alias name='balloon0'/>
+
<address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/>
+
</memballoon>
+
</devices>
+
<seclabel type='dynamic' model='apparmor' relabel='yes'>
+
<label>libvirt-3cc0a834-3d84-4974-891e-8483c09afa35</label>
+
<imagelabel>libvirt-3cc0a834-3d84-4974-891e-8483c09afa35</imagelabel>
+
</seclabel>
+
</domain>
+
</source>
+
+
====VM-Watchdog-Script====
+
Wenn die VM unerwartet crasht, kann diese per Remote nicht resettet werden.
+
Dies machen wir automatisiert mit diesem Script, das in /usr/local/bin liegt.
+
<source lang='bash'>
+
#!/bin/bash
+
+
count=$( ping6 -c 5 fd56:b4dc:4b1e:0:5054:ff:fea6:969e | grep "bytes from" | wc -l )
+
if [ $count -eq 0 ]
+
then
+
logger "Sim-Papagei: Not available -> Reset VM"
+
virsh reset Sim-Papagei
+
exit 0
+
else
+
logger "Sim-Papagei: Up and running -> nothing to do"
+
exit 0
+
fi
+
</source>
+
+
Per cronjob wird es alle 20 Minuten ausgeführt
+
<source lang='text'>
+
# m h dom mon dow command
+
*/20 * * * * /usr/local/bin/vm-watchdog.sh
+
</source>
+
==Gebäudeplan==
==Gebäudeplan==