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 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 的一个关键组件,使用它可以从任何支持 iSCSI 协议的服务器或客户端访问高度可用的分布式块存储。在一个或多个 iSCSI 网关主机上使用
   ceph-iscsi 可将 Ceph RBD 映像用作与 iSCSI
   目标关联的逻辑单元 (LU),并可根据需要以负载平衡且高度可用的方式来访问该逻辑单元。
  
   由于所有 ceph-iscsi 配置都存储在 Ceph RADOS
   对象存储中,ceph-iscsi
   网关主机先天就不具有持久性状态,因而可以任意对其进行更换或者增减。因此,借助 SUSE Enterprise Storage 7,SUSE
   客户可在市售硬件和完全开源的平台上运行真正的分布式、高度可用、有弹性且可自我修复的企业存储技术。
  















