logo
关于我们

技术分享

技术分享 Linux-KVM虚拟机的创建和快照命令

Linux-KVM虚拟机的创建和快照命令

2021-06-04

KVM:Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。

安装虚拟机脚本:

虚拟机的安装可以通过virt-manager管理工具新建,也可以使用命令来创建。图形界面创建和其他场上的虚拟化产品并无太大差异,这里我们使用命令创建虚拟机:

通过命令创建,我们将命令写入文件保存为一个.sh脚本文件,以便多次使用
[root@foundation80 ~]# cat > vm-create.sh << "EOF"
#!/bin/bash
virt-install \
--cdrom /iso/rhel-server-7.0-x86_64-dvd.iso \                   ##安装介质##
--ram 1024 \							##内存## 
--cpus 1 \							##CPU## 
--disk /var/lib/libvirt/images/$1.qcow2,size=9,bus=virtio \	##虚拟磁盘文件、大小、运行模式##
--name $1 \							##名称##
--network source=br0,model=virtio \				##配置网络,运行模式##
## 脚本运行格式:vm-create.sh 虚拟机名

执行脚本创建虚拟机:

[root@foundation80 ~]# ./vm-create.sh jinx
[root@foundation80 ~]# WARNING  No operating system detected, VM performance may suffer. Specify an OS with --os-variant for optimal results.

Starting install...
Allocating 'jinx.qcow2'                                     |  10 GB  00:00     
Creating domain...

弹出虚拟机窗口,进行系统的安装


虚拟机快照:

快照就是记录当前虚拟机的状态,以便随时恢复虚拟机

[root@foundation80 images]# cd /var/lib/libvirt/images/         ##默认虚拟磁盘文件存储目录
[root@foundation80 images]# qemu-img create -f qcow2 -b jinx.qcow2 node1.qcow2
                          ##qemu-img  create创建 -f格式 qcow2 -b 源文件 镜像文件
 Formatting 'node1.qcow2', fmt=qcow2 size=9663676416 backing_file='jinx.qcow2' encryption=off cluster_size=65536 lazy_refcounts=off

 我们可以将上面的命令写成sh文件,方便后期使用
[root@foundation80 images]#vim ~/vm-snapshot.sh
#!/bin/bash
qemu-img create -f qcow2 \                    ##创建快照,-f格式qcow2
-b /var/lib/libvirt/images/$1.qcow2 \         ##-b 源虚拟机磁盘文件
/var/lib/libvirt/images/$2.qcow2              ##目标路径
[root@foundation80 images]#chmod +x ~/snapshot.sh    ##添加执行权限

## 脚本运行格式:vm-snapshot.sh 虚拟机名 快照名
[root@foundation80 images]# cd /etc/libvirt/qemu/		##虚拟机配置文件目录
[root@foundation80 qemu]# ls
desktop.xml  jinx.xml  networks  server.xml

虚拟机控制命令:

[root@foundation80 qemu]# virsh list --all			##显示所有虚拟机
 Id    Name                           State
----------------------------------------------------
 -     desktop                        shut off
 -     jinx                           shut off
 -     server                         shut off


[root@foundation80 qemu]# virsh start jinx			##打开指定虚拟机
Domain Jinx started
[root@foundation80 qemu]# virt-viewer jinx			##显示指定虚拟机

(virt-viewer:7666): GSpice-WARNING **: PulseAudio context failed Connection refused

(virt-viewer:7666): GSpice-WARNING **: pa_context_connect() failed: Connection refused

(virt-viewer:7666): GSpice-WARNING **: Error calling 'org.gnome.SessionManager.Inhibit': GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files

[root@foundation80 qemu]# virsh destroy jinx			 ##关闭指定虚拟机
Domain Jinx destroyed

[root@foundation80 qemu]# systemctl restart libvirtd.service     ##重启虚拟机服务

一个虚拟机至少由两个文件组成,默认存放位置:

/etc/libvirt/qemu                 ##虚拟机配置文件

/var/lib/libvirt/images/        ##虚拟机磁盘文件

使用这两个文件,就可以对虚拟机完成迁移或恢复

[root@foundation80 qemu]# vim jinx.xml                           ##查看虚拟机配置文件的内容
  </disk>
 45     <disk type='file' device='disk'>
 46       <driver name='qemu' type='qcow2'/>
 47       <source file='/var/lib/libvirt/images/jinx.qcow2'/>    ##配置文件中记录的虚拟机磁盘位置
 48       <target dev='vda' bus='virtio'/>
 49       <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
 50     </disk>
##可以通过修改虚拟机配置文件中的磁盘路径,或移动虚拟机磁盘文件至配置文件中的路径,恢复虚拟机
命令示例:
[root@foundation80 qemu]# virsh create jinx.xml 	##通过配置文件启动虚拟机
Domain jinx created from jinx.xml

[root@foundation80 qemu]# virsh define Jinx.xml 	##通过配置文件添加虚拟机
Domain jinx defined from jinx.xml

[root@foundation80 qemu]# virsh undefine Jinx		##删除虚拟机配置文件
Domain jinx has been undefined
                                   
云祺备份软件,云祺容灾备份系统,虚拟机备份,数据库备份,文件备份,实时备份,勒索软件,美国,图书馆
  • 标签:
  • 云计算

您可能感兴趣的新闻 换一批

现在下载,可享30天免费试用

立即下载