如何在存儲中刪除多餘的XenDesktop計算機目錄對應的Basedisk

問題現象描述:

有用戶反映在Hypervisor存儲上同一個計算機目錄會有多個對應的同名baskdisk佔用存儲空間且不知如何清除

背景及原理:
Citrix Machine Creation Service(MCS)的原理不再這裏做詳細介紹,MCS的主要目的是根據一個虛擬機模板批量創建多一個虛擬機,我們這裏簡單回憶下MCS創建的步驟:

  1. 選擇桌面操作系統類型(服務器,桌面或RemotePC)
  2. 選擇電源託管和置備類型並指定需要使用的託管主機
  3. 選擇桌面類型(專有,池靜態,池隨機)
  4. 選擇模板或者快照(這裏推薦先創建快照然後選擇指定的快照,以方便用戶後續管理)
  5. 選擇創建的數量,內存,cache大小等
  6. 選擇對應的OU和命令規則
  7. 選擇scope並指定計算機目錄的名稱
    完成以上步驟後後續交給DDC去執行,無需用戶干預。這裏需要特別指出的步驟2中選擇的託管主機,託管主機的目的是配置創建機器需要是用的網絡,存儲和GPU資源等。在創建計算機目錄或者更新計算機目錄的過程中,MCS會在使用的託管主機中的每個存儲分別拷貝一個Basedisk(舉例:用戶XenServer資源池中配置10個共享存儲,但是託管主機中配置5個共享存儲,這裏會往指定的5個存儲上拷貝basedisk).

問題產生可能原因:

  1. 拷貝超時並不斷重試
  2. 用戶現有的VM沒有關聯到新的basedisk
  3. 沒有達到系統自動刪除的時間
  4. 其他原因

解決方法:

針對Citrix XenServer:

  1. 打開Citrix studio->查詢->確保沒有pending update(待定更新)的機器
    如何在存儲中刪除多餘的XenDesktop計算機目錄對應的Basedisk
    **Note: 或者通過Powershell “Get-BrokerMachine -ImageOutOfDate $true | select MachineName ” 來查看,如果能查詢到機器則重啓此機器,確保該查詢不返回任何VM再執行以下操作
  2. DDC上管理員權限運行Powershell並輸入asnp citrix來加載snapin
  3. 輸入Get-Provscheme查詢計算機目錄對應的ProvsioningSchemeUid和host(默認ProvsioningSchemeName爲計算機目錄名稱)
    如何在存儲中刪除多餘的XenDesktop計算機目錄對應的Basedisk
  4. 打開數據庫服務器找到表 [DesktopUpdateManagerSchema].[ProvisioningSchemeVMImageLocation],這張表中我們可以看到這個計算機目錄對應的存儲和basedisk對應的UUID
    如何在存儲中刪除多餘的XenDesktop計算機目錄對應的Basedisk
  5. 打開XenCenter找到上面步驟中對應的存儲id:
    如何在存儲中刪除多餘的XenDesktop計算機目錄對應的Basedisk
  6. 從步驟4.5以看到在此存儲上對應正在使用的basedisk的UUID,這裏我們記錄下,因爲多個basedisk存在的時候它們名稱相同,我們只能通過uuid來區分。
  7. 回到XenServer命令行通過以下命令來重命名正在使用的basedisk,其他沒有被重命名的即可以通過xencenter進行刪除
    如何在存儲中刪除多餘的XenDesktop計算機目錄對應的Basedisk

參考以上步驟刪除其他存儲上的basedisk即可

針對VMWare Esxi

  1. 參考上述步驟1
  2. 通過客戶端或者網頁瀏覽VMWare對應的datastore,這裏我們可以看到同一個計算機目錄對應多個basedisk
    如何在存儲中刪除多餘的XenDesktop計算機目錄對應的Basedisk
    3.關閉此計算機目錄中的任一臺計算機並瀏覽其磁盤所在的文件夾找到-xd-delta.vmdk的文件並下載到本地
    如何在存儲中刪除多餘的XenDesktop計算機目錄對應的Basedisk
  3. 文本編輯器打開此文件我們可以看到正在使用的basedisk
    如何在存儲中刪除多餘的XenDesktop計算機目錄對應的Basedisk
  4. 刪除步驟2中查詢到的其他basedisk即可。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章