透過 Windows iSCSI 儲存服務,使用 QNAP 企業級儲存設備


最後修訂日期: 2019-07-11

建立儲存空間與前置準備

在 NAS 上建立 iSCSI Target 與 iSCSI LUN

Step 1: 登入QES管理主畫面後,點選「Storage Manager」圖示。

Step 2: 進入「Storage Manager」設定後,在左側選擇「iSCSI Storage」項目,應會自動跳出快速設定精靈,點選「OK」。

Step 3: 選擇「iSCSI Target with a mapped LUN」,再點選「Next」。

Step 4: 確認NAS即將建立一個iSCSI Target與iSCSI LUN,再點選「Next」。

Step 5: 可視需求勾選是否使用CHAP認證,如無特殊需求保持預設即可,再點選「Next」。

Step 6: 勾選想要用來傳輸的網路埠,如無特殊需求保持預設全勾即可,再點選「Next」。

Step 7: 在這一步需要把伺服器加入允許連接名單,點選「Create Host」。

Step 8: 「Host」欄位輸入欲新增的伺服器名稱,按下「IPv4 Address/Subnet」右邊「+」鈕,再輸入伺服器端的IP或網段,與子網路遮罩,最後點選OK。

Step 9: 在最下方「Operating System」欄位中,選擇伺服器端的作業系統,再點選「Apply」。

Step 10: 再次確認所加入的伺服器清單,IP區段是否正確,且其存取權限都是「All Access」。

Step 11: 此步驟中,可設定iSCSI LUN名稱、位置、大小、效能最佳化等選項,若無特別需求按照預設即可。

Step 12: 再次確認所有資訊與設定是否正確,若正確無誤請直接點選「Next」。

Step 13: 若無遭遇錯誤,系統將顯示成功建立訊息。

Step 14: 回到「Storage Manager」>「iSCSI Storage」畫面中,點選並展開剛剛建立的iSCSI Target,如果能看到下方有一個iSCSI LUN,代表已經順利建立成功。

伺服器端發起iSCSI initiator連線

Step 1: 開啟Server Manager管理介面後,點選右上方「Tools」>「iSCSI Initiator」工具。

Step 2: 如是第一次使用iSCSI Initiator功能,系統應會詢問是否開啟iSCSI服務,點選「Yes」確認。

Step 3: 點選上方「Discovery」標籤,再按下右側的「Discover Portal」按鈕。

Step 4: 在「IP address」欄位輸入NAS資料埠的IP位置,「Port」欄位維持預設3260即可。

Step 5: 如無其他錯誤,應可看到Target入口清單已經成功加入NAS資料埠IP。

Step 6: 點選上方「Targets」標籤,可以成功看到NAS上的iSCSI Target清單,再點選下方「Connect」按鈕。

Step 7: 系統自動跳出「Connect To Target」視窗,直接點選右下方「OK」按鈕即可。

Step 8: 回到「Targets」視窗,顯示iSCSI Target已經成功連結,點選下方「OK」鍵離開。

啟動MPIO功能

安裝伺服器端MPIO服務

Step 1: 開啟Server Manager管理介面後,點選中央的「Add roles and features」工具。

Step 2: 確認注意事項後,直接點選下方「Next >」按鈕。

Step 3: 選擇第一項「Role-based or feature-based installation」,再點選下方「Next >」按鈕。

Step 4: 選擇安裝目標伺服器,若只是本地伺服器維持預設即可,點選下方「Next >」按鈕。

Step 5: 需要安裝的功能並不在此頁,直接點選下方「Next >」按鈕即可。

Step 6: 將選單往下拉到中央位置,找到「Multipath I/O」項目並勾選,再點選下方「Next >」按鈕。

Step 7: 確認即將要安裝的項目,點選右下方「Install」按鈕。

Step 8: 系統將自動顯示安裝進度,待安裝完畢後,點選右下方「Close」按鈕離開。

設定伺服器端MPIO服務

Step 1: 開啟Server Manager管理介面後,點選右上方「Tools」>「MPIO」工具。

Step 2: 點選上方「Discover Multi-Paths」標籤,再勾選中央「Add support for iSCSI devices」選項,再按下右側「Add」按鈕,點選右下方「OK」按鈕離開。

Step 3: 系統提示將執行一次完整重開機,若沒有其他運作中程式或未儲存檔案,直接按下「Yes」以馬上重啟系統。

Step 4: 系統重開機後再進入MPIO工具畫面,如在「MPIO Devices」頁面,「Devices」清單中發現iSCSI字樣的裝置,代表已經成功新增。

