欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

kvm虚拟机管理基础

程序员文章站 2022-06-26 10:15:34
部署 KVM 虚拟机 a.kvm 安装 环境:centos7,cpu 支持虚拟化,关闭 selinux,关闭 firewalld libvirt 服务:管理kvm虚机的生命周期 virt-install 工具:创建安装虚机 qemu-kvm 工具:使用 qemu-img 为虚机提供磁盘 b.启动 l ......

部署 kvm 虚拟机

a.kvm 安装

环境:centos7,cpu 支持虚拟化,关闭 selinux,关闭 firewalld

yum install libvirt virt-install qemu-kvm -y

libvirt 服务:管理kvm虚机的生命周期

virt-install 工具:创建安装虚机

qemu-kvm 工具:使用 qemu-img 为虚机提供磁盘

b.启动 libvirtd 服务

systemctl start libvirtd

c.在 windows 上安装 tightvnc

tightvnc 官网:http://www.tightvnc.com

vnc 是一个跨平台的远程桌面软件,安装 kvm 虚拟机系统的时候使用

d.为 kvm 虚机安装系统

virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name test --memory 1024 --vcpus 1 --disk /opt/test.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

e.启用 console 连接

grubby --update-kernel=all --args="console=ttys0,115200n8"

 

kvm 虚拟机管理

virsh list --all    #查看虚拟机
virsh start <domain>    #开机
virsh shutdown <domain>    #关机
virsh destroy <domain>    #强制关机
virsh suspend <domain>    #挂起
virsh resume <domain>    #恢复
virsh define <domain>    #导入配置
virsh undefine <domain>    #删除
virsh edit <domain>    #修改配置
virsh dumpxml <domain> > name.xml    #导出配置
virsh domrename <domain> name    #重命名
virsh autostart <domain>    #自动启动
virsh autostart --disable <domain>    #禁止自动启动
virsh vncdisplay <domain>    #为vnc显示输出ip地址和端口号

 

kvm 磁盘格式转换

raw:裸格式,占用空间比较大,不适合远程传输,不支持快照功能,性能较好

qcow2:cow(copy on write)占用空间小,适合传输,支持快照,性能比 raw 稍差

#创建虚拟磁盘
qemu-img create test.raw  10g
qemu-img create -f qcow2 test.qcow2 10g

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

#调整虚拟磁盘容量大小
qemu-img resize test.raw +5g

#磁盘格式转换
qemu-img convert -f raw -o qcow2 test.raw test.qcow2

 

kvm 快照管理

#创建快照
virsh snapshot-create <domain>

#查看快照
virsh snapshot-list <domain>

#还原快照
virsh snapshot-revert <domain> --snapshotname 1516574134(unix时间戳)

#删除快照
virsh snapshot-delete <domain> --snapshotname 1516636570

 

kvm 克隆

完整克隆

virt-clone -o <domain> --auto-clone

链接克隆

qemu-img create -f qcow2 -b test.qcow2 test-clone.qcow2
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name test-clone --memory 1024 --vcpus 1 --disk /opt/test-clone.qcow2,format=qcow2,size=10 --boot hd --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

手动克隆

1:克隆虚拟磁盘文件
cp test.qcow2 test-clone.qcow2
2:生成新的虚拟机配置文件
virsh dumpxml test > test-clone.xml (修改name,删除uuid,修改disk路径,删除mac地址)
3:测试启动
virsh define test-clone.xml

 

kvm 虚机桥接网络

#创建桥接网络
virsh iface-bridge eth0 br0

#基于桥接网络创建虚机
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name test --memory 1024 --vcpus 1 --disk /opt/test.qcow2,format=qcow2,size=10 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole

将虚机修改为桥接网络

virsh edit test

    <interface type='bridge'>
      <mac address='52:54:00:55:aa:fa'/>
      <source bridge='br0’/>