在 Ubuntu OS 上掛載 iSCSI 磁碟區
本教學引導您如何在配備 Ubuntu 作業系統的伺服器上掛載 IBM Cloud® Block Storage for Classic 磁碟區。 您將會建立兩個連線,從主機的一個網路介面連到儲存空間陣列的兩個目標 IP 位址。
如果您使用其他 Linux® 作業系統,請參閱特定發行版的說明文件,並確認多重路徑支援 ALUA 的路徑優先順序。
開始之前
如果多個主機裝載相同的 Block Storage for Classic 磁區而未聯合管理,則您的資料有毀損風險。 如果多個主機同時對磁區進行變更,則可能會發生磁區毀損。 您需要可察覺叢集的共用磁碟檔案系統,以防止資料遺失,例如 Microsoft 叢集共用磁區 (CSV)、Red Hat 廣域檔案系統 (GFS2)、VMware® VMFS 及其他。 如需詳細資訊,請參閱主機的作業系統文件。
最好是在 VLAN 上執行儲存空間資料流量,這樣會略過防火牆。 透過軟體防火牆執行儲存空間資料流量,會增加延遲,而且會對儲存空間效能造成不利的影響。 如需將儲存空間資料流量遞送至其專屬 VLAN 介面的相關資訊,請參閱 常見問題。
在您開始設定 iSCSI, 之前,請確定網路介面已經正確設定,並配置好 open-iscsi 套件才能正常運作,尤其是在啟動時。 在 Ubuntu 的較新版本中,設定網路位址資訊的主要工具是 Netplan。 它使用 YAML 設定檔來定義網路設定,取代 /etc/network/interfaces
等舊方法。 Netplan 可以使用命令列或透過桌面環境中的 NetworkManager 進行設定。
如需有關 iSCSI 服務如何在 Ubuntu OS 上運作的詳細資訊,請參閱 iSCSI Initiator(或 Client) Documentation。
此外,請確定要存取 Block Storage for Classic 磁碟區的主機已獲得授權。 有關更多信息,請參閱 在控制台授權主機從 CLI 授權主機使用 Terraform 授權主機。
安裝 iSCSI 和多重路徑公用程式
請確定您的系統已更新,並包含 open-iscsi
和 multipath-tools
套件。 請使用下列指令來安裝套件。
-
安裝
open-iscsi
。sudo apt install open-iscsi
當安裝套件時,它會建立下列兩個檔案。
/etc/iscsi/iscsid.conf
/etc/iscsi/initiatorname.iscsi
-
安裝
multipath-tools
。sudo apt install multipath-tools
如果要從磁碟區開機,則
multipath-tools-boot
套件也需要安裝。
設定多路徑
-
安裝多路徑公用程式之後,請建立稱為
/etc/multipath.conf
的空配置檔。 -
修改
/etc/multipath.conf
的預設值。defaults { user_friendly_names no max_fds max flush_on_last_del yes queue_without_daemon no dev_loss_tmo infinity fast_io_fail_tmo 5 } # All data in the following section must be specific to your system. blacklist { wwid "SAdaptec*" devnode "^hd[a-z]" devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" devnode "^cciss.*" } devices { device { vendor "NETAPP" product "LUN" path_grouping_policy group_by_prio features "3 queue_if_no_path pg_init_retries 50" prio "alua" path_checker tur failback immediate path_selector "round-robin 0" hardware_handler "1 alua" rr_weight uniform rr_min_io 128 }
配置檔的起始預設值區段會配置您的系統,以便多路徑裝置名稱的格式為
/dev/mapper/mpathn
,其中mpathn
是裝置的 WWID 號碼。 如需詳細資訊,請參閱 Ubuntu 手冊 -multipath.conf
。 -
必要的話,儲存配置檔並結束編輯器。
-
啟動多路徑服務。
service multipath-tools start
如果您在啟動多路徑常駐程式之後需要編輯多路徑配置檔,則必須重新啟動
multipathd
服務,變更才會生效。如需在 Ubuntu 20 上使用「裝置對映器多重路徑」特性的相關資訊,請參閱 裝置對映器多重路徑-簡介。
更新 /etc/iscsi/initiatorname.iscsi 檔案
從 IBM Cloud® 主控台以 IQN 更新 /etc/iscsi/initiatorname.iscsi
檔案。 請以小寫字體輸入此值。
InitiatorName=<value-from-the-Portal>
配置認證
使用 IBM Cloud® 主控台中的使用者名稱和密碼,在 /etc/iscsi/iscsid.conf
中編輯下列設定。 請對 CHAP 名稱使用大寫字體。
node.session.auth.authmethod = CHAP
node.session.auth.username = <Username-value-from-Portal>
node.session.auth.password = <Password-value-from-Portal>
discovery.sendtargets.auth.authmethod = CHAP
discovery.sendtargets.auth.username = <Username-value-from-Portal>
discovery.sendtargets.auth.password = <Password-value-from-Portal>
讓其他 CHAP 設定保持註解狀態。IBM Cloud® 儲存體僅使用單向鑑別。 請勿啟用 Mutual CHAP。
重新啟動 iscsi 服務,使變更生效。
systemctl restart iscsid.service
如需詳細資訊,請參閱 Ubuntu 手冊 - iscsid
及 Ubuntu 手冊 - systemctl
。
探索儲存裝置並登入
iscsiadm 公用程式是一個命令列工具,用於發現和登入 iSCSI 目標,以及存取和管理 open-iscsi 資料庫。 如需詳細資訊,請參閱 Ubuntu 手冊 - iscsiadm
。在此步驟,使用從 IBM Cloud®
主控台取得的目標 IP 位址來發現裝置。
-
針對 iSCSI 陣列執行搜尋。
iscsiadm -m discovery -t sendtargets -p <ip-value-from-IBM-Cloud-console>
如果顯示 IP 資訊及存取詳細資料,則探索成功。
-
配置自動登入。
sudo iscsiadm -m node --op=update -n node.conn[0].startup -v automatic sudo iscsiadm -m node --op=update -n node.startup -v automatic
-
啟用必要的服務。
systemctl enable open-iscsi systemctl enable iscsid
-
重新啟動 iscsid 服務。
systemctl restart iscsid.service
-
登入 iSCSI 陣列。
sudo iscsiadm -m node --loginall=automatic
驗證配置
-
驗證已建立 iSCSI 階段作業。
iscsiadm -m session -o show
-
請驗證存在多個路徑。
multipath -ll
這個指令會報告路徑。 如果配置正確,則每一個磁區都有單一群組,路徑數等於 iSCSI 階段作業數。 可以使用單一路徑附加磁碟區,但重要的是在兩個路徑上都建立連線,以避免服務中斷。
$ sudo multipath -ll mpathb (360014051f65c6cb11b74541b703ce1d4) dm-1 LIO-ORG,TCMU device size=1.0G features='0' hwhandler='0' wp=rw |-+- policy='service-time 0' prio=1 status=active | `- 7:0:0:2 sdh 8:112 active ready running `-+- policy='service-time 0' prio=1 status=enabled `- 8:0:0:2 sdg 8:96 active ready running mpatha (36001405b816e24fcab64fb88332a3fc9) dm-0 LIO-ORG,TCMU device size=1.0G features='0' hwhandler='0' wp=rw |-+- policy='service-time 0' prio=1 status=active | `- 7:0:0:1 sdj 8:144 active ready running `-+- policy='service-time 0' prio=1 status=enabled `- 8:0:0:1 sdi 8:128 active ready running
如果 MPIO 未正確配置,則發生網路中斷時或 IBM Cloud® 團隊執行維護時,您的儲存裝置可能會中斷連線並顯示離線。 在這些事件中,MPIO 提供了額外的連線層級,並在進行讀/寫作業時,與卷保持已建立的會話。
在此範例中,
36001405b816e24fcab64fb88332a3fc9
是磁區存在時持續存在的 WWID。 建議您的應用程式使用 WWID。 也可以在 multipath.conf 中使用「user_friendly_names」或「alias」關鍵字來指定更容易閱讀的名稱。 -
請檢查
dmesg
,確定偵測到新磁碟。dmesg
建立分割區及檔案系統 (選用)
在主機上裝載並可存取磁區之後,您可以建立檔案系統。 請遵循這些步驟,以便在新裝載的磁區上建立檔案系統。
-
建立分割區。
$ sudo fdisk /dev/mapper/mpatha Welcome to fdisk (util-linux 2.34). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table. Created a new DOS disklabel with disk identifier 0x92c0322a. Command (m for help): p Disk /dev/mapper/mpatha: 1 GiB, 1073741824 bytes, 2097152 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 65536 bytes Disklabel type: dos Disk identifier: 0x92c0322a Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): First sector (2048-2097151, default 2048): Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-2097151, default 2097151): Created a new partition 1 of type 'Linux' and of size 1023 MiB. Command (m for help): w The partition table has been altered.
-
建立檔案系統。
$ sudo mkfs.ext4 /dev/mapper/mpatha-part1 mke2fs 1.45.5 (07-Jan-2020) Creating filesystem with 261888 4k blocks and 65536 inodes Filesystem UUID: cdb70b1e-c47c-47fd-9c4a-03db6f038988 Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Allocating group tables: done Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done
-
裝載區塊裝置。
sudo mount /dev/mapper/mpatha-part1 /mnt
-
存取資料以確認新分割區及檔案系統已備妥可供使用。
ls /mnt
卸載 Block Storage for Classic 磁區
當您不再需要該磁碟區時,請先卸載它,然後再刪除它。
-
卸載檔案系統。
umount /dev/mapper/XXXp1 /PerfDisk
如需詳細資訊,請參閱 Ubuntu 手冊 -
umount
。 -
如果您在該目標入口網站中沒有任何其他磁區,可登出該目標。
iscsiadm -m node -t <TARGET NAME> -p <PORTAL IP:PORT> --logout
-
如果您在該目標入口網站中沒有任何其他磁區,請刪除目標入口網站記錄,以防止未來的登入嘗試。
iscsiadm -m node -o delete -t <TARGET IQN> -p <PORTAL IP:PORT>
如需詳細資訊,請參閱 Ubuntu 手冊 -
iscsiadm
。