跳到内容跳到页面导航:上一页 [access key p]/下一页 [access key n]
documentation.suse.com / SUSE Enterprise Storage 7 文档 / 操作和管理指南 / 访问集群数据 / Ceph iSCSI 网关
适用范围 SUSE Enterprise Storage 7

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 目标,请执行以下步骤:

  1. 打开 Windows 服务器管理器。在仪表盘中,选择工具 › iSCSI 发起程序iSCSI 发起程序属性对话框随即显示。选择发现选项卡:

    iSCSI 发起程序属性
    图 22.1︰ iSCSI 发起程序属性
  2. 发现目标门户对话框中的目标字段内,输入目标的主机名或 IP 地址,然后单击确定

    发现目标门户
    图 22.2︰ 发现目标门户
  3. 针对所有其他网关主机名或 IP 地址重复此过程。完成后,查看目标门户列表:

    目标门户
    图 22.3︰ 目标门户
  4. 接下来,切换到目标选项卡并查看已发现的目标。

    目标
    图 22.4︰ 目标
  5. 目标选项卡中单击连接连接目标对话框随机显示。选中启用多路径复选框以启用多路径 I/O (MPIO),然后单击确定

  6. 连接目标对话框关闭后,选择属性查看目标的属性:

    iSCSI 目标属性
    图 22.5︰ iSCSI 目标属性
  7. 选择设备,然后单击 MPIO 查看多路径 I/O 配置:

    设备详细信息
    图 22.6︰ 设备详细信息

    默认的负载平衡策略带子集的协商会议。如果您偏向于单纯的故障转移配置,请将策略更改为仅故障转移

iSCSI 发起程序的配置到此结束。现在,可以像使用任何其他 SCSI 设备一样使用 iSCSI 卷,并可将其初始化,使其可用作卷和驱动器。单击确定关闭 iSCSI 发起程序属性对话框,然后继续在服务器管理器仪表板中配置文件和储存服务角色。

观察新连接的卷。该卷标识为 iSCSI 总线上的 SUSE RBD SCSI 多路径驱动器,并且最初标记为脱机状态,其分区表类型为未知。如果新卷未立即显示,请从任务下拉框中选择重新扫描存储,以重新扫描 iSCSI 总线。

  1. 右键单击 iSCSI 卷,然后从上下文菜单中选择新建卷新建卷向导随即显示。单击下一步,突出显示新连接的 iSCSI 卷,然后单击下一步开始创建新卷。

    新建卷向导
    图 22.7︰ 新建卷向导
  2. 该设备最初是空的,不包含任何分区表。当出现对话框指出将要使用 GPT 分区表初始化卷时,确认该操作:

    脱机磁盘提示
    图 22.8︰ 脱机磁盘提示
  3. 选择卷大小。通常,用户会使用设备的全部容量。然后,指定新建卷将在其上变为可用状态的驱动器盘符或目录名称。接下来,选择要在新卷上创建的文件系统。最后,单击创建确认所做的选择并完成卷的创建:

    确认选择的卷设置
    图 22.9︰ 确认选择的卷设置

    完成该过程后,请检查结果,然后单击关闭结束驱动器初始化。完成初始化后,便可以像使用新初始化的本地驱动器一样使用该卷(及其 NTFS 文件系统)。

22.1.3 连接 VMware

  1. 要连接到 ceph-iscsi 管理的 iSCSI 卷,需要有配置好的 iSCSI 软件适配器。如果 vSphere 配置中未提供此类适配器,请选择配置 › 储存适配器 › 添加 › iSCSI 软件发起程序来创建一个适配器。

  2. 如果适用,请通过右键单击该适配器并从上下文菜单中选择属性,来选择该适配器的属性:

    iSCSI 发起程序属性
    图 22.10︰ iSCSI 发起程序属性
  3. iSCSI 软件发起程序对话框中,单击配置按钮。然后转到动态发现选项卡并选择添加

  4. 输入 ceph-iscsi iSCSI 网关的 IP 地址或主机名。如果在故障转移配置中运行多个 iSCSI 网关,请针对要运行的所有网关重复此步骤。

    添加目标服务器
    图 22.11︰ 添加目标服务器

    输入所有 iSCSI 网关后,请在对话框中单击确定,启动 iSCSI 适配器的重新扫描。

  5. 重新扫描完成后,新的 iSCSI 设备会显示在细节窗格中的储存适配器列表下。对于多路径设备,现在可以右键单击该适配器,然后从上下文菜单中选择管理路径

    管理多路径设备
    图 22.12︰ 管理多路径设备

    您现在应该会看到,所有路径的状态下面都带有绿灯。其中一个路径应已标记为主动 (I/O),其他所有路径只是标记为主动

    多路径的路径列表
    图 22.13︰ 多路径的路径列表
  6. 现在,可以从储存适配器切换到标有储存的项目。在窗格右上角选择添加储存... 打开添加储存对话框。然后选择磁盘/LUN 并单击下一步。新添加的 iSCSI 设备会显示在选择磁盘/LUN 列表中。选择该设备,然后单击下一步继续:

    “添加储存”对话框
    图 22.14︰ “添加储存”对话框

    单击下一步接受默认的磁盘布局。

  7. 属性窗格中,为新数据储存指派名称,然后单击下一步。接受将卷的整个空间用于数据储存的默认设置,或者选择自定义空间设置以创建较小的数据储存:

    自定义空间设置
    图 22.15︰ 自定义空间设置

    单击完成以完成数据储存的创建。

    新数据存储现在即会显示在数据存储列表中,您可以选择它来检索详细信息。现在,您可以像使用任何其他 vSphere 数据存储一样使用 ceph-iscsi 支持的 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 客户可在市售硬件和完全开源的平台上运行真正的分布式、高度可用、有弹性且可自我修复的企业存储技术。