22 Ceph iSCSI 閘道 #
本章重點介紹與 iSCSI 閘道相關的管理任務。如需部署程序,請參閱第 5.4.3.5 節 「部署 iSCSI 閘道」。
22.1 ceph-iscsi
管理的目標 #
本節介紹如何從執行 Linux、Microsoft Windows 或 VMware 的用戶端連接至
ceph-iscsi
管理的目標。
22.1.1 連接 open-iscsi
#
使用 open-iscsi
連接
ceph-iscsi
支援的 iSCSI
目標需要執行兩個步驟。首先,啟動器必須探查閘道主機上可用的 iSCSI 目標,然後必須登入並對應可用的邏輯單位 (LU)。
這兩個步驟都需要 open-iscsi
精靈處於執行狀態。啟動
open-iscsi
精靈的方式取決於您的 Linux 套裝作業系統:
在 SUSE Linux Enterprise Server (SLES) 和 Red Hat Enterprise Linux (RHEL) 主機上,執行
systemctl start iscsid
(如果systemctl
不可用,請執行service iscsid start
)。在 Debian 和 Ubuntu 主機上,執行
systemctl start open-iscsi
(或service open-iscsi start
)。
如果啟動器主機執行 SUSE Linux Enterprise Server,請參閱 https://documentation.suse.com/sles/15-SP2/html/SLES-all/cha-iscsi.html#sec-iscsi-initiator 以瞭解有關如何連接至 iSCSI 目標的詳細資料。
對於支援 open-iscsi
的任何其他 Linux 套裝作業系統,請繼續探查
ceph-iscsi
閘道上的目標 (本範例使用
iscsi1.example.com 做為入口網站位址;對於多重路徑存取,請使用 iscsi2.example.com 重複這些步驟):
root #
iscsiadm -m discovery -t sendtargets -p iscsi1.example.com
192.168.124.104:3260,1 iqn.2003-01.org.linux-iscsi.iscsi.SYSTEM-ARCH:testvol
然後登入該入口網站。如果登入成功完成,則入口網站中所有受 RBD 支援的邏輯單位將立即在系統 SCSI 匯流排上變為可用:
root #
iscsiadm -m node -p iscsi1.example.com --login
Logging in to [iface: default, target: iqn.2003-01.org.linux-iscsi.iscsi.SYSTEM-ARCH:testvol, portal: 192.168.124.104,3260] (multiple)
Login to [iface: default, target: iqn.2003-01.org.linux-iscsi.iscsi.SYSTEM-ARCH:testvol, portal: 192.168.124.104,3260] successful.
針對其他入口網站 IP 位址或主機重複此過程。
如果系統上已安裝 lsscsi
公用程式,您可以使用它來列舉系統上可用的 SCSI 裝置:
lsscsi [8:0:0:0] disk SUSE RBD 4.0 /dev/sde [9:0:0:0] disk SUSE RBD 4.0 /dev/sdf
在多重路徑組態 (其中兩個已連接的 iSCSI 裝置代表一個相同的 LU) 中,您還可以使用
multipath
公用程式檢查多重路徑裝置狀態:
root #
multipath -ll
360014050cf9dcfcb2603933ac3298dca dm-9 SUSE,RBD
size=49G features='0' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=1 status=active
| `- 8:0:0:0 sde 8:64 active ready running
`-+- policy='service-time 0' prio=1 status=enabled
`- 9:0:0:0 sdf 8:80 active ready running
現在,您可視需要將此多重路徑裝置當成任何區塊裝置使用。例如,可將該裝置當成 Linux 邏輯磁碟區管理 (LVM) 的實體磁碟區使用,或者直接在該裝置上建立檔案系統。下面的範例說明如何在新連接的多重路徑 iSCSI 磁碟區上建立 XFS 檔案系統:
root #
mkfs -t xfs /dev/mapper/360014050cf9dcfcb2603933ac3298dca
log stripe unit (4194304 bytes) is too large (maximum is 256KiB)
log stripe unit adjusted to 32KiB
meta-data=/dev/mapper/360014050cf9dcfcb2603933ac3298dca isize=256 agcount=17, agsize=799744 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=12800000, imaxpct=25
= sunit=1024 swidth=1024 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=6256, version=2
= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
請注意,由於 XFS 是非叢集檔案系統,無論何時,您都只能將它掛接到單個 iSCSI 啟動器節點上。
任何時候若要停止使用與特定目標關聯的 iSCSI LU,請執行以下指令:
root #
iscsiadm -m node -p iscsi1.example.com --logout
Logging out of session [sid: 18, iqn.2003-01.org.linux-iscsi.iscsi.SYSTEM-ARCH:testvol, portal: 192.168.124.104,3260]
Logout of [sid: 18, target: iqn.2003-01.org.linux-iscsi.iscsi.SYSTEM-ARCH:testvol, portal: 192.168.124.104,3260] successful.
與執行探查和登入時一樣,必須針對所有入口網站 IP 位址或主機名稱重複登出步驟。
22.1.1.1 設定多重路徑 #
多重路徑組態保留在用戶端或啟動器上,並不相依於任何
ceph-iscsi
組態。在使用區塊儲存之前,請選取一項策略。編輯
/etc/multipath.conf
之後,請使用以下指令重新啟動
multipathd
root #
systemctl restart multipathd
對於包含易記名稱的主動/被動組態,請將
defaults { user_friendly_names yes }
新增至 /etc/multipath.conf
。成功連接目標後,請執行
root #
multipath -ll
mpathd (36001405dbb561b2b5e439f0aed2f8e1e) dm-0 SUSE,RBD
size=2.0G features='0' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=1 status=active
| `- 2:0:0:3 sdl 8:176 active ready running
|-+- policy='service-time 0' prio=1 status=enabled
| `- 3:0:0:3 sdj 8:144 active ready running
`-+- policy='service-time 0' prio=1 status=enabled
`- 4:0:0:3 sdk 8:160 active ready running
注意每個連結的狀態。對於主動/主動組態,請將
defaults { user_friendly_names yes } devices { device { vendor "(LIO-ORG|SUSE)" product "RBD" path_grouping_policy "multibus" path_checker "tur" features "0" hardware_handler "1 alua" prio "alua" failback "immediate" rr_weight "uniform" no_path_retry 12 rr_min_io 100 } }
新增至 /etc/multipath.conf
。重新啟動
multipathd
並執行
root #
multipath -ll
mpathd (36001405dbb561b2b5e439f0aed2f8e1e) dm-3 SUSE,RBD
size=2.0G features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
`-+- policy='service-time 0' prio=50 status=active
|- 4:0:0:3 sdj 8:144 active ready running
|- 3:0:0:3 sdk 8:160 active ready running
`- 2:0:0:3 sdl 8:176 active ready running
22.1.2 連接 Microsoft Windows (Microsoft iSCSI 啟動器) #
若要從 Windows 2012 伺服器連接 SUSE Enterprise Storage iSCSI 目標,請執行以下步驟:
開啟 Windows 伺服器管理員。在儀表板中,選取
› 。 對話方塊隨即顯示。選取 索引標籤:圖 22.1︰ iSCSI 啟動器內容 #在
對話方塊中的 欄位內,輸入目標的主機名稱或 IP 位址,然後按一下 :圖 22.2︰ 探索目標入口 #針對所有其他閘道主機名稱或 IP 位址重複此過程。完成後,查看
清單:圖 22.3︰ 目標入口 #接下來,切換到
索引標籤並查看已探索的目標。圖 22.4︰ 目標 #在
索引標籤中按一下 。 對話方塊隨即顯示。選取 核取方塊以啟用多重路徑 I/O (MPIO),然後按一下 :- 圖 22.5︰ iSCSI 目標內容 #
選取
,然後按一下 以查看多重路徑 I/O 組態:圖 22.6︰ 裝置詳細資料 #預設的
為 。如果您偏好單純的容錯移轉組態,請將規則變更為 。
iSCSI 啟動器的組態設定到此結束。現在,可以像使用任何其他 SCSI 裝置一樣使用 iSCSI 磁碟區,並可將其啟始化,使其可當成磁碟區和磁碟機使用。按一下
以關閉 對話方塊,然後繼續在 儀表板中設定 角色。觀察新連接的磁碟區。該磁碟區識別為 iSCSI 匯流排上的 SUSE RBD SCSI 多重路徑磁碟機,並且最初標示為離線狀態,其分割區表類型為未知。如果新磁碟區未立即顯示,請從 下拉式方塊中選取 ,以重新掃描 iSCSI 匯流排。
以滑鼠右鍵按一下 iSCSI 磁碟區,然後從快顯功能表中選取
。 隨即顯示。按一下 ,反白新連接的 iSCSI 磁碟區,然後按一下 開始建立新磁碟區。圖 22.7︰ 新磁碟區精靈 #該裝置最初是空的,不包含任何分割區表。當出現對話方塊指出將要使用 GPT 分割區表啟始化磁碟區時,確認該操作:
圖 22.8︰ 離線磁碟提示 #選取磁碟區大小。使用者一般會使用裝置的全部容量。然後,指定新建立磁碟區將在其上變為可用狀態的磁碟機代號或目錄名稱。接下來,選取要在新磁碟區上建立的檔案系統。最後,按一下
以確認所做的選擇並完成磁碟區的建立:圖 22.9︰ 確認選取的磁碟區設定 #完成該過程後,請檢查結果,然後按一下
以結束磁碟機啟始化。完成啟始化後,便可以像使用新啟始化的本地磁碟機一般使用該磁碟區 (及其 NTFS 檔案系統)。
22.1.3 連接 VMware #
若要連接至
ceph-iscsi
管理的 iSCSI 磁碟區,需要有設定好的 iSCSI 軟體介面卡。如果 vSphere 組態中未提供此類介面卡,請選取 › › › 來建立一個介面卡。如果適用,請以滑鼠右鍵按一下該介面卡並從快顯功能表中選取
,來選取該介面卡的內容:圖 22.10︰ iSCSI 啟動器內容 #在
對話方塊中,按一下 按鈕。然後移至 索引標籤並選取 。輸入
ceph-iscsi
iSCSI 閘道的 IP 位址或主機名稱。如果您在容錯移轉組態中執行多個 iSCSI 閘道,請針對要操作的所有閘道重複此步驟。圖 22.11︰ 新增目標伺服器 #輸入所有 iSCSI 閘道後,請在對話方塊中按一下
,以發起對 iSCSI 介面卡的重新掃描。重新掃描完成後,新的 iSCSI 裝置會顯示在
窗格中的 清單下。對於多重路徑裝置,您現在可以在該介面卡上按一下滑鼠右鍵,然後從快顯功能表中選取 :圖 22.12︰ 管理多重路徑裝置 #您現在應該會看到,所有路徑的
下面都帶有綠燈。其中一個路徑應該已標示為 ,其他所有路徑只是標示為 :圖 22.13︰ 多重路徑的路徑清單 #現在,您可以從
切換到標為 的項目。在窗格右上角選取 ,以開啟 對話方塊。然後選取 並按一下 。新增的 iSCSI 裝置會顯示在 清單中。選取該裝置,然後按一下 繼續:圖 22.14︰ 新增儲存對話方塊 #按一下
以接受預設的磁碟配置。在
窗格中,為新資料儲存指定名稱,然後按一下 。接受將磁碟區的整個空間用於資料儲存的預設設定,或者選取 以建立較小的資料儲存:圖 22.15︰ 自定空間設定 #按一下
以完成資料儲存的建立。新資料儲存現在即會顯示在資料儲存清單中,您可以選取它來擷取詳細資料。現在,您可以如同使用任何其他 vSphere 資料儲存一般使用
ceph-iscsi
支援的 iSCSI 磁碟區。圖 22.16︰ iSCSI 資料儲存綜覽 #
22.2 結論 #
ceph-iscsi
是 SUSE Enterprise Storage
7 的一個關鍵元件,使用它可以從任何支援 iSCSI 通訊協定的伺服器或用戶端存取高度可用的分散式區塊儲存。在一或多個 iSCSI 閘道主機上使用
ceph-iscsi
,可將 Ceph RBD 影像當成與 iSCSI
目標關聯的邏輯單位 (LU) 使用,並可視需要以負載平衡且高度可用的方式來存取該邏輯單位。
由於系統將所有 ceph-iscsi
組態都儲存在 Ceph RADOS
物件儲存中,ceph-iscsi
閘道主機先天就不具有持久性狀態,因而可以任意對其進行取代或者增減。因此,憑藉 SUSE Enterprise Storage 7,SUSE
客戶可在商用硬體和完全開放原始碼的平台上執行真正的分散式、高度可用、有復原能力且可自我修復的企業儲存技術。