設定iSCSI initiator MPIO連線

Step 1: 開啟Server Manager管理介面後,點選右上方「Tools」>「iSCSI Initiator」工具。

Step 2: 由於先前加入的iSCSI連線只是為了方便安裝MPIO服務,為了避免可能的後續問題,我們必須先徹底移除連線記錄,在MPIO服務已啟動的環境重新連線一次。選擇之前連線的iSCSI LUN,再按下「Disconnect」按鈕。

Step 3: 點選上方「Discovery」標籤,選擇先前加入的入口IP,再按下「Remove」鍵。

Step 4: 點選上方「Favorite Targets」標籤,選擇先前加入的iSCSI Targets,再按下「Remove」鍵。

Step 5: 回到上方「Discovery」項目,再按下右側的「Discover Portal」按鈕。

Step 6: 在「IP address」欄位分別加入NAS上兩組控制器資料埠的不同IP位置,「Port」欄位維持預設3260即可。

Step 7: 回到上方「Target」項目,應可看到兩個iSCSI Target,這兩個iSCSI Target分屬NAS上左右兩側控制器。先選擇其中一個iSCSI Target,點選下方「Connect」按鈕。

Step 8: 勾選「Enable multi-path」選項,再點選「Advanced…」按鈕。

Step 9: 於「Local adapter」選擇「Microsoft iSCSI Initiator」選項,「Initiator IP」處選擇伺服器端資料埠IP,「Target portal IP」處再選擇NAS端資料埠IP(需與Initiator IP在同一網段),點選右下方「OK」按鈕離開。

Step 10: 點選右下方「OK」按鈕離開。

Step 11: 可看到其中一個iSCSI Target已經成功連線,再點選下方「Properties」按鈕。

Step 12: 這裡可得知iSCSI連線目前已經有一個session,再點選下方「Add session」按鈕。

Step 13: 勾選「Enable multi-path」選項,再點選「Advanced…」按鈕。

Step 14: 再分別把伺服器端與NAS端,另一網段的資料埠IP加入。先前已連線session是「8.8.1.X」網段,現在則加入「8.8.2.X」網段的網路埠,點選右下方「OK」按鈕離開。

Step 15: 回到「Sessions」畫面,應可看到下方多出一個session,確認後點選右下方「OK」按鈕離開。

Step 16: 回到「Targets」主畫面,再重複依照以上方法,連線另一個iSCSI Target並設定MPIO。

Step 17: 待這兩個iSCSI Target都完成連線,並成功設定MPIO之後,點選上方「Volumes and Devices」標籤,再點選右側的「Auto Configure」按鈕,中央「Volume List」會自動跑出一個類似「mpio#disk」字樣開頭的裝置名稱,確認後點選右下方「OK」按鈕離開。

掛載iSCSI 虛擬磁碟並格式化分區

Step 1: 在Windows Server作業系統中,按下鍵盤「Windows Key + X」組合鍵,叫出快速選單(Server 2012或更晚版本適用)。在快速選單中,點選「Disk Management」。

Step 2: 將可看到一個新磁碟,在「Offline」字樣處按滑鼠右鍵,再點選「Online」。

Step 3: 磁碟已上線但仍未初始化,在「Not Initialized」字樣處按滑鼠右鍵,再點選「Initialize Disk」。

Step 4: 選擇即將初始化的磁碟,可依需求勾選MBR或GPT分區表,如無特別需求維持預設即可,確認後點選「OK」。

Step 5: 磁碟已經成功初始化,不過尚未分區。在「Unallocated」字樣處按下滑鼠右鍵,點選「New Simple Volume」。

Step 6: 進到歡迎畫面,直接點選「Next >」。

Step 7: 指定分區大小,如無特別需求維持預設最大即可,確認後點選「Next >」。

Step 8: 指定磁碟機代號,可依用途自行指定容易辨識的磁碟代號,確認後點選「Next >」。

Step 9: 選擇格式化種類與參數,並指定磁區名稱,可勾選「Perform a quick format」以加快格式化速度,確認後點選「Next >」。

Step 10: 最後確認所有設定與參數,點選「Finish」以開始分區工作,並格式化磁碟。

Step 11: 如無錯誤,格式化應會在短時間內完成,並正確顯示分區代號與分區名稱。

Step 12: 按下鍵盤「Windows Key + E」組合鍵開啟檔案總管,如可見到新磁碟,代表這個iSCSI磁碟已隨時可供Windows系統使用。

高可用性容錯與效能最佳化

