10.3. 安装 iSCSI 网关
作为存储管理员,您必须先安装必要的软件包,然后才能利用 Ceph iSCSI 网关的优势。您可以使用命令行界面安装 Ceph iSCSI 网关。
每个 iSCSI 网关运行 Linux I/O 目标内核子系统 (LIO) 以提供 iSCSI 协议支持。LIO 利用用户空间透传 (TCMU) 与 Ceph librbd
库交互,将 RBD 镜像公开给 iSCSI 客户端。利用 Ceph iSCSI 网关,您可以有效地运行完全集成的块存储基础架构,其具备传统存储区域网络 (SAN) 的所有功能和好处。
10.3.1. 先决条件
- Red Hat Enterprise Linux 8.4 或更高版本。
- 运行 Red Hat Ceph Storage 5 或更高版本的集群。
10.3.2. 使用命令行界面安装 Ceph iSCSI 网关
Ceph iSCSI 网关是 iSCSI 目标节点,也是 Ceph 客户端节点。Ceph iSCSI 网关可以是单机节点,也可以并置在 Ceph 对象存储磁盘(OSD)节点上。完成以下步骤,安装 Ceph iSCSI 网关。
先决条件
- Red Hat Enterprise Linux 8.4 或更高版本
- Red Hat Ceph Storage 5 集群或更高
-
如果 Ceph iSCSI 网关不在 OSD 节点上并置,请将位于
/etc/ceph/
目录下的 Ceph 配置文件从存储集群中正在运行的 Ceph 节点复制到所有 iSCSI 网关节点。Ceph 配置文件必须存在于/etc/ceph/
下的 iSCSI 网关主机上。 - 在所有 Ceph iSCSI 网关主机上,启用 Ceph 工具存储库。
- 在所有 Ceph iSCSI 网关主机上,安装和配置 Ceph 命令行界面。
- 如果需要,在所有 Ceph iSCSI 节点上的防火墙上打开 TCP 端口 3260 和 5000。
- 新建或使用现有的 RADOS 块设备 (RBD)。
流程
检索主机上 iSCSI 容器的信息:
示例
[root@iscsigw ~]# podman ps
登录到 Cephadm shell:
示例
[root@iscsigw ~]# cephadm shell
可选:在所有 Ceph iSCSI 网关主机上,根据需要安装和配置 OpenSSL 实用程序。
安装
openssl
软件包:示例
[ceph: root@iscsigw /]# yum install openssl
在主 iSCSI 网关节点上,创建一个目录来存放 SSL 密钥:
示例
[ceph: root@iscsigw /]# mkdir ~/ssl-keys [ceph: root@iscsigw /]# cd ~/ssl-keys
在主 iSCSI 网关节点上,创建证书和密钥文件。出现提示时,输入环境信息。
示例
[ceph: root@iscsigw /]# openssl req -newkey rsa:2048 -nodes -keyout iscsi-gateway.key -x509 -days 365 -out iscsi-gateway.crt
在主 iSCSI 网关节点上,创建一个 PEM 文件:
示例
[ceph: root@iscsigw /]# cat iscsi-gateway.crt iscsi-gateway.key > iscsi-gateway.pem
在主 iSCSI 网关节点上,创建一个公钥:
示例
[ceph: root@iscsigw /]# openssl x509 -inform pem -in iscsi-gateway.pem -pubkey -noout > iscsi-gateway-pub.key
-
从主 iSCSI 网关节点,将
iscsi-gateway.crt
、iscsi-gateway.pem
、iscsi-gateway-pub.key
和iscsi-gateway.key
文件复制到其他 iSCSI 网关主机上的/etc/ceph/
目录中。
使用以下命令创建池:
语法
ceph osd pool create POOL_NAME PG_NUM ceph osd pool application enable POOL_NAME rbd rbd pool init -p POOL_NAME
示例
[ceph: root@iscsigw /]# ceph osd pool create pool1 100 [ceph: root@iscsigw /]# ceph osd pool application enable pool1 rbd [ceph: root@iscsigw /]# rbd pool init -p pool1
在 Ceph iSCSI 网关节点上创建配置文件。
在
/etc/ceph/
目录中创建一个名为iscsi-gateway.yaml
的文件:示例
[ceph: root@iscsigw /]# touch /etc/ceph/iscsi-gateway.yaml
编辑
iscsi-gateway.yaml
文件并添加以下行:语法
service_type: iscsi service_id: iscsi placement: hosts: - HOST_NAME - HOST_NAME spec: pool: POOL_NAME # RADOS pool where ceph-iscsi config data is stored. trusted_ip_list: "IP_ADDRESS_1,IP_ADDRESS_2"
示例
service_type: iscsi service_id: iscsi placement: hosts: - host01 - host02 spec: pool: iscsipool1 trusted_ip_list: "10.80.100.100,10.8.100.113"
更改
/etc/ceph/
的路径,并使用以下命令应用规格:示例
[ceph: root@iscsigw /]# ceph orch apply -i iscsi-gateway.yaml
- 接下来,配置目标、LUN 和客户端。详情请参阅使用命令行界面配置 iSCSI 目标 部分。
其它资源
- 有关选项的详情,请查看 iSCSI 网关变量部分。
- 在 Ceph 仪表板中创建 iSCSI 目标