本土 SAN——拓撲構想?
我對使用以下技術在 Linux 上手動推出 SAN 解決方案很感興趣:
- iSCSI
- mdadm 突襲
- lvm
- 多路徑
- xfs/gfs/???
- 組合 NIC
硬體方面,我正在考慮在目標和啟動器上使用多個 gigE NIC 的 2 個 gigE(或更好)交換機。
人們對如何配置這個有什麼建議,理想情況下,假設完全 n+1 (min) 冗餘?
另外,我是否需要一組位於 iSCSI“結構”中間的聚合器主機?像這樣的東西:
目標(使用 mdadm)<-gigE-> 聚合器主機(lvm)<-gigE-> 啟動器
還是做這樣的事情更好:
目標(無鏡像) <-gigE-> 聚合器主機 (mdadm) <-gigE-> 啟動器 (lvm)
有很多方法可以設計這個,我很想知道其他人在做類似事情時可能有什麼經驗?
SAN 將用於 VMware 映像和通用文件服務(加上一些數據庫,如果可行的話)。
這是一個非常主觀的問題,並且非常取決於您要完成的工作。
此外,你問了一些相當低級的問題,這讓我相信你以前沒有在這個領域工作過,這沒關係,我們都從零開始,然後從那裡升級。
鑑於這兩個觀察結果,我建議您從小處著手,然後逐步提高。
$$ 1 $$首先從不同主機上的 iSCSI 啟動器(客戶端)和 iSCSI 目標(伺服器)開始。它們可以是直通電纜,也可以通過交換機,此時無關緊要。玩一會兒。添加更多目標,在您的客戶端上從您的 iSCSI 目標中創建一個 mdadm RAID(如果您的所有 iSCSI 目標現在都來自一個主軸,請不要擔心)。然後開始在您的客戶端上使用 LVM。創建多個 PV,將它們添加到 VG,然後創建一個 LV。擴展你的 LV。創建 LV 的快照鏡像。 真正深入研究 LVM,它將成為您所做的一切的關鍵。
接下來添加第二個 iSCSI 目標伺服器。我還建議在這一點上獲得一個支持 LACP 和一些管理的體面的交換機。Procurve 1800 系列交換機是一個很好的底端,Cisco SG-300 也是如此。交換機管理和功能將在以後變得更加重要,但現在投資它們是一個好主意。此時,如果有兩台 iSCSI 目標伺服器,您將需要沖洗泡沫,重複您在擁有一台伺服器時所做的操作。如果您真的想玩得更開心,請添加第二個啟動器,並讓它掛載相同的 iSCSI 目標。當您嘗試讓兩個系統寫入同一個 EXT3 卷時會發生什麼?將您的捲轉換為 GFS 之類的東西(涉及更多,但這是目前的目標)。現在當兩個主機寫入同一個卷時會發生什麼?
現在讓我們為所有客戶添加兩個網卡。現在您需要了解網路綁定
$$ 2 $$. 有哪些不同的模式,它們有何不同。在連接的每一端執行一些頻寬測量工具,用各種綁定模式淹沒鏈路。當您混合模式以使每一端不匹配時會發生什麼?當您使用與 LACP 兼容的模式並且您的交換機配置為執行 LACP 時會發生什麼$$ 3 $$? 泡沫沖洗重複您對上述儲存所做的操作。 從綁定介面中刪除您的介面。為目標伺服器上的每個介面分配一個唯一的 IP。確保您的目標伺服器將通過每個介面共享它的 iSCSI 目標。現在使用兩個不同的 IP 地址掛載您的 iSCSI 目標。當你給每個人寫信時會發生什麼?現在配置多路徑
$$ 4 $$,然後玩一會兒。關閉目標伺服器的 NIC 之一(如果關閉設備等,請移除電纜)您在日誌中看到什麼?性能如何提高/降低? 現在添加第二個網路交換機。您可以將網路介面加倍,也可以將它們拆分到交換機上。你應該使用什麼樣的綁定模式?您應該在兩個交換機之間建立連結嗎?是否需要啟用 STP?
現在你的學習接近尾聲了,你已經接近了師徒的水平。你不知道這一切,但你比大多數人有更好的理解基礎。從這裡您將更好地了解如何建構儲存基礎架構。如果您使用光纖通道或 ATAoE,技術將會發生變化,但主要概念將是相同的。
有用的網路資源:
$$ 1 $$ http://www.cyberciti.biz/tips/rhel-centos-fedora-linux-iscsi-howto.html
$$ 2 $$ http://www.linuxfoundation.org/collaborate/workgroups/networking/bonding
$$ 3 $$ http://en.wikipedia.org/wiki/Link_aggregation
$$ 4 $$ http://sources.redhat.com/lvm2/wiki/MultipathUsageGuide 我將把它打開,讓每個人都可以編輯。