最佳化網路效能

Step 1: 打開裝置管理員,滑鼠右鍵點選資料傳輸埠(Data-port)所在的網卡,按下「Properties」。

Step 2: 點選「Advanced」按鈕,在下方「Settings」找到「Jumbo Packet」項目,並把數值修改成9000或9014 bytes。

Step 3: 再點選「Interrupt Moderation」,並把數值修改成Disabled。

Step 4: 點選「Performance Options」,再按下右側「Properties」按鈕,接著在「Interrupt Moderation Rate」項目中選擇Off參數。

Step 5. 開啟Windows PowerShell,輸入「netsh int tcp set supplemental datacenter」,待畫面顯示OK即可。

最佳化MPIO容錯政策與效能

Step 1. 開啟磁碟管理員,在已掛載的iSCSI磁碟上按下滑鼠右鍵,選擇「Properties」。

Step 2. 點選「MPIO」標籤,在上方「Select the MPIO policy」欄位中,選擇Round Robin With Subset的值,相較預設值Round Robin,可以讓資料只跑在接近該控制器的線路上,以提高傳輸效能。若需測試極限效能,建議選擇Least Queue Depth。

Step 3. 點選「Details」按鈕,確認DSM Details的「Path Verify Enabled」有被勾選。

最佳化MPIO高可用性容錯時間

Step 1. 按下鍵盤Windows key+R按鍵,跳出執行視窗,輸入regedit。

Step 2. 在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Disk的路徑中,找到TimeOutValue這個值,點選滑鼠右鍵,再按下Modify。

Step 3. 點選右側的Decimal (10進位)選項,再於左側輸入欲修改的值。

Step 4. 依照次頁Tips的補充說明,修改其他登錄檔數值。

TIPS:建議修改的登錄檔

Registry Entries for SCSI Miniport Drivers
路徑:HKLM\SYSTEM\CurrentControlSet\Services\Disk

數值名稱:TimeOutValue
數值意義:磁碟斷線後超時(秒)。v 預設值:60
建議值:60、或視需要調整
數值範圍: 1~255

Microsoft iSCSI Initiator Driver Timers
路徑:HKLM\SYSTEM\CurrentControlSet\Control\Class\ {4D36E97B-E325-11CE-BFC1-08002BE10318}\0001\Parameters

數值名稱:DelayBetweenReconnect
數值意義:當連線中斷時,iSCSI驅動程式會嘗試重連、登入,修改此值可調整重連的間隔時間(秒)。
預設值:5
建議值:10

數值名稱:LinkDownTime
數值意義:一個I/O要求送出後,最多需要等待多少時間(秒),才判定為連線中斷,再進行重連。
預設值:15
建議值:300

數值名稱:MaxRequestHoldTime
數值意義:一個I/O要求送出後發現目標遺失,最多需要等待多少時間(秒),再進行重連。
預設值:60
建議值:300

數值名稱:SrbTimeoutDelta
數值意義:系統磁碟驅動程式(例如disk.sys)在判定傳輸超時的時候,沒有考慮到網路延遲,此數值可以提供網路超時的參考時間(秒),給這些磁碟驅動程式。
預設值:15
建議值:300

Microsoft Multipath I/O (MPIO) Timers
路徑:HKLM\SYSTEM\CurrentControlSet\Services\mpio\Parameters

數值名稱:PathVerificationPeriod
數值意義:此數值用於指示MPIO執行路徑驗證的時間週期(秒)。
預設值:30
建議值:30、或視需要調整

數值名稱:PDORemovePeriod
數值意義:此數值用於指示即使所有設備路徑都失效,仍保留MPIO LUN在系統記憶體中的時間(秒)。當超過這個時間,I/O操作將失效,系統也不再嘗試恢復連接路徑,並告知應用程式I/O失敗。
預設值:20
建議值:600

數值名稱:RetryCount
數值意義:此數值用於指示當DSM(device-specific modules)確定一個I/O請求已經失敗,必須重試的次數。
預設值:3
建議值:3、或視需要調整

數值名稱:RetryInterval
數值意義:此數值用於指示當DSM(device-specific modules)確定一個I/O請求已經失敗,必須重試的間隔時間(秒)。
預設值:1
建議值:1、或視需要調整

這篇文章有幫助嗎?

58% 的人認為有幫助。
謝謝您,我們已經收到您的意見。

請告訴我們如何改進這篇文章:

如果您想提供其他意見,請於下方輸入。

選擇規格

      顯示更多 隱藏更多

      選擇其他偏好的語言:

      back to top