如何通过virsh命令实现rbd/qcow2虚机的内存快照

实现内存快照的方案

一,本地qcow2虚机

  1. 可通过virsh snapshot-create-as bda1a2da-9ece-49fa-b99f-48a6367592bc --name snap01为虚机磁盘和内存打快照
  2. 通过virsh snapshot-revert bda1a2da-9ece-49fa-b99f-48a6367592bc --snapshotname snap01 --running 回滚快照到虚机

二,云盘虚机

云盘虚机不支持用snapshot-create-as的方式来打磁盘和内存快照,可用下面方式:

  1. 为保证硬盘快照和内存快照制作时间点一致,先执行virsh suspend <domain>, 把虚机置为paused状态
  2. 执行virsh save <domain> 为云盘虚机打一个内存快照存到本地,但有个问题是虚机会被关机,因此之后需要做完操作后,再把虚机启动起来
  3. 执行rbd snap create <volumeid>为云盘虚机打一个硬盘快照
  4. 需考虑内存快照是否要上传到ceph存储,不上传放在本地也可以
  5. 虚机恢复:虚机先关机,1)执行rbd snap rollback回滚硬盘快照; 2)执行 virsh restore <savefile>将虚机restore成running状态

下面是virsh命令使用的具体分析

virsh save; virsh restore

save命令操作: 将一个running或paused虚机的状态保存为一个文件,同时可以指定restore的时候是running还是paused到xml文件中,--bypass-cache表示忽略文件系统cache,--xml表示用一个已存在的xml文件更新到目标状态文件中, 执行save后,虚机关机

# virsh help save
  NAME
    save - save a domain state to a file

  SYNOPSIS
    save <domain> <file> [--bypass-cache] [--xml <string>] [--running] [--paused] [--verbose]

  DESCRIPTION
    Save the RAM state of a running domain.

  OPTIONS
    [--domain] <string>  domain name, id or uuid
    [--file] <string>  where to save the data
    --bypass-cache   avoid file system cache when saving
    --xml <string>   filename containing updated XML for the target
    --running        set domain to be running on restore
    --paused         set domain to be paused on restore
    --verbose        display the progress of save

# virsh save 4407dfde-379b-4189-869d-20fa46764baf fhltest01.save --running --verbose
Save: [100 %]
Domain 4407dfde-379b-4189-869d-20fa46764baf saved to fhltest01.save
# virsh dominfo 4407dfde-379b-4189-869d-20fa46764baf
Id:             -
Name:           instance-00001a0a
UUID:           4407dfde-379b-4189-869d-20fa46764baf
OS Type:        hvm
State:          shut off
CPU(s):         2
Max memory:     2097152 KiB
Used memory:    2097152 KiB
Persistent:     yes
Autostart:      disable
Managed save:   no
Security model: none
Security DOI:   0

虚机restore: restore时可以指定虚机恢复成running或者paused

# virsh help restore
  NAME
    restore - restore a domain from a saved state in a file

  SYNOPSIS
    restore <file> [--bypass-cache] [--xml <string>] [--running] [--paused]

  DESCRIPTION
    Restore a domain.

  OPTIONS
    [--file] <string>  the state to restore
    --bypass-cache   avoid file system cache when restor
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
virsh命令是用于管理虚拟机的命令行工具。要给虚机配置IP地址,可以按照以下步骤进行操作: 1. 首先,使用virsh命令连接到宿主机的hypervisor。可以使用以下命令连接到本地的QEMU/KVM hypervisor: ``` virsh connect qemu:///system ``` 2. 接下来,使用virsh命令创建一个虚拟网络,例如名为virbr0的桥接网络。假设我们要为虚机分配IP地址的范围为192.168.122.2到192.168.122.254,子网掩码为255.255.255.0,可以使用以下命令创建虚拟网络: ``` virsh net-create <<EOF <network> <name>virbr0</name> <forward mode='nat'/> <bridge name='virbr0' stp='off' delay='0'/> <ip address='192.168.122.1' netmask='255.255.255.0'> <dhcp> <range start='192.168.122.2' end='192.168.122.254'/> </dhcp> </ip> </network> EOF ``` 3. 创建完虚拟网络后,可以使用virsh命令创建一个虚拟机,并将其连接到虚拟网络。例如,使用以下命令创建名为vm1的虚拟机: ``` virt-install --network network=virbr0,model=virtio --name vm1 --ram 2048 --vcpus 2 --disk path=/path/to/disk.img,size=10 --graphics none --location /path/to/os.iso --extra-args 'console=ttyS0,115200n8 serial' ``` 4. 虚拟机创建完成后,可以使用virsh命令虚机配置静态IP地址。首先,通过以下命令获取虚拟机的域ID: ``` virsh list --all ``` 然后,使用以下命令配置虚机的静态IP地址,假设虚拟机的域ID为1,IP地址为192.168.122.100,可以使用以下命令: ``` virsh domifaddr 1 --domain vm1 --source agent --interface vnet0 --xml ``` 以上就是使用virsh命令配置虚拟机IP地址的步骤。使用virsh命令进行虚拟机的管理和配置可以提高虚拟机的灵活性和可控性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值