日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Hyper-V虚拟机自动添加检查点和导出备份

發(fā)布時(shí)間:2023/12/4 编程问答 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hyper-V虚拟机自动添加检查点和导出备份 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

背景說(shuō)明


筆者使用Hyper-V在內(nèi)部搭建了大量的環(huán)境和系統(tǒng),比如:

  • k8s內(nèi)部集群

  • Azure Devops Server(TFS==>VSTS==>Azure Devops Server)

  • SharePoint

  • 大部分基本上都是用于內(nèi)部研究、測(cè)試等場(chǎng)景,但是為了避免很多麻煩,必要的備份還是必須的。

    虛擬化的最大優(yōu)勢(shì)之一是能夠輕松地保存虛擬機(jī)的狀態(tài)。如果各個(gè)系統(tǒng)或環(huán)境都需要獨(dú)立備份,這是一個(gè)很大的工作量,先不說(shuō)全量備份和差異備份的方式,單單就各自的備份處理實(shí)現(xiàn)就是一個(gè)很麻煩的事情。而基于虛擬機(jī),我們僅需通過(guò)檢查點(diǎn)保存虛擬機(jī)的狀態(tài)即可。

    檢查點(diǎn)類型


    Windows 10 Hyper-V 包括兩種類型的檢查點(diǎn):

    • 標(biāo)準(zhǔn)檢查點(diǎn): 在啟動(dòng)檢查點(diǎn)時(shí)拍攝虛擬機(jī)和虛擬機(jī)內(nèi)存狀態(tài)的快照。 快照并非完整備份,并可能導(dǎo)致系統(tǒng)在 Active Directory 等不同節(jié)點(diǎn)之間復(fù)制數(shù)據(jù)時(shí)出現(xiàn)數(shù)據(jù)一致性問(wèn)題。 Hyper-V 只提供 Windows 10 之前的標(biāo)準(zhǔn)檢查點(diǎn)(以前稱為快照)。

    • 生產(chǎn)檢查點(diǎn): 在 Linux 虛擬機(jī)上使用卷影復(fù)制服務(wù)或文件系統(tǒng)凍結(jié)來(lái)創(chuàng)建虛擬機(jī)的數(shù)據(jù)一致性備份。 沒(méi)有獲取任何虛擬機(jī)內(nèi)存狀態(tài)的快照。

    檢查點(diǎn)的類型可以通過(guò)界面操作來(lái)完成,也可以通過(guò)以下命令:

    Set-VM -Name <vmname> -CheckpointType ProductionSet-VM -Name <vmname> -CheckpointType Standard

    使用命令管理檢查點(diǎn)


    Hyper-V支持通過(guò)命令來(lái)添加檢查點(diǎn)。主要命令如下所示:

    Checkpoint-VM -Name <VMName>

    比如我們的虛擬機(jī)名稱為“TFS”,我們就可以使用以下命令來(lái)進(jìn)行添加檢查點(diǎn):

    Checkpoint-VM -Name TFS

    如何查看已創(chuàng)建的檢查點(diǎn)呢?可以使用以下命令:

    Get-VMCheckpoint -VMName <VMName>

    關(guān)于檢查點(diǎn)的其他命令還有:

    • 還原檢查點(diǎn):

    Restore-VMCheckpoint -Name <checkpoint name> -VMName <VMName> -Confirm:$false
    • 重命名檢查點(diǎn)

    Rename-VMCheckpoint -VMName <virtual machine name> -Name <checkpoint name> -NewName <new checkpoint name>
    • 刪除檢查點(diǎn)

    Remove-VMCheckpoint -VMName <virtual machine name> -Name <checkpoint name>
    • 導(dǎo)出檢查點(diǎn)

    Export-VMCheckpoint -VMName <virtual machine name> -Name <checkpoint name> -Path <path for export>

    更多命令見(jiàn):

    get-command -module hyper-v

    編寫(xiě)備份腳本


    熟悉了以上命令,我們可以編寫(xiě)備份腳本如下所示:

    # 備份路徑(備份路徑不要和虛擬機(jī)位置在一個(gè)盤)$exportPath = "E:\虛擬機(jī)備份\"# 需要備份的虛擬機(jī)列表$vmNames = "TFS", "SharePoint"
    $vmNames | ForEach-Object -Process { Write-Host "準(zhǔn)備備份 $_" # 設(shè)置備份路徑 $path = [System.IO.Path]::Combine($exportPath, $_, [System.DateTime]::Now.ToString("yyyy-MM-dd")) [System.IO.Directory]::CreateDirectory($path)
    if ([System.IO.Directory]::GetDirectories($path).Length -eq 0) { Write-Host "備份路徑 $path"
    Write-Host "正在創(chuàng)建檢查點(diǎn) $_" # 創(chuàng)建檢查點(diǎn) Checkpoint-VM -Name $_ $checkPoint = Get-VMCheckpoint -VMName $_ | Select-Object -Last 1
    Write-Host "正在導(dǎo)出檢查點(diǎn) $_" # 導(dǎo)出檢查點(diǎn)到備份路徑 Export-VMCheckpoint -VMName $_ -Name $checkPoint.Name -Path $path
    Write-Host "備份已完成 $_" }else { Write-Host "備份已存在 $_" }}

    接下來(lái)就可以添加到Windows的計(jì)劃任務(wù)里面,使用管理員權(quán)限執(zhí)行即可。不過(guò),其實(shí)這僅僅是開(kāi)始,通常情況下,我們還需考慮日志記錄等等。

    總結(jié)

    以上是生活随笔為你收集整理的Hyper-V虚拟机自动添加检查点和导出备份的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。