將伺服器虛擬化到 SAN 上的最佳實踐?
好的,所以我想開始比以往更多地利用我的 SAN,同時利用 ESXi。
目前,我有一個連接到單機箱 EMC AX4-5 FC 儲存陣列的 Dell PowerEdge 1955 刀片陣列。我基本上將 SAN 用作 DAS。我在 SAN 上有指向特定物理機器的 LUN,這些機器將 LUN 用於任何用途(主要是數據庫和 Samba/NFS 共享,具體取決於目標伺服器)。
我有多個物理文件伺服器,每個都有一個 samba 配置設置來提供適當的共享。由於我從來沒有讓 RHCS 工作,因此一次只有一個文件伺服器安裝了 LUN。如果文件伺服器當機,我會手動將其隔離(通過解除安裝和取消顯示驅動器、使用 navisphere 實用程序或通過 DRAC 關閉電源)然後使用 navisphere 實用程序在下一個競爭者上顯示提供的 LUN(之後,啟動 apache 和其他守護程序)。全部手動,現在。
我感覺有點像 Ferris Bueller 在吹單簧管。從來沒有上過課!
無論如何,我正在努力改進。我想做的是在物理主機上安裝 ESXi,然後創建 LUN 來保存兩個文件伺服器映像(以防一個損壞/fubar),其中一個將是活動的,另一個將是備用。至少這樣,我並沒有提高自動化(雖然我很快就會寫一個腳本來切換“活動”伺服器),但我覺得我正在增加靈活性,而且我可以使用ESXi 主機來容納其他虛擬機,並且不會像現在一樣浪費硬體。
我的問題是:
1)我的計劃有多愚蠢?
2)在實際實施中,我應該在 LUN 上創建一個普通的 vmdk 映像,還是應該給它一個“原始”分區(如果 ESXi 甚至可以這樣做?)
3)是否有使用非集群文件伺服器的“好”方法?
你的計劃並不瘋狂。像往常一樣,根據您要實現的目標以及如何保護數據,有多種方法可以解決此問題。
首先,您可以使用“原始設備映射”將原始 LUN 呈現給 VM。去做這個:
- 將 LUN 提供給 ESXi 主機(或主機組,如果要使用集群/HA)
- 將磁碟添加到 VM,選擇原始設備映射,指向 LUN
- 重新掃描 VM 內的 SCSI 匯流排
- fdisk,掛載並添加到 fstab,就像普通磁碟一樣。
優點:快速設置、快速使用、簡單,如果您發現自己需要 V2P,可以將磁碟表示為物理主機
缺點:您可能會失去一些基於 VMware 的快照/回滾選項,具體取決於您使用的是物理兼容模式還是虛擬兼容模式
另一種選擇是在 LUN 上創建 VMFS 以創建數據儲存,然後將 VMDK 磁碟添加到位於該數據儲存上的 VM。
- 好處:如果您購買了使用它的許可證,它對 Storage vMotion 友好。這允許在 LUN 甚至 SAN 之間熱遷移 VMDK 磁碟。
在這兩種情況下,如果 VMware 或您的 VM 在故障期間吃掉文件系統,您將處於類似的風險位置;一種並不比另一種好很多,儘管可用的恢復選項將完全不同。
除非必須,否則我不會部署 RDM;我發現它們並沒有給我帶來作為 VMDK 的太多靈活性(而且我一直被錯誤所困擾,這些錯誤使它們在執行其他儲存操作時變得不切實際(自修復以來 - 請參閱該連結中的 RDM 部分))
至於您的虛擬機,您最好的選擇是將文件伺服器的啟動磁碟作為 VMDK 儲存在 SAN 上,以便在主機發生故障時讓其他主機啟動它。使用 VMware 的 HA 功能,在另一台主機上啟動您的 VM 是自動的(VM 將在第二台主機上啟動,就好像電源已被拉斷一樣;期望執行通常的 fsck 和魔術來啟動它,就像在普通伺服器的情況下一樣)。請注意,HA 是一項許可功能。
為了緩解 VM 故障,您可以建構文件伺服器的輕量級複製,其中包含啟動所需的最低限度並讓 SAMBA 在配置狀態下啟動,並將其儲存在每個主機的本地磁碟上,等待您從虛擬機失敗並打開電源。
在 SAN 故障的情況下,這可能會或可能不會為您購買額外的選擇;最好的情況下,您的數據儲存將需要 fsck 或其他修復,但至少您不必在頂部修復、重建或配置 VM。最壞的情況是,您失去了數據並需要返回磁帶……但無論如何您已經處於那種狀態。