注意
本文档适用于 Ceph 的开发版本。
VMware ESX 的 iSCSI 发起程序
先决条件
VMware ESX 6.5 或更高版本,使用虚拟机兼容性 6.5 和 VMFS 6。
iSCSI 发现和多路径设备设置
以下说明将使用默认的 vSphere Web 客户端和 esxcli。
启用软件 iSCSI
从“导航器”中单击“存储”,然后选择“适配器”选项卡。从那里右键单击“配置 iSCSI”。
设置发起程序名称
如果在“名称和别名”部分中的发起程序名称与在 gwcli 设置期间创建客户端时使用的名称或 ansible client_connections 客户端变量中使用的发起程序名称不同,则 ssh 到 ESX 主机并运行以下 esxcli 命令来更改名称。
获取软件 iSCSI 的适配器名称
> esxcli iscsi adapter list > Adapter Driver State UID Description > ------- --------- ------ ------------- ---------------------- > vmhba64 iscsi_vmk online iscsi.vmhba64 iSCSI Software Adapter
在此示例中,软件 iSCSI 适配器是 vmhba64,发起程序名称是 iqn.1994-05.com.redhat:rh7-client
> esxcli iscsi adapter set -A vmhba64 -n iqn.1994-05.com.redhat:rh7-client
设置 CHAP
展开 CHAP 身份验证部分,选择“除非目标要求,否则不使用 CHAP”,然后输入在 gwcli auth 命令或 ansible client_connections 凭据变量中使用的 CHAP 凭据。
相互 CHAP 身份验证部分应选择“不使用 CHAP”。
警告:Web 客户端中存在一个错误,即请求的 CHAP 设置并非总是最初使用。在 iSCSI 网关内核日志中,您将看到错误
> kernel: CHAP user or password not set for Initiator ACL > kernel: Security negotiation failed. > kernel: iSCSI Login negotiation failed.
要解决此问题,请使用 esxcli 命令设置 CHAP 设置。这里的 authname 是用户名,secret 是在前面的示例中使用的密码
> esxcli iscsi adapter auth chap set --direction=uni --authname=myiscsiusername --secret=myiscsipassword --level=discouraged -A vmhba64
配置 iSCSI 设置
展开高级设置并将“RecoveryTimeout”设置为 25。
设置发现地址
在动态目标部分,单击“添加动态目标”,然后在地址下添加在 gwcli 部分的 iSCSI 网关设置阶段添加的一个网关 IP 地址,或在 ansible gateway_ip_list 变量中设置的 IP。只需要添加一个地址,因为网关已设置,因此所有 iSCSI 门户都在发现期间返回。
最后,单击“保存配置”按钮。在设备选项卡中,您应该会看到 RBD 镜像。
LUN 应自动配置并使用 ALUA SATP 和 MRU PSP。不得使用其他 SATP 和 PSP。这可以通过 esxcli 命令进行验证
> esxcli storage nmp path list -d eui.your_devices_id