kvm常用管理命令

380阅读 0评论2015-03-30 fathermotherson
分类:虚拟化

virsh list --all


##############
存储池相关命令:
virsh pool-list
virsh pool-info [poolName]

Define storage pool base on system file path

[root@node1 ~]# mkdir /data/vmfs

[root@node1 ~]# virsh pool-define-as vmdisk --type dir --target /data/vmfs

定义池 vmdisk


Build pool

[root@node1 ~]# virsh pool-build vmdisk

构建池 vmdisk


List pool

[root@node1 ~]# virsh pool-list --all

名称               状态     自动开始

-----------------------------------------

vmdisk               不活跃  no


Autostart pool

[root@node1 ~]# virsh pool-autostart vmdisk

池 vmdisk 标记为自动启动


[root@node1 ~]# virsh pool-list --all

名称               状态     自动开始

-----------------------------------------

vmdisk               不活跃  yes


Active pool

[root@node1 ~]# virsh pool-start vmdisk

池 vmdisk 已启动


Create vol in the pool

[root@node1 ~]# virsh vol-create-as vmdisk Compiler1.qcow2 20G --format qcow2

创建卷 Compiler1.qcow2



[root@node1 ~]# cd /data/vmfs/

[root@node1 vmfs]# ls

Compiler1.qcow2


#############
查看存储卷信息
virsh vol-list --pool vmdisk
virsh vol-info jason-test.img --pool vmdisk

#############
查看可选用的操作系统
virt-install --os-variant=list | more

#############
创建一台虚拟机
virt-install --name ubuntu1404os --os-type=linux  --ram 512 --vcpus=1 --disk path=/data/vmfs/ubuntu1404os.img,format=qcow2,size=20,bus=virtio --accelerate  --hvm --network bridge=br0,model=virtio  --cdrom /data/iso/ubuntu-14.04.2-server-amd64.iso  --vnc --vncport=5910 --vnclisten=0.0.0.0
需要 virsh vncdisplay vm, 通过 vnc 上去进行安装


#################
删除一台虚拟机
virsh shutdown Dom
virsh undefine Dom
virsh vol-delete /data/vmfs/Dom.img

####################
在线给虚拟机增加 cpu
首先要保证 max 的比 current 的要大,才能进行增加, 否则要先关机, 去 edit xml
virsh vcpucount vmr
maximum      config         6
maximum      live           6
current      config       2  
current      live           2
在线添加:
virsh setvcpus Zabbix-Server 5 --live
 virsh vcpucount Zabbix-Server
maximum      config         6
maximum      live           6
current      config         2
current      live           5

添加完之后还是要 edit 一下 xml,否则 reboot 之后还是原来的2个
  6

####################
给虚拟机增加内存
先关机,然后edit ,或者setmaxmem Zabbix-Server 8192M 这样来设置maxmem
然后 current mem 就要自己edit 了
如果是通过setmem Zabbix-Server 4096M 来设置的 current mem, 记得要去 edit, 不然 reboot 之后就失效了



#####################
在线给linux虚拟机添加磁盘
查看当前虚拟机的磁盘挂载情况:
virsh domblklist DomName
创建一个 qcow2格式的磁盘用于挂载:
qemu-img create -f qcow2 /data/vmfs/Compiler1_data.img 50G
查看创建的磁盘信息:
qemu-img info /data/vmfs/Compiler1_data.img


然后登陆虚拟机, 执行2次这个命令:
modprobe acpiphp


挂载磁盘:
vdb 表示这是挂载的第二块盘,如果已经挂载了2块盘,那么这里要改成 vdc, 依次类推
virsh attach-disk Compiler1 /data/vmfs/Compiler1_data.qcow2 vdb --cache=none --subdriver=qcow2


在虚拟机查看 scsi 设备,看是否有2个 scsi 设备了
lspci

接着,
在线挂载挂载磁盘的信息尚未写入配置文件, 重启后会失效,需要写入配置文件:
注:slot 跟现有设备的不能冲突,比如已经有的是0x01,0x02....0x07,
新增的磁盘就写成0x08
   
     
     
     
     
     

   




然后在虚拟机里面扩展磁盘, 用 fdisk 或者 parted 对新增磁盘分区, 然后给新分区做 pv:
pvcreate /dev/vdb1
把 pv  添加到现有的 vg 中:
vgextend vg_data /dev/vdb1
扩展 vg 上的 lv
lvextend -L +50G /dev/vg_data/lv_data
调整文件系统以识别新增的部分
resize2fs /dev/vg_data/lv_data

##给 windows 虚拟机添加磁盘:

点击(此处)折叠或打开

  1. <emulator>/usr/libexec/qemu-kvm</emulator>
  2.     <disk type='file' device='disk'>
  3.       <driver name='qemu' type='qcow2' cache='none'/>
  4.       <source file='/data/vmfs/win7-youshou.img'/>
  5.       <target dev='hda' bus='ide'/>
  6.       <address type='drive' controller='0' bus='0' target='0' unit='0'/>
  7.     </disk>
  8.     <disk type='file' device='disk'>
  9.       <driver name='qemu' type='qcow2' cache='none'/>
  10.       <source file='/data/vmfs/win7-youshou_data.img'/>
  11.       <target dev='hdb' bus='ide'/>
  12.       <address type='drive' controller='0' bus='0' target='0' unit='1'/>
  13.     </disk>



Kvm 快照

创建快照,创建快照的时候最好不要有读写操作

snapshot-create-as xj-test xj-test_install_nodejs


查看快照

virsh snapshot-list xj-test

snapshot-info xj-test xj-test_uninstall_nodejs


恢复快照,执行恢复快照之前, 请先关闭虚拟机

snapshot-revert xj-test xj-test_uninstall_nodejs

revert 之后最好把虚拟机reboot一下( revert 之后虚拟机就开启了


删除快照

snapshot-delete xj-test xj-test_uninstall_nodejs



查看虚拟机启动日志:
tail -40f /var/log/libvirt/qemu/ubuntu1404os.log

关闭打开的 vnc , 后面的数字要看情况而定,一般第一个打开的 vnc 就是1, 第二个是2,以此类推
vncserver -kill :1
上一篇:linux proxy set
下一篇:How to Install and Configure VNC on Ubuntu 14.04