| 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== |