透過 iSCSI 連結 disk array
最近把兩台 Dell PowerEdge R610 透過 iSCSI(IP-SAN) 走 10GBase-T/RJ45 掛上 Dell PowerVault MD3800i,簡單地說就是 server 需要大容量的儲存空間,又不想要太貴的光纖介面,折衷一下。 iSCSI 不只可以用在 disk array 和 server 之間的連接,也不一定要 10G ,用一般 server 也可以挖一塊硬碟空間透過 ip 層來掛給另一台機器用。被掛的機器上要設定 iSCSI target ,掛的機器上要設定 iSCSI client,由於 MD3800i 的 iSCSI target 是透過 Dell 的 PowerVault Modular Disk Storage Manager(MDSM) 軟體來管理,所以這邊就不提 iSCSI target 怎麼 initialize ,以下教學假設 MD3800i 或 disk array 已做好 raid 、 切好 virtual disk 、 disk group
實驗環境
Prerequisite:
- disk array 上的硬碟共 4TB * 12,4 顆作 raid 10 約 7T ,8 顆作 raid 10 ,約 14 T (自行依需求配置)
- 兩台 server 灌 CentOS 7
- 一台筆電裝好 MDSM 軟體
Resource: PDF: Dell PowerVault MD3800i 部署指南
Network:
iSCSI Client | int | Client IP | Target IP | Cotroller | Port |
---|---|---|---|---|---|
server1 | p1p1 | 192.168.130.18 | 192.168.130.20 | 0 | 0 |
server1 | p1p2 | 192.168.131.18 | 192.168.131.15 | 1 | 1 |
server2 | p1p1 | 192.168.130.19 | 192.168.130.15 | 1 | 0 |
server2 | p1p2 | 192.168.131.19 | 192.168.131.20 | 0 | 1 |
Goal: 依照架構圖,透過 iSCSI 各掛上一顆 Virtual Disk,這個架構的好處是每台 server 的 10G 網卡兩個 port 各接 disk array 的一個 controller ,可以避免單點失效,在 client 端就要設 multipath 告訴系統這兩張卡看到的 iSCSI storage 是同一顆
安裝步驟
安裝時會在 client 和 target 之間交錯,這裡以 server1 作例子, server2 請如法炮製,但是要換 ip
client 端: server1
|
|
檢查一下,把不屬於 server1 的 portal 砍掉
登入,如果需要登出,結尾 l->u
target 端
- 設定 Host (略)
- 設定 Host Mapping (略)
client 端
這時 lsblk
應該可以看到那顆 VD ,輸出長得像
然後來裝 multipath (如果網卡不需要 failover ,可以跳過 multipath)
一個簡單的 multipath.conf
如下
|
|
這時候再 $ lsblk
可以看到 mpath 出現,然後用 gparted 把 /dev/mapper/mpatha1 格式化(略)
格式化完,$ sudo mkdir /data
並在 /etc/fstab
最後一行下面加
|
|
用 $ sudo mount -a
掛起來看看,用 $ df -h | grep data
檢查
如果出現上述輸出表示掛成功了 :)