kvm常见问题总结

kvm常见问题总结

1.利用virt-install脚本安装guest windows 2008系统virtio和软盘版下载地址http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/

http://down.51cto.com/data/745983

virt-install --arch=x86_64 --accelerate -v -n windows2008_2 -r 1024 --vcpus=3 -c /media/windows2008.iso --vnc --vncport=5903 --vnclisten=0.0.0.0 --virt-type=kvm --disk path=/dev/vg01/sys2008_2,cache=writeback,bus=virtio,device=disk --disk path=/media/virtio.vfd,device=floppy  -w bridge:br1,model=virtio --soundhw=ac97 --video=cirrus --os-type='windows' --os-variant=win2k8 --connect qemu:///system

2.启动进入安装程序以后会发现找不到硬盘 
此时选择Load Driver或者加载驱动,选择从软盘加载。 注意选择的驱动和Windows版本要匹配。 装好驱动以后,硬盘就出来了。

3.增加宿主机/dev/vg01/sys2008_2 逻辑卷标空间

[root@SN-test01 ~]# lvresize -L +100G /dev/vg01/sys2008_2 //利用lvresiz增加100G空间,如果要减少就-100G即可,增加后关闭虚拟机然后重启就可以看见多出一个扩展分区出来。


Extending logical volume sys2008_2 to 100.00 GiB
Logical volume sys2008_2 successfully resized

4.[root@SN-test01 ~]# virsh list
 Id    Name                           State
----------------------------------------------------
 
 18    windows2008_2                  running
 

[root@SN-test01 ~]# virsh shutdown 18

[root@SN-test01 ~]# virsh start windows2008_2

5.进入系统windows2008系统开始菜单运行中diskpart工具扩展逻辑卷

list disk

select disk number(磁盘号)

list partition

select volume number(磁盘号)

extend

6.挂载光驱和弹出光驱

[root@SN-test01 ~]# virsh

virsh # domblklist windows2008_2 //查看虚拟机块设备。
Target     Source
------------------------------------------------
vda        /dev/vg01/sys2008_2
fda        /media/virtio.vfd
hdc        /media/windows2008.iso

virsh #change-media windows2008_2 --eject /media/windows2008.iso

virsh # change-media --domain windows2008_2 hdc /media/virtio.iso
succeeded to complete action update on media


7.虚拟机windows2008_2添加第二块硬盘和添加第二块网卡

[root@SN-test01 ~]#lvcreate -L 10G /dev/vg01/sys2008_2_1 //创建一个sys2008_2_1的逻辑卷

[root@SN-test01 ~]# virsh

virsh # domblklist windows2008_2 //查看虚拟机块设备。
Target     Source
------------------------------------------------
vda        /dev/vg01/sys2008_2
fda        /media/virtio.vfd
hdc        /media/windows2008.iso

virsh # attach-disk windows2008_2 /dev/vg01/sys2008_2_1 vdb //添加一块10G的硬盘进去即使生效。但是虚拟机配置文件不会添加,重启后就没了,如果要将运行状态保存至XML文件中,可以用dumpxml命令,用之前最好将XML做个备份。

 virsh dumpxml windows2008_2>/root/windows2008_2.xml //备份xml到当前目录


[root@SN-test01 ~]# virsh dumpxml windows2008_2>/etc/libvirt/qemu/windows2008_2.xml //覆盖原有的xml

virsh # define windows2008_2.xml //定义生效下次关机重启生效。
Domain windows2008_2 defined from windows2008_2.xml

virsh # domblklist windows2008_2
Target     Source
------------------------------------------------
vda        /dev/vg01/sys2008_2
vdb        /dev/vg01/sys2008_2_1//多出来的10G硬盘去windows2008磁盘管理格式化即可。
fda        /media/virtio.vfd
hdc        /media/windows2008.iso


virsh # domiflist windows2008_2 //查看网卡信息
Interface  Type       Source     Model       MAC
-------------------------------------------------------
vnet2      bridge     br1        virtio      52:54:00:fa:6b:a1

virsh # attach-interface windows2008_2 --type bridge --source br2 --mac 52:54:00:fa:6b:a2 --model virtio//默认不加--model参数是瑞昱的8139网卡临时生效重启后不失效,关机重新加载配置文件后会丢失网卡。
Interface attached successfully

virsh # domiflist windows2008_2
Interface  Type       Source     Model       MAC
-------------------------------------------------------
vnet2      bridge     br1        virtio      52:54:00:fa:6b:a1
vnet3      bridge     br2        -           52:54:00:60:c1:f3 //新增加网卡br2
vnet2      bridge     br1        virtio      52:54:00:fa:6b:a2//为virtio网卡

[root@SN-test01 ~]# virsh dumpxml windows2008_2>/etc/libvirt/qemu/windows2008_2.xml //更新xml文件

[root@SN-test01 ~]# virsh

virsh # define windows2008_2.xml //定义生效下次关机重启生效undefine id删除虚拟机,destroy id或者名字.
Domain windows2008_2 defined from windows2008_2.xml

8.[root@SN-test01 ~]# virt-top //查看虚拟机使用情况

