如何使用xen phoenix(bash)免費恢復citrix xen vms

您是否曾經需要為災難恢復(DR)解決方案批次恢復Citrix Xen虛擬機器,或者只是為了測試備份是否正常工作?HTG解釋瞭如何使用xenphoenix(一個免費的bash指令碼)進行VM恢復。...

如何使用xen phoenix(bash)免費恢復citrix xen vms

您是否曾經需要為災難恢復(DR)解決方案批次恢復Citrix Xen虛擬機器,或者只是為了測試備份是否正常工作?HTG解釋瞭如何使用xenphoenix(一個免費的bash指令碼)進行VM恢復。

圖片來源:Ryan McCurdy via Compfight cc

正如我們在“如何使用Xen pocalypse免費備份Citrix Xen VMs”中提到的,Citrix Xen的優點之一是它的許多特性都是免費的。也就是說,如果您想要“自動VM保護和恢復”功能,就必須開始為“Advance”許可證付費。再次強調,這並不是說我們HTG不重視真正的備份解決方案的價值,而是如果您的預算很緊,已經從虛擬機器監控程式中獲取了虛擬機器映像,並且需要一種自動化“測試還原”/“DR重新整理”過程的方法,那麼在進行備份之前,您可能會發現Xen Phoenix是一個非常合理的解決方案預算承諾。

概述

“用例”:您有幾個需要恢復的vm。在“Xen Center”中使用右鍵單擊匯入可以正常工作,但是您希望此過程自動並按計劃進行。這個Bash指令碼使用“XE”命令來執行其職責。XE是Xen命令列介面(CLI),自動等效於在“Xen中心”中發出“右鍵單擊”。我們將從Cron呼叫指令碼,它將提供“排程”部分。在最簡單的形式中,還原流是:

  • 刪除伺服器上所有*以前存在的虛擬機器
  • 從備份位置的檔案匯入虛擬機器。
  • 透過逐個啟用並查詢來賓工具心跳來驗證所有vm是否可操作。
  • 發現心跳訊號或達到超時時關閉VMs。

*可以完全禁用deleteallvms行為並支援異常(見下文)。

讓我們開始吧:)

獲取指令碼

XenPhoenix可以使用常規git方法從github免費獲得。也就是說,如果你還不精通git,你可以透過這個連結獲取zip檔案。由於指令碼需要在一個Xen伺服器上執行,因此應該在那裡提取它,以便保留執行許可權。

wget https://github.com/aviadra/Xen-phoenix/archive/master.zip unzip master

雖然上面的方法可行,但是建議您使用GIT方法,這樣您就可以從將來的更新中受益。

匯出位置

我們需要配置從何處獲取VM匯出。

在Citrix Xen中隨機瀏覽時,我發現儲存庫(SRs)可以在“/var/run/sr mount/%UUID%”下使用,其中UUID是sr的唯一識別符號,可以從GUI獲得。

這意味著我們可以使用常規的“下一步->下一步->完成”嚮導將“裝載”建立到所需的備份位置,然後讓指令碼使用該路徑(這可能會影響從命令列裝載,這超出了本指南的範圍)。

要建立新的“mount”,請右鍵單擊伺服器名稱並選擇newsr。

如何使用xen phoenix(bash)免費恢復citrix xen vms

在本例中,我們將Xen指向Windows共享,因此選擇“Windows檔案共享(CIFS)”:

如何使用xen phoenix(bash)免費恢復citrix xen vms

完成下一步->下一步->完成。

獲取SR的UUID

要獲得SR的UUID,只需在Xen中心單擊它的名稱並轉到“General”選項卡。

如何使用xen phoenix(bash)免費恢復citrix xen vms

要複製UUID,只需右鍵單擊它並選擇“複製”。

如何使用xen phoenix(bash)免費恢復citrix xen vms

有了這些資訊,您就可以編輯設定檔案了。

配置設定檔案

xenphoenix專案附帶了一個“設定”檔案模板。應編輯此模板以反映您的設定,並將其作為第一個引數傳遞給指令碼。

