install kvm on ubuntu12.04

更多内容可移驾至我的独立Blog: http://www.justfbt.com/


setup 1, Install kvm

# apt-get install q emu-kvm li bvirt-bin bridge-utils virtinst

setup 2, configure networking

# vim /etc/network/interface
# This file describes the network interfaces available on your system 
# and how to activate them. For more information, see interfaces(5). 
# The loopback network interface 
auto lo 
iface lo inet loopback 
# The primary network interface
auto eth0 
iface eth0 inet manual 
auto br0 
iface br0 inet static 
address 192.168.222.53 
netmask 255.255.255.0 
gateway 192.168.222.1 
dns-nameservers 223.5.5.5 
bridge_ports eth0 
Restart networking:
# /etc/init.d/networking restart

setup 3, Create vms

3.1 create image
# qemu-img create -f qcow2 sample.qcow2 30G
3.2 create config.xml to install vm:
<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE 
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
  virsh edit ser01
or other application using the libvirt API.
-->

<domain type='kvm'>
  <name>ser01</name> //虚拟机名称 
  <uuid>759ed200-3847-5a68-ec5e-f1afd4c33204</uuid>
  <memory>5128576</memory> //最大内存,单位k 
  <currentMemory>5128576</currentMemory> //可用内存,单位k 
  <vcpu>2</vcpu> //虚拟cpu个数 
  <os>
    <type arch='x86_64' machine='pc-1.0'>hvm</type>
    <boot dev='hd'/> //harddisk启动 
    <boot dev='cdrom'/> //光盘启动 
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='localtime'/>
  <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/qemu/vms/ser01/ser01.qcow2'/> //目的镜像路径位置
      <target dev='hda' bus='ide'/>
      <address type='drive' controller='0' bus='0' unit='0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/var/lib/libvirt/iso/ubuntu-12.04-server-amd64.iso'/> //光盘镜像路径位置
      <target dev='hdb' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='0' unit='1'/>
    </disk>
    <controller type='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <interface type='bridge'> //虚拟机网络连接方式 
      <mac address='52:54:00:65:e4:d6'/> //为虚拟机分配mac地址,务必唯一,否则dhcp获得同样ip,引起冲突 
      <source bridge='br0'/> //当前主机网桥的名称 
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='5902' autoport='no' listen='0.0.0.0' passwd='password'> //修改vnc端口,链接vnc时的密码
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <video>
      <model type='cirrus' vram='9216' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </memballoon>
  </devices>
</domain>

setup 4 create vm,and then,use client like remmina to connections with vnc.

# virsh create sample.xml       #or:  # virsh define sample . xml  and then start vm: #   virsh start   sample

setup 5 backup vm

5.1 vm backup: snapshot

create xml file named sample_snaoshot.xml

# vim sample_snapshot.xml
<domainsnapshot>
   <name>sample_snapshot-1</name>
   <description>Ubuntu 12.04 AMD64 server</description>
</domainsnapshot>
5.2 Run follow commands:
#  virsh snapshot-create sample ./sample_snapshot.xml

check:

# virsh snaoshot-list sample
5.3 Others
restor:
# virsh snapshot-revert sample sample_snapshot-1
delete:
# virsh snapshot-delete sample sample_snapshot-1

setup 6 clone vms

6.1
## at first,the vm's status is shutdown
# virt-clone --original sample --name ser01 --file /var/lib/libvirt/qemu/vms/ser01/ser01.qcow2
6.2 when complete this job edit /etc/libvirt/qemu/ser01.xml,modify the new vm’s MAC , VNC port,hostname,ip address , loginname etc.
example: 
<graphics type='vnc'  port='5910'  autoport='no' listen='0.0.0.0'   passwd='zhao' > 

Debugs:

ERROR 1:
root@ukvm:/var/lib/libvirt/qemu/vms/sample#virsh create sample.xml
error: Failed to create domain from sample.xml
error: internal error cannot load AppArmor profile 'libvirt-a8c6a55d-c856-c502-9d1f-1818ee67f4ef'

Solution:

# apt-get install --reinstall qemu-kvm libvirt-bin bridge-utils virtinst 
ERROR 2:
virsh # start centos7-sample
error: Failed to start domain centos7-sample
error: Unable to read from monitor: Connection reset by peer

Solution:
Verify the new vm’s vnc port is not used by other,like this:

<graphics type='vnc' port='5902' autoport='no' listen='0.0.0.0' passwd='password'>

宿主机centos6.5上一份完整的vm xml文件:

server_01.xml

行尾 ## 标注的根据实际情况修改
<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE  
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using: 
  virsh edit server_01 
or other application using the libvirt API. 
--> 
<domain type='kvm'> 
  <name> server_01</name> ##
  <uuid> 0f005dd3-05f8-a13b-d0ad-9b3fd309216e</uuid> ##
  <memory unit='KiB'> 8388608</memory> ##
  <currentMemory unit='KiB'> 8388608</currentMemory> ##
  <vcpu placement='static'> 8</vcpu> ##
  <os> 
    <type arch='x86_64' machine='rhel6.6.0'>hvm</type> 
    <boot dev='hd'/>  //引导设备,从光盘引导:<boot dev='cdrom'/> ##
  </os> 
  <features> 
    <acpi/> 
    <apic/> 
    <pae/> 
  </features> 
  <clock offset='localtime'/> 
  <on_poweroff>destroy</on_poweroff> 
  <on_reboot>restart</on_reboot> 
  <on_crash>destroy</on_crash> 
  <devices> 
    <emulator>/usr/libexec/qemu-kvm</emulator> 
    <disk type='file' device='disk'> 
      <driver name='qemu' type='qcow2'/> 
      <source file='/usr/local/vms/server_02/server_02.qcow2'/> ##
      <target dev=' vda' bus='virtio'/> ##
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> 
    </disk> 
    <disk type='block' device='disk'>  // 这一块为VM添加一块硬盘,可以是img,disk,lvm... ,这里添加的是lvm卷 ##
      <driver name='qemu' type='raw'/> ##
      <source dev='/usr/local/vms/server_02/server_02_data'/> ##
      <target dev='vdb' bus='virtio'/> ##
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> 
    </disk> 
    <disk type='file' device='cdrom'> 
      <driver name='qemu' type='raw'/> 
      <source file=' /usr/local/iso/ubuntu-12.04-server-amd64.iso'/> ##
      <target dev='hdc' bus='ide'/> 
      <readonly/> 
      <address type='drive' controller='0' bus='1' target='0' unit='0'/> 
    </disk> 
    <controller type='usb' index='0'> 
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> 
    </controller> 
    <controller type='ide' index='0'> 
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> 
    </controller> 
    <interface type=' bridge'> ##
      <mac address='00:16:3e:5d:a1:a1'/> 
      <source bridge=' br0'/> ##
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> 
    </interface> 
    <input type='mouse' bus='ps2'/> 
    <graphics type='vnc' port=' 5901' autoport='no' listen='0.0.0.0'> ##
      <listen type='address' address='0.0.0.0'/> 
    </graphics> 
    <video> 
      <model type='cirrus' vram='9216' heads='1'/> 
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> 
    </video> 
    <memballoon model='virtio'> 
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> 
    </memballoon> 
  </devices> 
</domain> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值