在 Ubuntu OS 上挂载 iSCSI 卷
本教程将指导您如何在运行 Ubuntu 操作系统的服务器上挂载 卷 IBM Cloud® Block Storage for Classic。 您将创建从一个主机网络接口到存储阵列的两个目标 IP 的两个连接。
有关该 iSCSI 服务在操作系统 Ubuntu 上如何运行的更多信息,请参阅 iSCSI 发起方(或客户端) 文档。 如果使用其他 Linux® 操作系统,请参阅特定发行版的文档,并确保多路径支持 ALUA 的路径优先级。
准备工作
-
在控制台、CLI、API 或 Terraform中为 Classic 创建虚拟服务器。
-
在同一数据中心 订购块存储卷。
-
确保主机已获得访问 Block Storage for Classic 卷的授权。 有关详细信息,请参阅For more information, see 在控制台中授权主机从 CLI 授权主机使用 Terraform 授权主机。 授权完成后,请注意用户名、密码和主机 IQN 信息。
如果多个主机安装同一 Block Storage for Classic 卷而不进行协同管理,那么数据存在损坏风险。 如果多个主机同时对卷进行了更改,那么可能会发生卷损坏。 您需要一个群集感知的共享磁盘文件系统来防止数据丢失,如 Microsoft Cluster Shared Volumes ( CSV ), Red Hat Global File System ( GFS2 ), VMware® VMFS 等。 更多信息,请参阅操作系统文档。
在开始配置 iSCSI, 之前,请确保网络接口已正确设置和配置,以便 open-iscsi 软件包正常工作,尤其是在启动时。 在 Ubuntu 的新版本中,设置网络地址信息的主要工具是 Netplan。 它使用 YAML 配置文件定义网络设置,取代了 /etc/network/interfaces 等旧方法。 Netplan 可通过命令行或桌面环境中的 NetworkManager 进行配置。
最好是在绕过防火墙的 VLAN 上运行存储流量。 通过软件防火墙运行存储流量会延长等待时间,并对存储器性能产生负面影响。 有关将存储流量路由到其自己的 VLAN 接口的更多信息,请参阅 常见问题解答。
安装 iSCSI 和多路径实用程序
请确保您的系统已更新,并包含 open-iscsi 和 multipath-tools 软件包。 使用以下命令来安装软件包。
-
更新操作系统:
apt-get update -
安装
open-iscsi。sudo apt install open-iscsi安装软件包时,它会创建以下两个文件。
/etc/iscsi/iscsid.conf/etc/iscsi/initiatorname.iscsi
-
启动服务:
systemctl enable open-iscsisystemctl enable iscsid -
安装
multipath-tools。sudo apt install multipath-tools
配置 ISCSI
更新启动程序名称
-
检查
/etc/iscsi/initiatorname.iscsi文件是否存在,并查看其内容。cat /etc/iscsi/initiatorname.iscsiroot@vsi4classicubuntu:~# cat /etc/iscsi/initiatorname.iscsi GenerateName=yes -
使用文本编辑器,用 IBM Cloud® 控制台中的 IQN 更新
/etc/iscsi/initiatorname.iscsi文件。 按以下格式输入数值。InitiatorName=<IQN-value-from-the-portal>
配置凭证
-
通过检查文件内容来确保该
iscsid.conf文件存在。cat /etc/iscsi/iscsid.conf -
使用文本编辑器,取消注释并编辑以下条目。 您可以在 IBM Cloud® 控制台中找到用户名和密码。
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® 存储仅使用单向认证。 不要启用相互 CHAP。
-
重新启动 iscsi 服务,使更改生效。
systemctl restart iscsid.service
有关详细信息,请参阅 Ubuntu 手册 - iscsid 和 Ubuntu 手册 - systemctl。
设置多路径
-
安装多路径实用程序后,可以检查
multipath.conf文件的默认内容。cat /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 上使用设备映射器多路径功能的更多信息,请参阅 设备映射器多路径简介。
发现存储设备并登录
iscsiadm实用程序是一个命令行工具,用于发现和登录 iSCSI 目标,以及访问和管理open-iscsi数据库。 更多信息,请参阅 Ubuntu 手册—— iscsiadm。在此步骤中,使用从 IBM Cloud®
控制台获取的目标IP地址来发现设备。
-
针对 iSCSI 阵列运行发现程序。
iscsiadm -m discovery -t sendtargets -p <ip-value-from-IBM-Cloud-console>如果显示 IP 信息和访问详细信息,那么发现成功。
root@vsi4classicubuntu:~# iscsiadm -m discovery -t sendtargets -p 161.26.114.197 161.26.114.197:3260,1052 iqn.1992-08.com.netapp:stfdal1304 161.26.114.196:3260,1049 iqn.1992-08.com.netapp:stfdal1304 -
配置自动登录。
sudo iscsiadm -m node --op=update -n node.conn[0].startup -v automatic sudo iscsiadm -m node --op=update -n node.startup -v automatic -
登录到 iSCSI 阵列。
sudo iscsiadm -m node --login
验证配置
-
验证是否已建立 iSCSI 会话。
iscsiadm -m session -o showroot@vsi4classicubuntu:~# iscsiadm -m session -o show tcp: [3] 161.26.114.197:3260,1052 iqn.1992-08.com.netapp:stfdal1304 (non-flash) tcp: [4] 161.26.114.196:3260,1049 iqn.1992-08.com.netapp:stfdal1304 (non-flash) -
验证是否存在多条路径。
multipath -ll此命令会报告路径。 如果配置正确,那么每个卷都有一个组,其路径数等于 iSCSI 会话数。 虽然可以通过单一路径连接多个卷,但重要的是,必须在两条路径上建立连接,以防止服务中断。
root@vsi4classicubuntu:~# multipath -ll 3600a0980383056666424506a33426478 dm-0 NETAPP,LUN C-Mode size=500G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw |-+- policy='service-time 0' prio=50 status=active | `- 3:0:0:0 sdb 8:16 active ready running `-+- policy='service-time 0' prio=10 status=enabled `- 2:0:0:0 sda 8:0 active ready running如果未正确配置 MPIO,那么当发生网络中断或 IBM Cloud® 团队执行维护时,存储设备可能断开连接并显示为脱机。 在这些事件中,MPIO 可提供额外的连接性,并在进行读/写操作时与卷保持已建立的会话。
在此示例中,
3600a0980383056666424506a33426478是在卷存在时持久的 WWID。 建议应用程序使用 WWID。 还可以在中使用"user_friendly_names multipath.conf "或"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。