設定檔案指定以下內容:

  • 源匯出的位置—如果您已經按照指南進行了這一步,則只需將%UUID%替換為SR,因為它是從上面獲得的。
  • sendmail的位置–如果您選擇啟用Email,則需要在此處輸入提取perl可執行檔案的位置。
  • Verifier—這控制還原後驗證過程。這在預設情況下是啟用的,因為成功的“檔案級恢復”並不一定意味著一個功能正常的VM。
  • Server_prep-此選項控制DR伺服器上所有虛擬機器的預還原刪除。這在預設情況下是啟用的,因為假定DR伺服器是用於此目的的專用伺服器。如果需要不刪除此伺服器上執行的VM,請將其配置為排除。如果此行為不適合您的情況,只需完全禁用它。
  • 電子郵件詳細資訊—同樣,如果啟用了電子郵件,則需要定義詳細資訊,例如:to、From、Servername/IP等。
  • 除錯–預設情況下,使用值“0”(零)關閉除錯。您不需要開啟它,但如果打開了,更多資訊將在故障排除部分中顯示。

執行

此指令碼將設定檔案作為其第一個引數,並將任何其他引數作為要搜尋的“V形符號”(用空格分隔)。符號是“字串”,它支援正則表示式,這些正則表示式至少表示VM匯出所需檔名的一部分。

也就是說,在最簡單的形式中,對Xen phoenix的呼叫如下所示:

./Xen-phoenix.sh settings.cfg DevTools

在上面的情況下,我們在儲存指令碼的目錄中&設定檔案和指令碼將查詢的“Chevron”是“DevTools”。這將導致匯入名為“DevTools”字串的匯出目錄中的所有檔案。

更復雜的示例可以如下所示:

./Xen-phoenix.sh settings.cfg [Aa][Dd] [Bb][iI] [Dd]ev[Tt]ools

其中,在上述示例中,將匯入包含單詞“devtools”拼寫為大寫“D”和“T”或非大寫字母的檔案,以及包含或不包含大寫字母的“AD”和“BI”的檔案。

行程安排

如上所述,我們將使用Cron來安排執行。在我們進入配置之前,強烈建議您在Xen伺服器上配置已經安裝的SSMTP包。雖然這是一個可選步驟,但這樣做會給您一個“反衝洗”收集器。擁有這樣一個“反衝洗收集器”可能會提醒您指令碼無法完成的事情。

透過發出以下命令進入cron的編輯模式:

crontab -e

如果您已按照上述說明進行操作,並且希望新增週日01:31(凌晨1:31)的定時備份,請輸入以下內容:

31 01 * * sun /root/Xen-phoenix-master/Xen-phoenix.sh /root/Xen-phoenix-master/settings.cfg [Aa][Dd] DB [Bb][iI] [Dd]ev[Tt]ools

假設您的指令碼和設定檔案都在“/root/Xen phoenix master/”下,上述內容是正確的。

獲取sendemail(可選)

我們以前寫過sendmail perl程式,所以這裡不需要重複。可以說,它在Linux上的工作方式與在Windows上的工作方式相同。

雖然啟用電子郵件是可選的,但強烈建議這樣做,因為這樣指令碼將能夠:

  • 開始和結束執行時通知您。
  • 提醒您它能夠檢測和處理的任何錯誤。

下載到Xen伺服器並解壓縮。

wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz tar xvzhf sendEmail-v1.56.tar.gz

請注意將其提取到的位置。設定檔案需要它。

定義“delete exception”標記(可選)

Xen Phoenix從它的祖先(Xen Pocalypse)獲取一個頁面,並允許您使用控制標記從系統範圍的刪除中精確地排除VM。為此,您需要定義一個新的“自定義欄位”。

為此,請開啟伺服器甚至虛擬機器的屬性。在導航窗格中,選擇“自定義欄位”。

如何使用xen phoenix(bash)免費恢復citrix xen vms

如果這是您第一次定義“自定義欄位”(如上面的示例所示),那麼您將沒有“Phoenix\u keeper”欄位來輸入資料,因此需要建立它。為此,在彈出的對話方塊中單擊“編輯自定義欄位”,然後單擊“新增…”

如何使用xen phoenix(bash)免費恢復citrix xen vms

建立一個名為“Phoenix\u keeper”的“文字”型別欄位。

注意:自定義欄位的名稱已被“硬編碼”到指令碼中,因此不能偏離上面的拼寫,除非同時更改相關程式碼。

建立欄位後,您應該看到:

如何使用xen phoenix(bash)免費恢復citrix xen vms

關上窗戶。您現在應該有“鳳凰守護者”欄位來填充,如下圖所示。

如何使用xen phoenix(bash)免費恢復citrix xen vms

現在,您所要做的就是用一個註釋填充這個欄位(任何註釋都可以),這將導致Xen phoenix在刪除時跳過它。

故障排除

