應用程式驅動的伺服器虛擬化方案 Oracle VM 第 2 回 (四)

上一節介紹 Oracle VM 中 OVM 的註冊及 NAS 注意重點 ,今節將介紹 Oracle VM 如何管理外掛程式及建立資料庫 。

管理外掛程式

目前針對 OVM 提供儲存管理外掛程式的廠家也比較多,比較確定的是 Sun ZFS,NetApps,HDS,甚至包括 EMC 等。有條件的情況下,還是建議能夠在 OVS 伺服器上針對各自的存放裝置部署儲存外掛程式,這樣可以有效地擴展儲存部分的功能。最後針對註冊完成的儲存,OVM 會自動對儲存存取鏈路配置多路徑。使用的是 Linux 系統上常用的多鏈路軟體 device-mapper-multipath,所以一般在生產環境中部署的時候,只需要確保 OVS 和存放裝置之間在物理上有多個鏈路連接,不用再去手動配置多路徑存取。

建立伺服器池

當儲存已經完全註冊好之後,接下來的步驟就是建立伺服器池了。伺服器池相當於一個高可用群集,在這個群集建立的過程中,會將剛才指定的用於伺服器池檔案系統的磁碟,格式化為 OCFS。並以此作為仲裁磁碟,同時將所有加入到這個群集中的 OVS 伺服器,配置為群集的節點。加入伺服器池中的其中一個 OVS,是要求被指定為 Master 伺服器。主要伺服器將代表整個伺服器池和 OVM Manager 通訊,並將 OVM Manager 所下發的所有命令,轉發到伺服器池中所有 OVS 上。所有的 OVS 都有機會成為 Master,為了達到這個目的,伺服器池在建立的時候,會需要配置一個浮動 IP 位址,浮動 IP 將由 Master 伺服器運行。當該主要伺服器異常當機,其他的 OVS 中會再重新選舉出一個 Master,來接替原來的主要伺服器。這個過程由每一個 OVS 的 remaster 進程實現,總之正常情況下,Master 這個角色是永遠存在的。

具體步驟

建立伺服器池的步驟非常簡單。當所有的共用儲存 LUN 已經被註冊之後,進入到 Servers and VMs 標籤,點擊 Create a Server Pool,在彈出的界面中指定伺服器池的名稱,留意浮動 IP 位址必須和 OVM 管理網路在同一個 IP 網路中,然後可以選擇 VM 啟動的策略。針對使用共用儲存的場景,必須勾選 Cluster Server Pool,並且選擇 Cluster 超時時間。Cluster 預設的超時時間是 120 秒,也就是說當群集中的某個節點超過 2 分鐘,都沒有獲得其他節點的心跳,或者向仲裁盤更新相關資訊,該節點將被執行 Fence 操作,也就是物理重啟。群集超時時間,最好需要根據實際環境中切換時間進行調整。例如有些環境中網路不是很穩定,而且交換機的收斂速度很慢,儲存多路徑切換也不快,那麼定義群集超時時間的時候可能會設置得長一些,從而避免因為網路閃斷又快速恢復以及儲存的多路徑鏈路切換而導致群集產生誤判斷,不過 120 秒這個設置可以滿足大多數環境的需求。最後在 Storage for Server Pool 中選擇儲存的類型,此處為 Physical Disk(圖 56)。

圖56:建立伺服器池檔案系統。
圖56:建立伺服器池檔案系統。

選取之前準備做仲裁盤的那個 LUN 進入下一步(圖 57),在這個過程中,OVM Manager 會挑任意一台 OVS 伺服器對仲裁盤執行格式化(圖 58),完成之後兩台 OVS Server 都將同時掛載該檔案系統(圖 59),完成之後,兩台 OVS 伺服器都,將自動從Unassigned Servers 資料夾進入到 Server Pool 中(圖 60)。而當任意登入到一台 OVS Server 後可以通過一些命令列參數來查看和確認整個 OCFS 檔案系統的狀態以及群集資訊(圖 61)。到此為止,整個伺服器池就算建立完成。

圖57:選取之前準備做仲裁盤的那個LUN。
圖57:選取之前準備做仲裁盤的那個LUN。

 

圖58:OVM Manager會挑任意一台OVS伺服器對仲裁盤格式化。
圖58:OVM Manager會挑任意一台OVS伺服器對仲裁盤格式化。
圖59:兩台OVS Server都將同時掛載該檔案系統。
圖59:兩台OVS Server都將同時掛載該檔案系統。
圖60:兩台OVS伺服器將自動進入到Server Pool中。
圖60:兩台OVS伺服器將自動進入到Server Pool中。
圖61:建立伺服器池之後OVS Server上看到的群集資訊。
圖61:建立伺服器池之後OVS Server上看到的群集資訊。

建立資料倉庫