virt-top 14:33:35 - x86_64 24/24CPU 1999MHz 32059MB 1.1%
3 domains, 3 active, 3 running, 0 sleeping, 0 paused, 0 inactive D:0 O:0 X:0
CPU: 1.1%  Mem: 3072 MB (3072 MB by guests)

   ID S RDRQ WRRQ RXBY TXBY %CPU %MEM    TIME   NAME                           
   22 R    0    7 7886    0  0.4  3.0   1:13.25 windows2008_2
  
9.删除网卡和磁盘

virsh # detach-interface windows2008_2 --type bridge  --mac 52:54:00:fa:6b:a2 //临时删除网卡
Interface detached successfully

virsh # domiflist windows2008_2 //查看虚拟机2008网卡资源
Interface  Type       Source     Model       MAC
-------------------------------------------------------
vnet2      bridge     br1        virtio      52:54:00:fa:6b:a1


virsh # detach-disk windows2008_2 /dev/vg01/sys2008_2_1  //临时删除添加的磁盘vdb
Disk detached successfully

virsh # domblklist windows2008_2 //查看虚拟机2008网卡资源
Target     Source
------------------------------------------------
vda        /dev/vg01/sys2008_2
fda        /media/virtio.vfd
hdc        -

[root@SN-test01 ~]# virsh dumpxml windows2008_2>/etc/libvirt/qemu/windows2008_2.xml //覆盖文件最好首先备份一下xml以免出错。

[root@SN-test01 ~]# virsh define /etc/libvirt/qemu/windows2008_2.xml
Domain windows2008_2 defined from /etc/libvirt/qemu/windows2008_2.xml//重新定义windows2008_2.xml配置文件下次重新关机重启生效。

9.[root@SN-test01 ~]#  cat /etc/libvirt/qemu/windows2008_2.xml //windows2008_2虚拟机配置文件如下:

<domain type='kvm' id='21'>

  <name>windows2008_2</name>

  <uuid>f10a5009-b73d-fdb8-5519-4e46cd548100</uuid>

  <memory unit='KiB'>1048576</memory>

  <currentMemory unit='KiB'>1048576</currentMemory>

  <vcpu placement='static'>3</vcpu>
  <os>
    <type arch='x86_64' machine='rhel6.4.0'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='localtime'>
    <timer name='rtc' tickpolicy='catchup'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>

  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>

    <disk type='block' device='disk'>

      <driver name='qemu' type='raw' cache='writeback' io='native'/>

      <source dev='/dev/vg01/sys2008_2'/>

      <target dev='vda' bus='virtio'/>
      <alias name='virtio-disk0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>

    </disk>
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw'/>
      <source dev='/dev/vg01/sys2008_2_1'/> //添加的第二块磁盘

      <target dev='vdb' bus='virtio'/>//设备总线为virtio模式

      <alias name='virtio-disk1'/> //为磁盘1

      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </disk>

    <disk type='file' device='floppy'> //定义软驱
      <driver name='qemu' type='raw' cache='none'/>
      <source file='/media/virtio.vfd'/>
      <target dev='fda' bus='fdc'/>
      <alias name='fdc0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>

    <disk type='file' device='cdrom'>//定义cdrom
      <driver name='qemu' type='raw'/>
      <target dev='hdc' bus='ide' tray='open'/>
      <readonly/>
      <alias name='ide0-1-0'/>
      <address type='drive' controller='0' bus='1' target='0' unit='0'/>
    </disk>
    <controller type='usb' index='0'>
      <alias name='usb0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    </controller>
    <controller type='fdc' index='0'>
      <alias name='fdc0'/>
    </controller>
    <controller type='ide' index='0'>
      <alias name='ide0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>

    <interface type='bridge'> //定义桥接
      <mac address='52:54:00:fa:6b:a1'/> //定义mac物理地址
      <source bridge='br1'/>//桥接到br1上
      <target dev='vnet2'/>//虚拟机网卡为vnet2
      <model type='virtio'/>//网卡类型为1000m网卡
      <alias name='net0'/>//第一块网卡
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>//局部总线地址

    </interface>
    <interface type='bridge'>//第二块网卡定义
      <mac address='52:54:00:fa:6b:a2'/>
      <source bridge='br1'/>
      <target dev='vnet3'/>
      <model type='virtio'/>
      <alias name='net1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
     </interface>


    <serial type='pty'>
      <source path='/dev/pts/4'/>
      <target port='0'/>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/4'>
      <source path='/dev/pts/4'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <input type='tablet' bus='usb'>
      <alias name='input0'/>
    </input>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='5903' autoport='no' listen='0.0.0.0'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <sound model='ac97'>
      <alias name='sound0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </sound>
    <video>
      <model type='cirrus' vram='9216' heads='1'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </memballoon>
  </devices>
  <seclabel type='dynamic' model='selinux' relabel='yes'>
    <label>system_u:system_r:svirt_t:s0:c50,c772</label>
    <imagelabel>system_u:object_r:svirt_image_t:s0:c50,c772</imagelabel>
  </seclabel>
</domain>

你可能感兴趣的:(虚拟机,kvm)