雖然我花了很多精力使指令碼儘可能簡單易用,儘可能簡單,但“世界是一個更大的實驗室”。下面的資訊可以幫助你確定你的麻煩的來源。

登入中

所有“日誌記錄”都由執行syslog機制中指令碼的Xen主機收集。當然,可以透過以下方式檢視:

less +F /var/log/messages

你要找的關鍵詞是“鳳凰城”。

注意:Citrix為其伺服器的syslog設定了兩(2)天保留策略。你可能想在驗屍時記住這一點。

除錯

如設定檔案段中所述,有一個指令用於啟用除錯。啟用除錯將導致指令碼向控制檯輸出詳細日誌記錄,並禁止它傳送電子郵件和實際執行匯入,除非還設定了相關標誌。可能的標誌在設定檔案模板中有註釋,它們使您能夠精確地定義要除錯的內容。

我希望你不需要任何除錯,你正在收穫我的勞動成果:)


想想所有的貧窮,仇恨和謊言,想象一下你所鄙視的一切的毀滅。慢慢地從灰燼中,鳳凰會升起…

  • 發表於 2021-04-11 20:17
  • 閱讀 ( 36 )
  • 分類:網際網路

你可能感興趣的文章

雲端計算(cloud computing)和虛擬化(virtualization)的區別

...礎設施資源最佳化的相關術語。虛擬化是雲端計算概念中使用的一種技術。虛擬化是根據需求使用相同的硬體基礎架構來構建多個虛擬伺服器。例如,假設您需要一個Windows伺服器和一個Linux伺服器用於不同的用途,您可以使用虛...

  • 發佈於 2020-10-25 17:01
  • 閲讀 ( 55 )

qubes os 3.2:最安全的linux作業系統

... 但與在虛擬機器中執行作業系統不同,Qubes使用虛擬化來隔離應用程式。例如,web瀏覽器與檔案瀏覽器處於不同的環境中。這樣,如果漏洞被利用並在系統上執行命令,攻擊就會被遏制。 ...

  • 發佈於 2021-03-14 14:08
  • 閲讀 ( 54 )

面向偏執狂的linux作業系統:最安全的選擇是什麼?

... 無論您敏感工作的性質如何,您都將受益於這五種安全的Linux作業系統之一。 ...

  • 發佈於 2021-03-14 19:20
  • 閲讀 ( 48 )

如何在手機或平板電腦上開啟excel檔案

... 如何以本機方式開啟電子表格 ...

  • 發佈於 2021-03-17 01:08
  • 閲讀 ( 62 )

適用於windows10的最佳android模擬器

... 差距並沒有持續太久。雖然Phoenix作業系統與Remix同時開發,但自從Remix被淘汰後,Phoenix已經成為Windows10修改後的Android模擬器環境的首選。我們有一個關於如何在Windows10系統上安裝Phoenix作業系統的教...

  • 發佈於 2021-03-20 17:52
  • 閲讀 ( 61 )

如何定製mac終端並使其更有用

...個新手,現在堅持預設的bashshell是可以的。但你應該知道如何在需要的時候切換它們。 ...

  • 發佈於 2021-03-21 20:13
  • 閲讀 ( 58 )

如何重新格式化外部硬碟而不丟失其上的所有內容

... 如何在windows上重新格式化驅動器 ...

  • 發佈於 2021-03-21 23:31
  • 閲讀 ( 58 )

使用phoenix os建立自己的android pc

想做一臺安卓電腦嗎?這很簡單。基於Android-x86專案的Phoenix作業系統可以在臺式機(或膝上型電腦)上安裝Android。另一方面,它不會執行Chrome瀏覽器的完整版本(Chrome非常快)。畢竟,這是一個移動作業系統。 ...

  • 發佈於 2021-03-22 01:57
  • 閲讀 ( 66 )

索尼終於讓你改變你的psn id了

...而這僅僅花了12年的時間才得以實現。這意味著人們堅持使用他們在2006年選擇的同一個PSN ID,最終將能夠把它改成更成熟的東西。 ...

  • 發佈於 2021-03-23 09:25
  • 閲讀 ( 43 )

在pc和mac上玩android遊戲的7款最佳輕量級模擬器

... Phoenix OS不僅僅是一個模擬器,而是一個基於Android的完整作業系統。這給它帶來了一個優勢,因為Phoenix作業系統提供了比任何Android模擬器更好的效能。 ...

  • 發佈於 2021-03-28 01:30
  • 閲讀 ( 76 )
brightprobl
brightprobl

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