美文网首页
kvm的基础命令

kvm的基础命令

作者: 不知道就 | 来源:发表于2019-07-15 22:34 被阅读0次

    一、基础命令

    列表list(--all)

    开机start

    关机shutdown

    强制关机destroy

    重启 reboot

    导出配置dumpxml 例如:virsh dumpxml centos7 >centos7-offff.xml 删除undefifine 推荐:先destroy,在undefifine

    导入配置defifine

    修改配置edit(自带语法检查)

    用法virsh  edit  后面是服务名

    重命名domrename (低版本不支持) 挂起suspend 恢复resume 查询vnc端口号vncdisplay

    kvm虚拟机开机启动

    console 控制台 登录 kvm运行业务程序 autostart

    开机启动autostart,前提:systemctl enable libvirtd; 取消开机启动autostart --disable

    centos7的kvm虚拟机: grubby --update-kernel=ALL --args="console=ttyS0,115200n8"

    reboot  重启

    作业1:实现centos6的kvm虚拟机,console命令行登录? 安装一台centos6的kvm虚拟机,在安装的过程中需要

    swap 200m,selinux禁用,取消swap

    console命令行登录

    作业2:centos6实现没有swap分区,启动进系统4.6:kvm虚拟机虚拟磁盘格式转换和快照管理

    raw: 裸格式,占用空间比较大,不支持快照功能,性能较好,不方便传输 总50G 占用50G qcow2: cow(copy

    on write)占用空间小,支持快照,性能比raw差一点,方便传输 总50G 占用2G

    virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk

    /opt/centos2.raw,format=raw,size=10 --cdrom /opt/CentOS-7-x86_64-DVD-1708.iso --network network=default

    --graphics vnc,listen=0.0.0.0 --noautoconsole

    virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk

    /data/oldboy.qcow2,format=qcow2,size=10 --cdrom /data/CentOS-7.2-x86_64-DVD-1511.iso --network

    network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

    二、磁盘工具的常用命令

    qemu -img

    查看 info,

    创建create,

    修改resize,

    转换格式convert

    查看虚拟磁盘信息 qemu-img info test.qcow2

    创建一块qcow2格式的虚拟硬盘: qemu-img create -f qcow2 test.qcow2 2G

    调整磁盘磁盘容量 qemu-img resize test.qcow2 +20G

    raw转qcow2:qemu-img convert -f raw -O qcow2 oldboy.raw oldboy.qcow2 convert [-f fmt] [-O output_fmt]

    fifilename output_fifilename -c 压缩 virsh edit web01:

    <disk type='file' device='disk'>

    <driver name='qemu' type='qcow2'/>

    <source file='/data/centos2.qcow2'/>

    <target dev='vda' bus='virtio'/>

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

    </disk>

    virsh destroy web01 virsh start web01

    三、快照管理

    创建快照virsh snapshot-create-as centos7 --name install_ok

    查看快照virsh snapshot-list centos7

    还原快照virsh snapshot-revert centos7 --snapshotname 1516574134

    删除快照virsh snapshot-delete centos7 --snapshotname 1516636570

    raw不支持做快照,qcow2支持快照,并且快照就保存在qcow2的磁盘文件中

    四、克隆kvm虚拟机

    :kvm虚拟机克隆 virt-clone --auto-clone -o web01 -n web02 (完整克隆) ==自动的克隆虚拟机

    手动克隆虚拟机

    ```

    cp centos6.2.qcow2 6.2.1.qcow2

    virsh dumpxml centos6.2 >6.2.1.xml

    vim 6.2.1.xml

    virsh define 6.2.1.xml

    virsh start centos6.2.1

    virsh list --all

    #修改虚拟机名字

    #删除虚拟机的UUID

    #删除Mac地址

    #修改磁盘路径


    ```

    链接克隆

    1、

    # qemu-img create -f qcow2 -b centos6.2.qcow2 centos6.2.1.qcow2

    Formatting 'centos6.2.1.qcow2', fmt=qcow2 size=10737418240 backing_file='centos6.2.qcow2' encryption=off cluster_size=65536 lazy_refcounts=off

    2、生成虚拟机的配置文件

    virsh dumpxml centos6.2 >centos6.2.1.xml

    编辑虚拟机配置文件

    vim centos6.2.1.xml

    #修改虚拟机名字

    #删除UUID

    #更改磁盘路径

    #删除Mac地址

    3、

    virsh define  centos6.2.1.xml

    virsh start centos6.2.1

    virsh list --all

    a:生成虚拟机磁盘文件 qemu-img create -f qcow2 -b 49-web03.qcow2 49-web04.qcow2

    b:生成虚拟机的配置文件 49-web03 8e505e25-5175-46ab-a9f6-feaa096daaa4 c:导入虚拟机并进行启动测试

    kvm链接克隆 老虚拟机 新虚拟机 a.基于源磁盘文件,创建链接磁盘文件 qemu-img create -f qcow2 -b web02.qcow2 web03.qcow2b:

    生成虚拟机的配置文件

    virsh dumpxml web02 >web03.xml sed web03.xml sed web03.xml sed web03.xml

    sed web03.xml

    virsh defifine web03.xml virsh start web03

    c:导入虚拟机并进行启动测试 virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --

    memory 1024 --vcpus 1 --disk /opt/web04.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 -

    -noautoconsole

    9:kvm虚拟机的桥接网络 默认的虚拟机网络是NAT模式,网段192.168.122.0/24

    默认NAT模式 virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --memory 1024 --vcpus

    1 --disk /opt/web04.qcow2 --boot hd --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

    桥接模式 virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --memory 1024 --vcpus 1 --

    disk /data/web04.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole

    1:创建桥接网卡 virsh iface-bridge eth0 br0

    取消桥接网卡 virsh iface-unbridge br0

    2:virsh edit centos7

    <interface type='bridge'>

    <source bridge='br0'/>

    在宿主机上,重启虚拟机生效

    3:测试虚拟机网络

    10:热添加技术 kvm虚拟机在线热添加硬盘 临时生效 virsh attach-disk web04 /opt/oldboy.qcow2 vdb --

    subdriver qcow2 永久生效 virsh attach-disk web04 /opt/oldboy.qcow2 vdb --subdriver qcow2 --confifig

    作业3:扩容kvm虚拟机的根分区

    kvm虚拟机在线热添加网卡 kvm虚拟机在线热添加内存 kvm虚拟机在线热添加cpu

    qemu-img create -f qcow2 add01.qcow2 5G virsh attach-disk centos7 /data/centos7-add01.qcow2 vdb --

    subdriver=qcow2 virsh detach-disk centos7 vdb

    虚拟机磁盘扩容: 在kvm虚拟机,卸载 virsh detach-disk centos7 vdb qemu-img resize /data/centos7-

    add01.qcow2 +5G virsh attach-disk centos7 /data/centos7-add01.qcow2 vdb --live --cache=none --

    subdriver=qcow2

    在虚拟机中:xfs_growfs /dev/vdb

    根分区扩容: 1)在宿主机上关闭虚拟机并调整虚拟机磁盘大小 qemu-img resize oldboy.qcow2 +10G

    2)虚拟机中fdisk重新分区 fdisk /dev/vda

    3)重启之后,执行xfs_growfs /dev/vda1, 如果虚拟机磁盘文件系统是ext4:resize2fs /dev/vda1

    kvm虚拟机在线热添加网卡 virsh attach-interface web04 --type bridge --source br0 --model virtio detach

    interface web04 --type bridge --mac 52:54:00:35:d3:71

    kvm虚拟机在线热添加内存 virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --memory

    512,maxmemory=2048 --vcpus 1 --disk /data/web04.qcow2 --boot hd --network bridge=br0 --graphics

    vnc,listen=0.0.0.0 --noautoconsole

    相关文章

      网友评论

          本文标题:kvm的基础命令

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