前一章採用 NFS 通訊協定做為掛接網路儲存伺服器使用,而在儲存伺服器上另一種常見的通訊協定 iSCSI 也被 Proxmoxo VE 所支援,都可以被 Proxmox VE 整合起來運用,做為存放客體機虛擬磁碟使用。
絕大多數的網路儲存伺服器都已經內建支援 iSCSI 通訊協定,相較於 NFS 通訊協定而言,iSCSI 是屬於 Block 等級的儲存,而 NFS 採用的是 File 等級儲存。
Block 等級儲存的好處是沒有檔案系統的轉換損失,因此效能較 NFS 來得高;但沒有像 File 等級儲存一樣具備檔案系統可以直接讀寫檔案,所以在應用方面會受限,例如 Block 等級儲存無法用來放置 Proxmox VE 的 VZDump 備份檔、ISO 映像檔。
進入 系統設定
,彈出第二層選單點選 服務
,將 iSCSI
後方的 Running
切換為啟動 (滑桿撥至右方),再將 Start Automatically
勾選,讓它下次開機自動啟動。
TrueNAS SCALE 啟用 iSCSI 服務
接著將點最後方的編輯按鈕,進入 iSCSI 的相關初始設定,這些設定頁籤包括 Portals
、目標
、Extents
、Associated Targets
等等項目均須正確設定,方可讓 Proxmox VE 使用。
TrueNAS SCALE 設定 iSCSI 相關細節
登入 Synology DSM 管理介面後,啟動 SAN Manager
應用程式,切換至 LUN
頁籤,並確認已經建立有 LUN
。
Synology DSM 建立 iSCSI LUN
在 SAN Manager 應用程式裡切換至 iSCSI
頁籤,並確認已有建立好可用的 iSCSI Target,並且狀態顯示為 良好
。
Synology DSM 設定 iSCSI 授權網路
當儲存伺服器端的 iSCSI 共用已經準備完成,我們可以經由 Proxmox VE 管理介面上的簡單操作將這些 iSCSI 共用掛接起來使用。
在資源檢視區中選擇 資料中心
,切換至 儲存頁籤
,按下 增加
按鈕,再選擇 iSCSI
選項。
準備增加 iSCSI 掛接
ID
欄位中填入容易識別的名稱,例如 nas111-iscsi
,Portal
欄位填入儲存伺服器的 IP 位址,例如 192.168.1.146
。
在 Target
欄位點選下拉清單,若儲存伺服器 iSCSI 設定正確,此處會顯示可用的 Target 有那些。當設定無誤後,再按下 增加
。
增加 iSCSI 掛接選項視窗
當新增完成後,可以在儲存清單中看到多了一筆剛才設定好的 nas111-iscsi
,左方的資源檢視區也可以發現多了一筆 nas111-iscsi (host-106)
的項目。
增加 iSCSI 掛接完成
選取至資源檢視區中的 nas111-iscsi (host-106)
,可以查看這個新掛接進來的網路儲存伺服器的相關狀況,主要是:
對於 iSCSI 儲存不會在此顯示使用的容量。
iSCSI 儲存概觀
切換至 VM 磁碟頁籤
,可以在右方看到一個 LUN,它就是我們在儲存伺服器上建立對應的 LUN 儲存區。
iSCSI 儲存內容檢視
前面提到 iSCSI 只能用來存放磁碟映像,也就是只能當做客體虛擬機的虛擬磁碟使用,那麼我們就直接以建立虛擬機的方式來使用 iSCSI 網路儲存。
依照前幾章的虛擬機建立教學,來到客體虛擬機建立引導程序的第四步 硬碟
頁籤,點選 儲存
下拉清單,即可多出 nas111-iscsi
可以選取。
虛擬機引導程序選取 iSCSI 儲存 1
補充:
該處容量顯示為 0B 是正常現象。
接著點選 磁碟映像
下拉清單,會顯示這個 iSCSI 掛接的網路儲存伺服器上可以選用的 LUN,例如圖中的 CH 00 ID 0 LUN 1
。
虛擬機引導程序選取 iSCSI 儲存 2
建立虛擬機完成後即可用來開機,並且在 硬體
頁籤中看到其磁碟顯示為存放在 nas111-iscsi 之上。
檢視虛擬機磁碟所在儲存
當第一台虛擬機建立好後,第二台虛擬機建立時同樣要把磁碟放置在 iSCSI 網路儲存上卻會發生問題:在虛擬機的建立引導程序中,可以選取同樣的 iSCSI 網路儲存以及同樣的磁碟映像。
虛擬機引導程序選取 iSCSI 儲存
但是當第二台虛擬機啟動後,卻發現裡面已經有安裝好的系統,而且系統名稱是先前建立在 iSCSI 的第一台虛擬機 vm-iscsi-test1
。
新建虛擬機卻已有開機系統
這明確表示兩台所使用到的同一個 LUN 其實是同一個磁碟。因此,如果要經由 iSCSI 給多個虛擬機使用,必須在 儲存伺服器上分別建立不同的 LUN
,等於是建立不同的磁碟屆時給 Proxmox VE 在建立虛擬機時選用。
依據前一節使用結果所示,如果每開個虛擬機的磁碟都要先到儲存伺服器上先建好 iSCSI LUN 再回頭 Proxmox VE 依據對應的 LUN ID 填入,這種操作方法會死人啊!
在 Proxmox VE 上提供了另一種 iSCSI 使用方式,搭配 LVM 運用即可以解決這個問題。
先到儲存伺服器上將原本的 LUN 移除,重新建立一個新的 LUN 準備給 Proxmox VE 使用,將 Target、LUN ID 等等設定都保持與先前的一樣。
提醒:
若先前已有客體機安裝在原本的 LUN,請記得先中斷磁碟連結,若有資料亦先請備份出來,以免資料遺失。
請在資源檢視區中選取 資料中心
,切換至 儲存
頁籤,點選我們先前建立的 nas111-iscsi
兩下,以進入編輯。
準備編輯 iSCSI 儲存設定
請將 直接使用 LUNs
核取方塊勾選,再按下 完成
。
編輯 iSCSI 儲存選項視窗
接著請點選 新增
,選取 LVM
項目。
準備增加 LVM 儲存
進入增加 LVM 選項視窗後,在 ID
欄位輸入名稱,例如 nas111-iscsi-lvm
,在 基礎儲存
點選下拉清單會帶出可以選用的項目,請點選 nas111-iscsi (iSCSI)
這個項目,它就是我們稍早前所建立的 iSCSI 儲存。
增加 LVM 儲存選項視窗 1
在 基礎磁區
點選下拉清單,它會帶出這個 iSCSI 網路儲存上已有的 LUN,請選取 CH 00 ID 0 LUN 1
。
增加 LVM 儲存選項視窗 2
在 磁區群組
裡給予名稱,例如 nas111-vg1
,表示它是我們在 nas111 這台儲存伺服器上建的第一個磁區群組。
增加 LVM 儲存選項視窗 3
當設定都確認無誤按下新增後,可以在儲存清單中看到多出了 nas111-iscsi-lvm
項目,左方也多出了 nas111-iscsi-lvm
。
增加 iSCSI + LVM 掛接完成
選取至資源檢視區中的 nas111-iscsi-lvm (host-106)
,可以查看這個剛剛這個掛接進來的網路儲存伺服器的相關狀況,主要是:
最後會顯示目前已使用的容量,以及下方的相關圖表。
iSCSI + LVM 儲存概觀
在 iSCSI + LVM 的儲存建立客體機程序與 iSCSI 相同,在第四步 硬碟
時的 儲存
選取 iSCSI 上的 LVM,例如 nas111-iscsi-lvm
。
虛擬機引導程序選取 iSCSI + LVM 儲存 1
當建立完成以後,在資源檢視區選取 nas111-iscsi-lvm (host-106)
,切換至 VM 磁碟
,可以看到每一個客體機分別產生各自的虛擬磁碟,即可避免先前建立 iSCSI 儲存時,因為使用整個 LUN 的關係造成所有客體機都是對應到同一個磁碟而帶來問題。
檢視 iSCSI + LVM 客體磁碟儲存