2018-08-03

Gust OS on Hyper-V 2016 Backup Issue

最近開始進行 VM 備份的作業
架構是將數台 Hyper-V 2012 R2 上的 Guest VM 先複寫到一台肚子很大的 Hyper-V 2016
再用另一台肚子也很大的來把 Hyper-V 2016 上的複本 VM 備份起來
在過程中遇到了一個很奇怪且嚴重糟糕的問題

先說明一下在備份作業開始時, 備份軟體會先把 VM 做一個 Recovery Check Point
然後備份完再把 Recovery Check Point 刪除
而遇到的問題是某一台 VM 在備份完成時會無法刪除 Recovery Ckeck Point
且 Status 會卡在 Applying Replication Changes 之類的狀態

該狀態無論按 Cancel、Remove Replica、Delete VM 等各種強制手段都無法結束
一定要將 VMMS Service Stop (但 Stop 一定會失敗) 然後重開機
再在開機後 VMMS Service 一啟動馬上下指令 Remove-VMCheckPoint - Name "oooooo" 才能移除
若是開機一陣子, VMMS Service 已經跑起來了, 他就又會陷入 Applying Changes 的狀態


經過數日不眠不休的研究與查資料
無論是將 Host OS 跑 Windows Update 到最新, 或是更新備份軟體到最新, 都無法解決
最後找到一篇說 DC 備份的問題會跟 Check Point Type 有關
雖然這篇文章的問題本身與這次遇到的備份問題無關, 但是給了靈感

https://superuser.com/questions/1070464/cannot-create-checkpoint-on-hyper-v-0x800423f4

This is a known issue for pre-2016 DCs running in VMs on 2016/Win10 Hypervisors.
The problem is the new Production Checkpoint architecture.
If you change the Checkpoint type to Standard in the VM's settings, the Checkpoint will succeed.

於是檢查發現所有複寫過去的 VM 就只有出問題的這台不知為什麼 Check Point Type 是 Production
這個設定項目在 Hyper-V 2012 R2 上沒有, 只有在 Hyper-V 2016 上面才有
其他 VM 的 Type 都是 Standard, 不知為什麼就這一台自己變成 Production
而這台 VM 的作業系統是 Windows Server 2012 R2
Production Check Point 很像必須要搭配新版本的 Hyper-V Integration Services Component 才能運作
總之把它改成 Standard Check Point 後備份成功了
但還必須要觀察後續備份是否會持續成功
因為之前還在找問題的時候也有一次有成功, 但後續就連續失敗了


2018.08.13

今天還是失敗了, 而因為備份的是 Replica 的 VM
所以決定嘗試將 Replica Pause 後再跑 Backup, 結果就成功了
後續還要再觀察, 如果說真得是這樣的話
可能要在開始備份之前先下指令把 Replica Pause
不然一直備份失敗不是辦法

沒有留言:

張貼留言