前一章採用 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 客體磁碟儲存