前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >KVM虚拟机管理

KVM虚拟机管理

作者头像
星哥玩云
发布2022-09-15 21:23:00
1K0
发布2022-09-15 21:23:00
举报
文章被收录于专栏:开源部署

一、虚拟机基本管理

虚拟机管理方法:

  • virt-manager
  • cockpit web控制台
  • virsh命令

1.1.1、virt-manager管理工具

1.1.2、cockpit管理工具

1.1.3、virsh命令用法

a、virsh交互界面

代码语言:javascript
复制
[root@zutuanxue ~]# virsh
欢迎使用 virsh,虚拟化的交互式终端。

输入:'help' 来获得命令的帮助信息
       'quit' 退出

virsh # list
 Id    名称                         状态
----------------------------------------------------

b、shell 命令行使用virsh

代码语言:javascript
复制
[root@zutuanxue ~]# virsh list
 Id    名称                         状态
----------------------------------------------------

c、查看虚拟机

代码语言:javascript
复制
virsh # list --all
 Id    名称                         状态
----------------------------------------------------
 -     rhel8                          关闭
 -     win10                          关闭

d、虚拟机启动、关闭、重启

代码语言:javascript
复制
虚拟机启动
virsh # start rhel8
域 rhel8 已开始

virsh # list --all
 Id    名称                         状态
----------------------------------------------------
 12    rhel8                          running
 -     win10                          关闭
 
虚拟机关闭 
virsh # shutdown rhel8
域 rhel8 被关闭

virsh # list --all
 Id    名称                         状态
----------------------------------------------------
 -     rhel8                          关闭
 -     win10                          关闭
 
#强制关闭
virsh # destroy rhel8
域 rhel8 被删除

virsh # list --all
 Id    名称                         状态
----------------------------------------------------
 -     rhel8                          关闭
 -     win10                          关闭
 
#重启虚拟机,前提是必须是启动状态 
virsh # reboot rhel8 
域 rhel8 正在被重新启动

e、虚拟机挂起与恢复

代码语言:javascript
复制
#挂起虚拟机
virsh # suspend --domain rhel8 
域 rhel8 被挂起

virsh # list --all
 Id    名称                         状态
----------------------------------------------------
 12    rhel8                          暂停
 -     win10                          关闭
 
#恢复虚拟机 
virsh # resume --domain rhel8 
域 rhel8 被重新恢复

virsh # list --all
 Id    名称                         状态
----------------------------------------------------
 12    rhel8                          running
 -     win10                          关闭

二、虚拟机模板

模板介绍:

模板类似于生活中的模具,可以根据模具制作出很多一模一样的产品。模板在计算机中应用是比较多的,用户可以根据模板去批量生成应用。

虚拟机模板作用:

  • ​ 批量生成虚拟机
  • ​ 缩短部署时间
  • ​ 提升工作效率

模板制作步骤

删除 ssh 主机密钥:rm -rf /etc/ssh/ssh_host_*

在 /etc/hostname 中设置 HOSTNAME=localhost.localdomain。

从 /etc/sysconfig/network-scripts/==ifcfg-ens*==中删除 HWADDR 行和 UUID 行。

另外,从 /var/log 中删除所有日志,从 /root 中删除 build 日志。

关机,备份模板机硬盘

代码语言:javascript
复制
生成模板硬盘,保存,用于后续可以复制出来N多个这样的硬盘,让虚拟机直接导入使用

根据模板机生成虚拟机

  • 复制模板硬盘
  • 创建虚拟机,导入硬盘
代码语言:javascript
复制
virt-install --name centos8-3 --memory 1024 --vcpus 2 --disk /var/lib/libvirt/images/centos8-3.qcow2,bus=virtio,format=qcow2 --import  --os-variant win10   --network network=default

三、虚拟机快照管理

  • 创建快照
  • 查看快照
  • 删除快照
  • 还原快照

快照创建方法:

  1. LVM快照
  2. 基于qcow2磁盘格式创建快照

3.1、 基于KVM的虚拟机快照

创建快照

KVM快照是基于LVM快照来实现的,具体操作方法是:

  • 创建一个LV,假设为node1_disk
  • 创建虚拟机使用现有LV:node1_disk
  • 安装系统并做好应用 [创建快照之前]
  • 关闭虚拟机
  • 创建kvm的快照:node1_disk_snap
  • 修改虚拟机磁盘使用快照磁盘:node1_disk_snap
代码语言:javascript
复制
虚拟机使用的是快照盘 
还原虚拟机就是基于原盘再做一次快照,继续使用快照就可以了

还原快照

  • 关闭虚拟机
  • 删除kvm的快照:node1_disk_snap
  • 创建新快照:node1_disk_snap
  • 开机

拓展知识点-lvm

代码语言:javascript
复制
#创建lv kvm_disk
[root@zutuanxue ~]# lvcreate -n kvm_disk -L5G  cl 
  Logical volume "kvm_disk" created.
 
#生成lv快照
[root@zutuanxue ~]# lvcreate -n kvm_disk_snap -L 5G -s /dev/cl/kvm_disk 

#删除快照
[root@zutuanxue ~]# lvremove /dev/cl/kvm_disk_snap 
Do you really want to remove active logical volume cl/kvm_disk_snap? [y/n]: y
  Logical volume "kvm_disk_snap" successfully removed

3.2、KVM自带快照功能

创建快照: snapshot-create-as

代码语言:javascript
复制
命令格式	
virsh   snapshot-create-as   虚拟机的名称  snapshot的名称

#为rhel8创建一个快照
virsh # snapshot-create-as rhel8 web01
已生成域快照 web01

查看快照

代码语言:javascript
复制
#查看快照
virsh # snapshot-list rhel8
 名称               生成时间              状态
------------------------------------------------------------
 web01                2020-03-21 00:37:35 -0400 running
 

#查看快照信息
virsh # snapshot-info --domain rhel8 --snapshotname web01 
名称:       web01
域:          rhel8
当前:       是
状态:       running
位置:       内部
上级:       -
下级:       0
降序:       0
元数据:    是 

还原快照

代码语言:javascript
复制
#命令格式
virsh snapshot-revert 虚拟机的名称 --snapshotname  快照名称

#还原快照web01
virsh # snapshot-revert --domain rhel8 --snapshotname web01 

删除快照

代码语言:javascript
复制
virsh # snapshot-delete --domain rhel8 web01 
已删除域快照 web01

扩展:raw磁盘转换qcow2方法

代码语言:javascript
复制
qemu-img命令
-f  源镜像的格式   
-O 目标镜像的格式

#a、转换磁盘格式
[root@zutuanxue ~]# qemu-img convert -fraw -O qcow2 /var/lib/libvirt/images/win10.img /var/lib/libvirt/images/win10.qcow2

#b、修改xml文件定义磁盘格式
[root@zutuanxue ~]# vim /etc/libvirt/qemu/win10.xml
<disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/var/lib/libvirt/images/win10.qcow2'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </disk>

#c、重启服务生效
[root@zutuanxue ~]# systemctl restart libvirtd.service

思考:如何将其他格式的磁盘 转换为qcow2

代码语言:javascript
复制
qemu-img  -f原格式 -O转换后的格式  源磁盘路径   转换后的磁盘路径
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、虚拟机基本管理
    • 1.1.1、virt-manager管理工具
      • 1.1.2、cockpit管理工具
        • 1.1.3、virsh命令用法
        • 二、虚拟机模板
        • 三、虚拟机快照管理
          • 3.1、 基于KVM的虚拟机快照
            • 3.2、KVM自带快照功能
            相关产品与服务
            对象存储
            对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档