##############
存储池相关命令:
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个
####################
给虚拟机增加内存
先关机,然后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 虚拟机添加磁盘:
点击(此处)折叠或打开
-
<emulator>/usr/libexec/qemu-kvm</emulator>
-
<disk type='file' device='disk'>
-
<driver name='qemu' type='qcow2' cache='none'/>
-
<source file='/data/vmfs/win7-youshou.img'/>
-
<target dev='hda' bus='ide'/>
-
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
-
</disk>
-
<disk type='file' device='disk'>
-
<driver name='qemu' type='qcow2' cache='none'/>
-
<source file='/data/vmfs/win7-youshou_data.img'/>
-
<target dev='hdb' bus='ide'/>
-
<address type='drive' controller='0' bus='0' target='0' unit='1'/>
-
</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