針對無代理程式 VMware 移轉中的複寫緩慢或移轉停滯問題進行疑難排解
本文協助您針對您在使用 Azure Migrate:伺服器移轉無代理程式方法,複寫內部部署 VMware VM 複寫時,可能遇到的複寫緩慢或移轉停滯問題進行疑難排解。
注意
此端對端 VMware 移轉案例檔目前為預覽狀態。 如需使用 Azure Migrate 的詳細資訊,請參閱 Azure Migrate 產品檔。
VM 的複寫緩慢或停滯
執行複寫時,您可能會發現特定 VM 的複寫未以預期的速度進行。 一般而言,此問題的根本原因是複寫所需的某些資源無法使用或不足。 正在複寫的其他 VM 或在資料中心設備上執行的一些其他流程可能會耗用資源。
以下是一些通常會造成此問題的原因及其補救措施。
NFC 緩衝區大小很低
Azure Migrate 設備會在使用 32 MB NFC 緩衝區的條件約束下運作,以在 ESXi 主機上同時複寫 8 個磁碟。 小於 32 MB 的 NFC 緩衝區大小可能會導致複寫緩慢。 您也可以取得下列例外狀況:
例外狀況:GatewayErrorHandling.GatewayServiceException:作業失敗,錯誤為「記憶體配置失敗。 記憶體不足。」
補救
您可以增加超過 32 MB 的 NFC 緩衝區大小,以增加並行。 設定必須同時在 ESXi 主機和設備上完成。 如果沒有,複寫的執行效果可能會很差。
警告
將大小增加至 32 MB 以上可能會在環境中導致資源限制。 繼續之前,請洽詢系統管理員以了解其影響。
ESXi 主機中的變更
以根使用者身分透過 SSH 連線至 ESXi 主機。
使用 vi 編輯器開啟 “/etc/vmware/hostd/config.xml”。
尋找如下所示的區段:
<nfcsvc> <enabled>true</enabled> <maxMemory>134217728</maxMemory> <maxStreamMemory>10485760</maxStreamMemory> <path>libnfcsvc.so</path> </nfcsvc>
將
maxMemory
的值編輯為您想要為 NFC 緩衝區設定的值 (以位元組為單位)。 在此範例中,這會設定為 128 MB (128 * 1024 * 1024)。儲存並結束。
使用下列命令,從殼層重新啟動管理代理程式:
- /etc/init.d/hostd restart
- /etc/init.d/vpxa restart
設備中的變更
- 使用遠端桌面,以管理員身分登入 Azure Migrate 設備。
- 在 "%programdata%\Microsoft Azure\Config" 資料夾中開啟 GatewayDataWorker.json 檔案。
- 如果該檔案不存在,請建立空的 json 檔案,然後在新建的檔案中貼上下列文字。
{ "HostBufferSizeInMB": "32", }
- 將
HostBufferSizeInMB
的值變更為您在 ESXi 主機中設定的值。 - 儲存並結束。
- 重新啟動正在設備上執行的 Azure Migrate 閘道服務。 開啟 PowerShell 並執行下列命令:
- net stop asrgwy (等待服務停止)
- net start asrgwy
ESXi 主機可用的 RAM 很低
當複寫 VM 所在的 ESXi 主機太忙碌時,複寫流程會因為無法使用 RAM 而變慢。
補救
使用 VMotion 將複寫速度緩慢的 VM 移至不太忙碌的 ESXi 主機。
網路頻寬
複寫可能很慢,因為 Azure Migrate 設備可用的網路頻寬很低。 低頻寬可能是因為其他應用程式用光了頻寬,或存在頻寬節流應用程式或限制複寫設備使用頻寬的 Proxy 設定。
補救
如果頻寬低,您可以先減少使用網路頻寬的應用程式數目。 如果有任何節流應用程式或 Proxy 設定存在,請洽詢您的網路管理員。
磁碟 I/O
複寫可能會變慢,因為正在進行複寫的伺服器有太多的負載,這會在連結至其中的磁碟上導致高 I/O 作業。 建議您降低伺服器上的負載,以提高複寫速度。 您也可能遇到下列錯誤:
虛擬機器「VM 名稱」的上次複寫週期失敗。 遇到逾時事件。
如果未採取任何動作,複寫將會繼續進行並完成,但會出現延遲。
磁碟寫入速率
如果資料上傳速度高於您在啟用複寫時所選取磁碟的寫入速度,複寫速度可能會比預期慢。 若要在相同的上傳速度下取得更好的速度,您必須重新啟動複寫,並在選取磁碟類型進行複寫時選取 [進階]。
警告
評量期間建議的磁碟類型可能不是特定 VM 的 [進階]。 在此情況下,不建議您切換至進階磁碟以改善複寫速度,因為移轉後可能不需要將進階磁碟連結至此 VM。
VM 上的移轉作業停滯
當觸發特定 VM 的移轉時,您可能會發現移轉停滯在某個階段 (佇列或差異同步) 的時間超過預期。 一般而言,此問題的根本原因是移轉所需的某些資源無法使用或不足。 正在複寫的其他 VM 或在資料中心設備上執行的一些其他流程可能會耗用資源。 以下是一些通常會造成此問題的原因及其補救措施。
NFC 緩衝區大小很低
在針對第二個 VM 觸發移轉時,具有大型磁碟的伺服器若有 IR 週期進行中,第二個 VM 的移轉作業可能會停滯不前。 即使移轉作業具有高優先順序,NFC 緩衝區可能無法用於移轉。 在此情況下,建議您停止或暫停具有大型磁碟的伺服器進行初始複寫,並完成第二個 VM 的移轉。
進行中的差異同步週期未完成
如果在進行中的差異複寫週期期間觸發移轉,則會將其排入佇列。 VM 上的差異複寫週期會先完成,之後就會開始移轉。 觸發移轉所需的時間取決於完成一個差異同步週期所需的時間。
內部部署 VM 的關機時間比平常還要長
請嘗試移轉而不關閉 VM,或手動關閉 VM,然後移轉 VM。
下一步
深入了解如何移轉 VMware VM。