注意
本文档适用于 Ceph 开发版本。
使用Ansible配置iSCSI目标
Ceph iSCSI网关是iSCSI目标节点,也是Ceph客户端节点。Ceph iSCSI网关可以部署在专用节点上,也可以与Ceph对象存储磁盘(OSD)节点共置。以下步骤将安装和配置Ceph iSCSI网关以进行基本操作。
要求:
一个正在运行的Ceph Luminous(12.2.x)集群或更新版本
Red Hat Enterprise Linux/CentOS 7.5(或更新版本);Linux 内核 v4.16(或更新版本)
The
ceph-iscsi
在所有iSCSI网关节点上安装包
安装:
在Ansible安装节点上,该节点可以是管理节点或专用部署节点,执行以下步骤:
As
root
,安装ceph-ansible
软件包:# yum install ceph-ansible
在网关组的
/etc/ansible/hosts
文件中添加条目:[iscsigws] ceph-igw-1 ceph-igw-2
Note
如果将iSCSI网关与OSD节点共置,则将OSD节点添加到[iscsigws]
部分。
Configuration:
The ceph-ansible
包将文件放置在/usr/share/ceph-ansible/group_vars/
目录中,文件名为iscsigws.yml.sample
。创建此示例文件的副本,命名为iscsigws.yml
。查看以下Ansible变量和描述,并相应地进行更新。参见iscsigws.yml.sample
获取高级变量的完整列表。
变量 |
含义/目的 |
---|---|
|
每个网关都需要访问 |
|
定义自定义存储集群名称。 |
|
定义自定义密钥环名称。 |
|
如果设置为 |
|
这是一个布尔值,用于检查每个网关上的多路径和LVM配置设置。它必须至少在第一次运行时设置为true,以确保多路径d和LVM配置正确。 |
|
API的用户名。默认值是admin. |
|
使用API的密码。默认值是admin. |
|
使用API的TCP端口号。默认值是5000. |
|
如果必须使用TLS,则为true。默认值是false。如果为true,则用户必须创建必要的证书和密钥文件。参见 |
|
具有API访问权限的IPv4或IPv6地址列表。默认情况下,只有iSCSI网关节点具有访问权限。 |
部署:
在Ansible安装节点上执行以下步骤。
As
root
,执行Ansible playbook:cd /usr/share/ceph-ansible ansible-playbook site.yml --limit iscsigws
Note
Ansible playbook将处理RPM依赖项、设置守护进程,并安装gwcli,以便使用它创建iSCSI目标并作为LUN导出RBD镜像。在以前的版本中,
iscsigws.yml
可以定义iSCSI目标和其他对象,如客户端、镜像和LUN,但不再支持此功能。从iSCSI网关节点验证配置:
gwcli ls
Note
请参阅使用命令行界面配置 iSCSI 目标部分,使用gwcli工具收集。
重要
尝试使用
targetcli
工具更改配置会导致问题,包括ALUA配置错误和路径故障转移问题。存在数据损坏、iSCSI网关之间配置不匹配以及WWN信息不匹配,从而导致客户端多路径问题的可能性。
服务管理:
The ceph-iscsi
包安装配置管理逻辑和名为rbd-target-api
的Systemd服务。当Systemd服务启用时,rbd-target-api
将在启动时启动并恢复Linux IO状态。Ansible playbook在部署期间禁用目标服务。以下是与rbd-target-api
Systemd服务交互的结果。
systemctl <start|stop|restart|reload> rbd-target-api
reload
重载请求将强制
rbd-target-api
重新读取配置并将其应用于当前运行环境。通常不需要这样做,因为更改是从Ansible并行部署到所有iSCSI网关节点的。stop
停止请求将关闭网关的门户接口,断开与客户端的连接,并从内核中擦除当前LIO配置。这使iSCSI网关恢复到干净状态。当客户端断开连接时,客户端侧多路径层将主动I/O重新调度到其他iSCSI网关。
删除配置:
The ceph-ansible
包提供了一个Ansible playbook来删除iSCSI网关配置和相关RBD镜像。Ansible playbook是/usr/share/ceph-ansible/purge_gateways.yml
。当运行此Ansible playbook时,会提示执行清除的类型:
lio :
在这种模式下,将在所有定义的iSCSI网关上清除LIO配置。创建的磁盘在Ceph存储集群中将保持不变。
all :
当all
如果选择,LIO配置将与all在iSCSI网关环境中定义的RBD镜像一起删除,其他无关的RBD镜像将不会被删除。确保选择正确的模式,此操作将删除数据。
警告
清除操作是对您的iSCSI网关环境的破坏性操作。
警告
如果RBD镜像具有快照或克隆并通过Ceph iSCSI网关导出,清除操作将失败。
[root@rh7-iscsi-client ceph-ansible]# ansible-playbook purge_gateways.yml
Which configuration elements should be purged? (all, lio or abort) [abort]: all
PLAY [Confirm removal of the iSCSI gateway configuration] *********************
GATHERING FACTS ***************************************************************
ok: [localhost]
TASK: [Exit playbook if user aborted the purge] *******************************
skipping: [localhost]
TASK: [set_fact ] *************************************************************
ok: [localhost]
PLAY [Removing the gateway configuration] *************************************
GATHERING FACTS ***************************************************************
ok: [ceph-igw-1]
ok: [ceph-igw-2]
TASK: [igw_purge | purging the gateway configuration] *************************
changed: [ceph-igw-1]
changed: [ceph-igw-2]
TASK: [igw_purge | deleting configured rbd devices] ***************************
changed: [ceph-igw-1]
changed: [ceph-igw-2]
PLAY RECAP ********************************************************************
ceph-igw-1 : ok=3 changed=2 unreachable=0 failed=0
ceph-igw-2 : ok=3 changed=2 unreachable=0 failed=0
localhost : ok=2 changed=0 unreachable=0 failed=0
由 Ceph 基金会带给您
Ceph 文档是一个社区资源,由非盈利的 Ceph 基金会资助和托管Ceph Foundation. 如果您想支持这一点和我们的其他工作,请考虑加入现在加入.