Direkt zum Inhalt | Direkt zur Navigation

Benutzerspezifische Werkzeuge

This is SunRain Plone Theme

Sektionen

Sie sind hier: Startseite / Unix / KVM / KVM, OpenvSwitch, VLAN unter Ubuntu

KVM, OpenvSwitch, VLAN unter Ubuntu

Notwendiges Wissen:

Installation von Ubuntu / Debian

Netzwerk einrichten

VLAN

Versionen:

  check Version Version

Ubuntu

cat /etc/lsb-release

DISTRIB_DESCRIPTION=Ubuntu 14.04.4 LTS

qemu-kvm kvm --version QEMU emulator version 2.3.0 (Debian 1:2.3+dfsg-5ubuntu9.2~cloud0)
virsh virsh --version 1.2.16
open v switch ovs-vsctl --version ovs-vsctl (Open vSwitch) 2.4.0

VLAN Einstellungen

VLAN 20  Internet  
VLAN 21 Management Network 192.168.7.x/24
VLAN 24 DMZ 192.168.66.x/24
VLAN 26 User Networtk 192.168.26.x/24

KVM einrichten

KVM Tauglichkeit prüfen

grep -E '^flags.*\b(vmx|svm)\b' /proc/cpuinfo

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc rep_good nopl nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx hypervisor lahf_lm tpr_shadow vnmi flexpriority ept xsaveopt

## für Intel-Prozessoren
modprobe kvm
modprobe kvm_intel

## für AMD-Prozessoren
modprobe kvm
modprobe kvm_amd
dmesg | grep kvm 

[    0.000000] kvm-clock: Using msrs 4b564d01 and 4b564d00
[    0.000000] kvm-clock: cpu 0, msr 0:1fff5001, primary cpu clock
[    0.000000] clocksource: kvm-clock: mask: 0xffffffffffffffff max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns
[    0.000000] kvm-stealtime: cpu 0, msr 1fc0e600
[    0.158174] clocksource: Switched to clocksource kvm-clock

Reposity hinzufügen

add-apt-repository cloud-archive:liberty

apt-get update 
apt-get upgrade
apt-get dist-upgrade

reboot

KVM in einer virtuellen Maschine betreiben (KVM nested)

Überprüfung, ob Nested KVM aktiviert ist

bei einem Intel-Prozessor:

cat /sys/module/kvm_intel/parameters/nested

bei einem AMD-Prozessor:

cat /sys/module/kvm_amd/parameters/nested

Dort sollte ein "Y" stehen

Wenn dort ein "N" steht, muss man das entsprechende KVM-Modul entfernen und dann mit dem Parameter nested=1 neuladen.

bei einem Intel-Prozessor:

rmmod kvm_intel
modprobe kvm_intel nested=1

bei einem AMD-Prozessor:

rmmod kvm_amd
modprobe kvm_amd nested=1

Unter umständen kann man das laden von dem Kernel Modul automatisieren.
vi /etc/modprobe.d/99-kvm.conf

bei einem Intel-Prozessor:

options kvm-intel nested=1

bei einem AMD-Prozessor:

options kvm-amd nested=1

AppArmor abschalten

service apparmor stop
update-rc.d -f apparmor remove

 

modinfo kvm_intel | grep -i nested
parm:           nested:bool

KVM CPU Informationen auslessen

 virsh  capabilities | virsh cpu-baseline /dev/stdin

<cpu mode='custom' match='exact'>
  <model fallback='forbid'>SandyBridge</model>
  <vendor>Intel</vendor>
  <feature policy='require' name='invtsc'/>
  <feature policy='require' name='osxsave'/>
  <feature policy='require' name='pcid'/>
  <feature policy='require' name='pdcm'/>
  <feature policy='require' name='xtpr'/>
  <feature policy='require' name='tm2'/>
  <feature policy='require' name='est'/>
  <feature policy='require' name='smx'/>
  <feature policy='require' name='vmx'/>
  <feature policy='require' name='ds_cpl'/>
  <feature policy='require' name='monitor'/>
  <feature policy='require' name='dtes64'/>
  <feature policy='require' name='pbe'/>
  <feature policy='require' name='tm'/>
  <feature policy='require' name='ht'/>
  <feature policy='require' name='ss'/>
  <feature policy='require' name='acpi'/>
  <feature policy='require' name='ds'/>
  <feature policy='require' name='vme'/>
</cpu>

Für KVM nested wird nur die vmx extensions benötigt.

<cpu match='exact'>
  <model>core2duo</model>
 <feature policy='require' name='vmx'/>
</cpu>

Installation  Packages libvirt-bin, KVM

apt-get -y install novnc libvirt-bin sasl2-bin openvswitch-switch openvswitch-datapath-dkms qemu-kvm vlan

vi /etc/default/libvirt-bin

change

libvirtd_opts="-d -l"

vi /etc/libvirt/libvirtd.conf
uncomment the line

listen_tls = 0
listen_tcp = 1

Start the daemon libvirtd

service libvirt-bin restart

Benutzer für libvirt hinzufügen

Hinzufügen von dem Benutzer "admin" mit den  Option "-a libvirt"  mit dem saslpasswd2 Kommando .

saslpasswd2 -u local -a libvirt admin
Password: xxxxxx
Again (for verification): xxxxxx

Auflisten von dem angelegeten Bentuzer

sasldblistusers2 -f /etc/libvirt/passwd.db

admin@vlocal:userPassword

Ausnahme ufw Firewall hinzufügen

vi /etc/ufw/applications.d/libvirtd

[Libvirt]
title=Virtualization library
description=Open port for WebVirtMgr
ports=16509/tcp

hinzufügen

ufw allow from any to any app Libvirt

Test connection

direkte Anmeldung:

virsh -c qemu:///system nodeinfo

Anmeldung mit IP

virsh -c qemu+tcp://192.168.7.97/system nodeinfo

Please enter your authentication name: admin@virt01@local
Please enter your password:
CPU model:           x86_64
CPU(s):              1
CPU frequency:       3200 MHz
CPU socket(s):       1
Core(s) per socket:  1
Thread(s) per core:  1
NUMA cell(s):        1
Memory size:         1017184 KiB

Virtual Machine Manager einrichten

Openvswitch Network

Bridge erstellen

ovs-vsctl add-br br-uplink
ovs-vsctl add-port br-uplink eth0
vi vlan26.xml
User Networtk
<network>
    <name>ovs-net-v26</name>
    <forward mode='bridge'/>
    <bridge name='br-uplink'/>
    <virtualport type='openvswitch'/>
    <portgroup name='v26' default='yes'>
        <vlan >
            <tag id='26'/>
        </vlan>
    </portgroup>
</network>
virsh net-define --file vlan26.xml
virsh net-start ovs-net-v26
virsh net-autostart ovs-net-v26

Test Instance erzeugen

Download Disk Image

wget -P /var/lib/libvirt/images/ http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img

Storage Pool erzeugen

vi storage.xml

      <pool type="dir">
        <name>virtimages</name>
        <target>
          <path>/var/lib/libvirt/images</path>
        </target>
      </pool>
virsh pool-define storage.xml
virsh pool-start virtimages
virsh pool-autostart virtimages

Create Instance

 

löschen von der Anzeige und neu erstellen

 

Artikelaktionen

abgelegt unter: , , ,
Kommentieren

Sie können einen Kommentar abgeben, indem Sie das untenstehende Formular ausfüllen. Nur Text. Web- und E-Mailadressen werden in anklickbare Links umgewandelt. Kommentare werden moderiert.

Enter the word