KVM虛擬機快照備份

来源:https://www.cnblogs.com/liucx/archive/2019/11/01/11777336.html
-Advertisement-
Play Games

KVM 快照的定義:快照就是將虛機在某一個時間點上的磁碟、記憶體和設備狀態保存一下,以備將來之用。它包括以下幾類: (1)磁碟快照:磁碟的內容(可能是虛機的全部磁碟或者部分磁碟)在某個時間點上被保存,然後可以被恢復。 磁碟數據的保存狀態: 在一個運行著的系統上,一個磁碟快照很可能只是崩潰一致的(cra ...


KVM 快照的定義:快照就是將虛機在某一個時間點上的磁碟、記憶體和設備狀態保存一下,以備將來之用。它包括以下幾類:

(1)磁碟快照:磁碟的內容(可能是虛機的全部磁碟或者部分磁碟)在某個時間點上被保存,然後可以被恢復。

磁碟數據的保存狀態:

在一個運行著的系統上,一個磁碟快照很可能只是崩潰一致的(crash-consistent) 而不是完整一致(clean)的,也是說它所保存的磁碟狀態可能相當於機器突然掉電時硬碟數據的狀態,機器重啟後需要通過 fsck 或者別的工具來恢復到完整一致的狀態(類似於 Windows 機器在斷電後會執行文件檢查)。(註:命令 qemu-img check -f qcow2 --output=qcow2 -r all filename-img.qcow2 可以對 qcow2 和 vid 格式的鏡像做一致性檢查。)

對一個非運行中的虛機來說,如果上次虛機關閉的時候磁碟是完整一致的,那麼其被快照的磁碟快照也將是完整一致的。

磁碟快照有兩種:

   內部快照 - 使用單個的 qcow2 的文件來保存快照和快照之後的改動。這種快照是 libvirt 的預設行為,現在的支持很完善(創建、回滾和刪除),但是只能針對 qcow2 格式的磁碟鏡像文件,而且其過程較慢等。

   外部快照 - 快照是一個只讀文件,快照之後的修改是另一個 qcow2 文件中。外置快照可以針對各種格式的磁碟鏡像文件。外置快照的結果是形成一個 qcow2 文件鏈:original <- snap1 <- snap2 <- snap3。

 

(2)記憶體狀態(或者虛機狀態):只是保持記憶體和虛機使用的其它資源的狀態。如果虛機狀態快照在做和恢復之間磁碟沒有被修改,那麼虛機將保持一個持續的狀態;如果被修改了,那麼很可能導致數據corruption。

系統還原點(system checkpoint):虛機的所有磁碟的快照和記憶體狀態快照的集合,可用於恢復完整的系統狀態(類似於系統休眠)。

 

一、記憶體(狀態)快照   virsh save     ---不建議

對運行中的 CentOS7運行 “virsh save” 命令。命令執行完成後,CentOS7變成 “shut off” 狀態。

創建快照

virsh list
virsh save --bypass-cache CentOS7  /opt/backup/vm1_save --running

記憶體數據被保存到 raw 格式的文件中。要恢復的時候,可以運行 “vish restore /opt/backup/vm1_save” 命令從保存的文件上恢復。

 

二、磁碟快照   virsh snapshot-create-as

1.創建快照備份

virsh snapshot-create-as --domain CentOS7 --name snap-test1 --description "URL: www.test.com"
virsh snapshot-list CentOS7

2.查看當前虛擬機鏡像文件

qemu-img  info /opt/kvm/centos7.img

快照配置文件在/var/lib/libvirt/qemu/snapshot/虛擬機名稱/下

3.恢復虛擬機快照

(1) 恢復虛擬機快照必須關閉虛擬機。

virsh  list –all
virsh shutdown CentOS7

確認虛擬機是關機狀態

 

(2) 確認需要恢復的快照時間,然後確定恢復到snap-test1

(3) 執行恢復,並確認恢復版本

4.刪除虛擬機快照

virsh snapshot-delete CentOS7 snap-test1

 

 

 

 

參考文檔:https://www.cnblogs.com/sammyliu/p/4468757.html

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 什麼是Linux? Linux是一個操作系統中的內核,我們通常所說的Linux,指 的是GNU/Linux ,即採用Linux內核的GNU操作系統。 Linux發行版 CentOS:相容RHEL的格式【免費】 Fedora:每6個月發行一個新版本 【企業的測試版】 目前Slackware debia ...
  • Nginx七層負載均衡的幾種調度演算法   Nginx是一款輕量級的高性能web伺服器,同時也是一款非常優秀的負載均衡器和反向代理伺服器。由於支持強大的正則匹配規則、動靜分離、URLrewrite功能及安裝配置簡單且對網路穩定性依賴非常小等優點,所以常用來做為七層負載均衡使用。在硬 ...
  • 本文是《詳細解讀 Spring AOP 面向切麵編程(一)》的續集。 在上篇中,我們從寫死代碼,到使用代理;從編程式 Spring AOP 到聲明式 Spring AOP。一切都朝著簡單實用主義的方向在發展。沿著 Spring AOP 的方向,Rod Johnson(老羅)花了不少心思,都是為了讓我 ...
  • 棧空間:用戶棧和內核棧 程式的執行流程 進程其實都是在執行任務,而任務其實就是函數定義的(函數也稱為方法、子程式等,本質都一樣),所以進程的作用就是不斷的執行函數。程式啟動時,第一個要執行的函數是main()函數(有些語言隱藏了這個函數,但任何程式一定會有一個程式入口函數),然後在main()函數中 ...
  • 回到目錄 本小節我們以2N4123通用型BJT硅基晶體管為例,來介紹如何閱讀BJT的數據規格書,點此鏈接可以閱讀和下載2N4123的數據規格書。 1. 總體性能 打開datasheet後,首先看標題: 圖3-8.01 可以看到,這是2N4123、2N4124共用的一個datasheet,而且是通用型 ...
  • 學前理論 linux主要特征 :一切且文件(目錄、硬碟等都是文件);硬體都在/dev 目錄,如硬碟、U盤為/dev/sd[a d]; /dev/sr0(/dev/cdrom)是光碟機的設備名(df命令查看),為設備文件,代表的是光碟機本身,得把這個設備掛載到目錄下(一般為/mnt)(文件系統的臨時掛載點 ...
  • 對於記憶體監控,在top里我們要時刻監控第五行swap交換分區的used,如果這個數值在不斷的變化,說明內核在不斷進行記憶體和swap的數據交換,這是真正的記憶體不夠用了 ...
  • Docker概述 Docker是一個用於開發,交付和運行應用程式的開放平臺。 Docker優勢 更快速的交付和部署 對於開發人員 Build Once, Run Anywhere 容器意味著環境隔離和可重覆性。開發人員只需為應用創建一次運行環境,然後打包成容器便可在其他機器上運行。另外,容器環境與所 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...