資料倉庫 (Repository) 是用於集中存放 OVM 使用者資料的場所。所有虛擬機器相關資料,包括虛擬機器設定檔、磁碟檔、映像檔、範本、裝配集等都是存放在資料倉庫中的。在群集環境中,多個 OVS 伺服器共用一個或者多個資料倉庫,從所有節點上存取資料倉庫,看到的內容是一樣的。因此可以基於此實現高可用,負載均衡,線上遷移等各種遷移類操作。當使用 FC 和 ISCSI 儲存的時候,資料倉庫將預設使用 OCFS 群集檔案系統,通過鎖定機制,確保多個 OVS Server 上的虛擬機器,對同一個檔案系統的正常存取。OCFS 檔案系統也具有 Reflink 功能,OVM 自帶的瘦克隆功能 (Thin Clone) 也是基於此功能實現。如果當儲存類型是 NAS 時,資料倉庫將使用 NFS 檔案系統,因此和 OCFS 相關的功能如瘦克隆則無法實現,但是基於 NFS 的資料倉庫可以方便地在多個伺服器池之間切換和共用。

要建立一個資料倉庫, 首先切換到 Repository 標籤, 選擇 New, 在彈出的對話方塊中指定一個資料倉庫的名稱, 使用的儲存類型, 資料倉庫所在的伺服器池, 同時選擇使用哪個已經註冊的儲存 LUN 作為資料倉庫( 圖 62)。完成之後,OVM Manager 將運用主要伺服器對檔案系統進行格式化。格式化後該資料倉庫可同時被兩台 OVS 伺服器存取(圖 63)。完成配置之後,我們可以看到該資料倉庫已經提供給伺服器池使用(圖 64),一個資料倉庫被某 Serve Pool 或 OVS Server 存取,這個過程稱為 Present(圖 65)。

圖62:指定資料倉庫的名稱、儲存類型、及所在的伺服器池。
圖62:指定資料倉庫的名稱、儲存類型、及所在的伺服器池。

 

圖63:資料倉庫可同時被兩台OVS伺服器存取。
圖63:資料倉庫可同時被兩台OVS伺服器存取。

 

圖64:資料倉庫已經提供給伺服器池使用。
圖64:資料倉庫已經提供給伺服器池使用。

 

圖65:資料倉庫被某Serve Pool或OVS Server存取稱為Present。
圖65:資料倉庫被某Serve Pool或OVS Server存取稱為Present。

同時當一個資料倉庫建立之後, 在 OVM 管理界面上, 可以看到資料倉庫內自動建立了五個子倉庫 VM Templates、Assemblies、ISOs、Virtual Disks 及 VM Files, 分別用於存放虛擬機器範本、裝配集、ISO 映像檔、虛擬磁碟以及虛擬機器設定檔。如果切換到任何一台 OVS Server 中,通過存取資料倉庫的掛載點,便會發現這實際上就是建立在 OCFS 檔案系統上的五個檔目錄。日後除了通過管理界面存取虛擬機器,直接登入到 OVS 並通過命令列界面,也可以非常方便地找到和獲取某一個指定的資源(圖 66)。一般在一個伺服器池中,可以支援多個資料倉庫。虛擬機器可以在不同的資料倉庫之間遷移,不過這種遷移目前只能支援離線遷移。

圖66:在OVS Server中通過命令列可以方便地存取使用者資料。
圖66:在OVS Server中通過命令列可以方便地存取使用者資料。

需要注意的是,一般在建立資料倉庫的時候,最好確保使用的儲存 LUN 不要超過 10TB。因為在 OVM 上,只支援 10TB 的 LUN 格式化 OCFS 檔案系統。如果儲存 LUN 過大,在界面上執行資料倉庫的建立過程可能會報錯。針對這種情況,則需要在任意一台 OCFS 檔案系統上,手動執行 mkfs.ocfs2 命令格式化檔案系統。

mkfs.ocfs2 -Jblock64 -N 5 -L repos /dev/mapper/3600 [Enter]

完成之後務必要通過 tune2fs.ocfs2 命令的「--uuid-reset」選項,將該檔案系統的 UUID 改成 0004 開頭(需要在檔案系統 umount 狀態下操作),否則以後會帶來一些麻煩,具體情況我們會在後面予以介紹。而且完成之後有一個關鍵步驟,是手動建立 .ovsrepo 檔案。該檔案中必須定義 OVM Manager 的 UUID, 資料倉庫的 UUID 以及資料倉庫的顯示別名。如果 .ovsrepo 內容和 Manager 的 UUID 不匹配,OVM Manager 將無法對該資料倉庫進行管理。資料倉庫的 UUID 可以通過 u2info 命令取得,最後再到管理界面的 Storage 標籤中的 Shared File Systems 處進行 Refresh 操作,所有資訊無誤,資料倉庫才可以在 Repository 標籤處顯示出來。

下一節將會更深入介紹在 Oracle VM 匯入資料,緊貼 Linux Pilot 留意!

填妥以下登記表,下載由 Oracle 發表的 Oracle Linux 7: Optimizing Deployment Flexibility and Increasing ROI 研究報告,了解更多 Oracle Linux 的強大功能。

Fields marked with an * are required

你可能有興趣的內容

One thought on “應用程式驅動的伺服器虛擬化方案 Oracle VM 第 2 回 (四)

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *