美文网首页
管理 KVM 虚拟机

管理 KVM 虚拟机

作者: 运维开发_西瓜甜 | 来源:发表于2020-08-23 17:01 被阅读0次

    本文链接: 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
    

    相关文章

      网友评论

          本文标题:管理 KVM 虚拟机

          本文链接:https://www.haomeiwen.com/subject/slfwjktx.html