22 Ceph iSCSI 网关 #
本章重点介绍与 iSCSI 网关相关的管理任务。有关部署过程,请参见第 8.3.5 节 “部署 iSCSI 网关”。
22.1 ceph-iscsi 管理的目标 #
本节介绍如何从运行 Linux、Microsoft Windows 或 VMware 的客户端连接到 ceph-iscsi 管理的目标。
22.1.1 连接到 open-iscsi #
使用 ceph-iscsi 连接 open-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-SP1/single-html/SLES-storage/#sec-iscsi-initiator 了解有关如何连接 iSCSI 目标的详细信息。
对于支持 open-iscsi 的任何其他 Linux 发行套件,请继续发现 ceph-iscsi 网关上的目标(本示例使用 iscsi1.example.com 作为端口地址;对于多路径访问,请使用 iscsi2.example.com 重复这些步骤):
# 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 总线上变为可用:
# 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 实用程序检查多路径设备状态:
# 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 文件系统:
# 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,请运行以下命令:
# 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
# systemctl restart multipathd对于包含友好名称的主动/被动配置,请将
defaults {
user_friendly_names yes
}
添加到 /etc/multipath.conf。成功连接目标后,请运行
# 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 并运行
# 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 running22.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-iscsiiSCSI 网关的 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.1 的一个关键组件,使用它可以从任何支持 iSCSI 协议的服务器或客户端访问高度可用的分布式块存储。在一个或多个 iSCSI 网关主机上使用 ceph-iscsi 可将 Ceph RBD 映像用作与 iSCSI 目标关联的逻辑单元 (LU),并可根据需要以负载平衡且高度可用的方式来访问该逻辑单元。
由于所有 ceph-iscsi 配置都存储在 Ceph RADOS 对象存储中,ceph-iscsi 网关主机先天就不具有持久性状态,因而可以任意对其进行更换或者增减。因此,借助 SUSE Enterprise Storage 7.1,SUSE 客户可在市售硬件和完全开源的平台上运行真正的分布式、高度可用、有弹性且可自我修复的企业存储技术。















