本文链接: https://www.jianshu.com/p/d3af1271c475
作者:闫立行
列出所有的虚拟机
virsh list --all
查看一个域的信息
virsh dominfo rhel6
启动虚拟机
virsh start vhostname
正常关闭虚拟机
virsh shutdown vhostname
强制关闭虚拟机
virsh destroy vhostname
取消定义一个域
virsh undefine vhostname
//编辑默认虚拟网络配置文件
virsh net-edit default
systemctl restart lirbvirtd
创建一个虚拟磁盘
qemu-img create -f qcow2 /home/virtimg/rhel6.img 10G
改变虚拟磁盘大小
qemu-img resize /home/virtimg/rhel6.img +1G
qemu-img info /home/virtimg/rhel6.img
改变虚拟内存的大小
1 设置一个虚拟机的最多使用内存,前提是此虚拟机关闭状态
这里仅仅会更改配置文件中的设置
virsh setmaxmem centos3 4096M --config
2 启动虚拟机,当前实际使用的内存还是原来的大小
virsh start centos3
3 假如希望增加正在运行中的虚拟机的内存,使用如下命令
virsh setmem centos3 2048M
传文件到虚拟主机里
virt-install --filesystem /host/soource/dir,/dir/in/virthost
在线添加删除硬盘
可以查看虚拟机所有磁盘
virsh domblklist vmname
- 准备一块虚拟磁盘
qemu-img create -f qcow2 /path/to/vm1-1.qcow2 2G
在线添加硬盘
- 首先配置一份磁盘的xml文件,作为模板
配置需要的参数项,比如:
cache=writeback,io=third
disk_mod.xml
[root@kvm-shark ~]# cat disk_mod.xml
echo "<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='writeback' io='threads'/>
<source file='"${vdisk_path}"'/>
<target dev='"${device_name}"' bus='virtio'/>
</disk>
"
使用模板文件产生一个新的配置文件片段
[root@shark ~]# vdisk_path=/path/to/vm1-1.qcow2
[root@shark ~]# device_name=vdb
[root@shark ~]# source disk_mod.xml > disk.xml
- 然后使用attach-device命令添加
attach-device - 从一个XML文件附加装置
virsh attach-device vm1 disk.xml --persistent
attach-device <domain> <file> [--persistent] [--config] [--live] [--current]
选项
[--domain] <string> domain name, id or uuid
[--file] <string> XML 文件
--persistent
让实时更改并且持久生效。
--config
影响下一次引导,域无论是否运行,都可以直接修改配置文件,单独使用,不会影响当前正确运行中的域
--live
影响运行的域,只能用于域启动的时候
--current
影响当前域
当前域处于关机状态下,会直接修改配置文件
当前域处于开机状态下,不会修改配置文件,临时生效而已,和单独使用--live
一样。
永久移除vdb磁盘
virsh detach-disk vmname vdb --persistent
自动化找到我们需要创建的硬盘名称
虚拟硬盘名一般都是 vda vdb vdc, 可以利用 a-z 的连续行找到我们新建磁盘的名称。
# 目前虚拟机已经存在的盘符
disk_name_w="vda vdb vdc vde"
declare -A tmp_arr
for i in $disk_name_w
do
tmp_arr[$i]=1
done
for i in {a..z}
do
w=${tmp_arr[vd$i]}
if [ -z "$w" ];then
disk_name=vd$i
echo "磁盘名称是$disk_name"
break
fi
done