[Windows][VirtualLab]Windows 2012 iSCSI Target Server

[Windows][VirtualLab]Windows 2012 iSCSI Target Server

我從網路上找了一段說明來解釋 iSCSI:「iSCSI: it is an industry standard protocol allow sharing block storage over the Ethernet. The server shares the storage is called iSCSI Target. The server (machine) consumes the storage is called iSCSI initiator. Typically, the iSCSI initiator is an application server. For example, iSCSI Target provides storage to a SQL server, the SQL server will be the iSCSI initiator in this deployment.」

image

 

而我個人的經驗是在幾年之前,因為遇到一些舊主機上的硬碟空間不足且狀況不斷的狀況下,加上硬碟的規格又比較老舊,因此開始接觸使用 iSCSI 的相關技術。當時主要是配合 Synology 的 DS1511+ 的設備,上面安裝 5 顆 2TB 的 SATA 的硬碟做 RAID 5 後,可以切割多個 LUN 之後讓舊主機透過 CAT 6 的網路線連接,讓這些主機都可以有 1TB 的空間存取。而在這段期間內雖然有發生硬碟故障的狀況 ,雖然當下速度會稍微有點感受變慢了,但還是不會影響主機的正常工作,而在新的硬碟更新上去並且重建完成之後,又恢復了正常的運作。另外在 Hyper-V 的考試過程中,由於要用模擬的 iSCSI,當時在 Windows 2008 R2 上面是要另外安裝一套  iSCSI Software Target 3.3 (下載),安裝好之後再做相關設定就可以讓 Windows 模擬 iSCSI Server,讓其他主機來連接使用。

 

而在最近測試 Windows 2012 的過程中,發覺他已經內建在 OS 內了,原本想說那只是減少要下載的處理,似乎沒有太大的需要去注意的地方。但此次在 Windows 2012 好文比賽中有個 Configuring a Highly Available iSCSI Target 的 Lab,在此次微軟把 iSCSI 配合 Windows Server Failover Clustering (WSFC),看起來蠻有意思的,也就順手玩了一下。

 

在這個 Lab 中微軟一次提供您五個 VM 來使用,其中有一台 DC ( Domain Controller ),兩台 iSCSI Target Server ( Node1, Node2 ),兩台模擬 iSCSI initiator ( 實際上應該只需要用到一台 Server 1就可以了 ),這個 Lab 是蠻容易的,但有幾個關鍵點可能要注意一下:

 

  1. 每個 Virtual Lab 所使用的 Port 都不同,因此如果防火牆有限制對外連線的 Port 的時候要注意是否有把 TCP 21000 ~ TCP 22000 這些 Port 允許連接,否則可能就只看到文件而無法使用 Lab。
  2. 建議一開始的時候先把 DC 給重新啟動 ( 可以用指令 shutdown –r –t 0 ),啟動後會要求您更改 Administrator 的密碼,更改之後再去把 Node1 和 Node2 給重新啟動;在 Node1 和 Node2 上面可以先使用 iSCSICPL 檢查是否有順利連接到 Starage 上面,如果沒有的會則會導致後續的過程中會失敗。
  3. 過程中會在 Node1 或者是 Node2 上面下指令建立 VHD 檔案,此時要特別注意在 Failover Cluster Manager 上面去查看一下目前 iSCSI Target 的 Owner 是哪台主機,則要到該台主機下面去下指令。
  4. 當 Server 1 連接 Cluster 上的 iSCSI Target ,並且 Mount 成為自己的硬碟的時候也要注意一下,因為 Lab 環境下的磁碟機代號 e 已經被光碟機所使用,因此可能要指定為磁碟機代號 F。

 

如果對於 iSCSI 操作有興趣的人可以試試看,此次微軟的 Sample 很多都是使用 PowerShell 的指令來操作,因此還可以順便學一些蠻實用的指令,算是一舉數得的 Lab。

 

參考資料: