#配置存储设备

本步骤仅适用于使用共享集群部署和分布式集群部署场景,其他场景请略过。

若为主备集群部署,需为主集群和备集群分别规划并绑定LUN。

在分布式集群部署中,服务器被分为计算节点服务器(以下简称CN服务器)和数据节点服务器(以下简称DN服务器)两类,其中DN服务器上将挂载NVMe SSD。

下表将列出不同子场景下配置存储设备所需的步骤和要求,请严格遵循指导操作(-表示跳过该步骤):

步骤 共享集群部署 分布式集群部署
磁盘划分 按YFS磁盘规划划分LUN 按YFS磁盘规划划分命名空间
挂载磁盘 多路径方式挂载至所有服务器 挂载至所有DN服务器
绑定磁盘 在所有服务器上执行绑定 -
磁盘映射 - 在所有DN服务器上执行映射
连接磁盘 - 在所有CN服务器上执行连接

Caution:

本文仅以示例步骤介绍操作流程,实际使用过程中可能存在细微差异或执行结果不一致,建议参考对应操作系统的官方指引或联系系统服务商解决。

实际部署环境可能与示例不同,请参考示例调整,请勿将以下配置直接用于生产环境。

# 磁盘划分

崖山文件系统管理(YFS)以磁盘作为存储管理的逻辑单元,并根据使用目的区别为如下两类:

  • 系统盘

    用于集群管理,仅支持1、2、3或5块相同大小的磁盘,每块磁盘容量至少1G(当系统盘数量为1块且AU Size需配置为32M时,要求系统盘大小至少为2G),此类磁盘的绝对路径将作为--system-data参数的值,以,分隔多个磁盘进行配置,例如--system-data /dev/yfs/sys0,/dev/yfs/sys1,/dev/yfs/sys2。绝对路径由本文下述配置生成。

    规划的系统盘个数会影响系统盘组的冗余度(redundancy),1、2/3或5块系统盘分别对应的冗余度为EXTERNAL、NORMAL或HIGH。

    规划的系统盘在安装后无法再更改,请在此步进行确定,如无法确定可咨询我们的技术支持。

  • 数据盘

    用于保存集群业务数据,1块或多块相同大小的磁盘,请根据实际业务需求规划其数量和容量,此类磁盘的绝对路径将作为--data参数的值,以,分隔多个磁盘进行配置,例如--data /dev/yfs/data0,/dev/yfs/data1,/dev/yfs/data2。绝对路径由本文下述配置生成。

    考虑到数据盘组的冗余度,可按实际需求量的倍数规划数据盘的数量。也可在后期运行过程中再根据情况增加数据盘。

在对共享磁盘阵列或NVMe SSD做磁盘划分时,划分单元的用途和容量应与上述两类磁盘进行对应,例如规划3个2G大小系统盘,则需要在共享磁盘阵列划分3个2G大小的LUN,或者在NVMe SSD上划分3个2G大小的命名空间。本文不对存储设备的磁盘划分提供操作指引,请根据厂商提供的安装指导操作。

# 挂载磁盘

共享集群部署时,需要将所有划分好的磁盘(下文称为LUN)以多路径的方式挂载至集群中的所有服务器。

分布式集群部署时,需要将所有划分好的磁盘(下文称为NVMe-oF盘)挂载至集群中的所有DN服务器。

本文不对存储设备的挂载提供操作指引,请管理员根据厂商提供的安装指导操作。

本文假设存储设备已按下表所示进行划分和挂载:

LUN 磁盘用途 所在服务器
/dev/mapper/lun03-sys0 系统盘 172.16.1.2/172.16.1.3
/dev/mapper/lun04-sys1 系统盘 172.16.1.2/172.16.1.3
/dev/mapper/lun05-sys2 系统盘 172.16.1.2/172.16.1.3
/dev/mapper/lun01-data0 数据盘 172.16.1.2/172.16.1.3

# 绑定磁盘(共享集群部署)

请在共享集群部署中的所有服务器上执行下述操作。本标题下所述操作执行结束即完成共享集群部署下的存储设备配置,本文档其他内容请略过。

在将所有的LUN挂载到服务器后,需要按下述操作指导将这些LUN绑定映射到服务器的同一目录下,该目录将作为--disk-found-path参数的值,本文采用默认值/dev/yfs作为示例。

下表为绑定路径示例:

LUN 磁盘用途 规划绑定路径(示例值)
/dev/mapper/lun03-sys0 系统盘 /dev/yfs/sys0
/dev/mapper/lun04-sys1 系统盘 /dev/yfs/sys1
/dev/mapper/lun05-sys2 系统盘 /dev/yfs/sys2
/dev/mapper/lun01-data0 数据盘 /dev/yfs/data0

绑定目录(/dev/yfs)与磁盘名称(data0、sys0等)均为示例值,请根据实际业务需求调整,但命名时需注意:

  • 绑定后磁盘的绝对路径(例如/dev/yfs/sys0)长度不得超过31字节。
  • 绑定目录和磁盘的绝对路径均将作为yasboot package ce gen命令的相应参数值,如有修改,请在执行yasboot package ce gen时使用实际值。

# 首次绑定

本文将介绍通过多路径绑定(推荐)和通过SCSI设备的WWID绑定两种方式,主要差异在于:

序号 步骤 差异说明
0 前提条件 通过SCSI设备的WWID绑定存储设备时,要求目标路径(例如/dev)下各设备的WWID唯一,否则会绑定不成功。
1 步骤1:生成配置文件 二者genDevRuleByUUID.sh脚本内容不同,对应着执行脚本生成的配置文件yashan-device-rule.rules内容亦不同。
2 步骤4(可选):修改多路径配置文件 如果通过多路径绑定存储设备且需要使用基于SCSI持久预留的IO Fencing功能,使用该功能前必须先在共享集群的每个服务器上修改多路径配置文件。

Caution:

  • 通过SCSI设备的WWID绑定存储设备不满足高可用需求,不建议用于生产环境。

  • 本文仅以CentOS和KylinOS V10为例介绍操作流程,实际使用过程中可能存在细微差异或执行结果不一致,建议参考对应操作系统的官方指引或联系系统服务商解决。

请选择合适的方式,以root用户在共享集群的所有服务器上执行对应操作绑定LUN。

# 方式一:通过多路径绑定

# 步骤1:生成配置文件
  1. 以root用户登录服务器。

  2. 在root目录下创建名称为genDevRuleByUUID.sh的脚本:

    # cd ~
    # vi genDevRuleByUUID.sh
    
  3. 输入如下内容,并根据部署环境修改DEVICES为各设备路径,修改TARGETS为各设备绑定名称,名称应与设备路径一一对应,修改YFS_DISK_DIR为绑定目录,保存并退出。

    #/bin/bash
    
    # 请修改为各设备路径
    DEVICES=("/dev/mapper/lun01-data0" "/dev/mapper/lun03-sys0" "/dev/mapper/lun04-sys1" "/dev/mapper/lun05-sys2")
    # 请按DEVICES数组顺序指定这些设备绑定的名称,且建议指定为与业务相关的名称
    TARGETS=("data0"                   "sys0"                   "sys1"                   "sys2")
    # 指定绑定的目录
    YFS_DISK_DIR="yfs"
    
    # 请保持默认,请确保yashan用户已存在
    USER="yashan"
    GROUP="yashan"
    UGROUP="$USER:$GROUP"
    
    if [ ${#TARGETS[@]} != ${#DEVICES[@]} ]
    then
        echo "DEVICES and TARGETS count does not match"
        exit 1
    fi
    
    if [ ${#TARGETS[@]} == 0 ]
    then
        echo "no targets found"
        exit 1
    fi
    
    curDir=$(cd "$(dirname "$0")";pwd)
    rm -f $curDir/yashan-device-rule.rules
    
    count=${#TARGETS[@]}
    
    for ((i = 0; i < $count; i ++))
    do
        device=${DEVICES[$i]}
        target_name=${TARGETS[$i]}
        target="${YFS_DISK_DIR}/${target_name}"
        
        str1="$device:`udevadm info --query=all --name=$device | grep DM_UUID`"
        str2=${str1#*=}
        echo "KERNEL==\"dm-*\",ENV{DM_UUID}==\"${str2}\",SYMLINK+=\"$target\",OWNER=\"$USER\",GROUP=\"$GROUP\",MODE=\"0666\",RUN+=\"/bin/sh -c 'chown -R $UGROUP $target'\""  >> $curDir/yashan-device-rule.rules
    done
    
  4. 执行脚本,生成配置文件:

    # sh ./genDevRuleByUUID.sh
    

    脚本执行成功后,会在当前路径生成名为yashan-device-rule.rules的绑定配置文件,内容如下,实际部署时内容可能有差异:

    # cat yashan-device-rule.rules
    KERNEL=="dm-*",ENV{DM_UUID}=="mpath-36d039ea000a2231f0000e7d9668d7b4a",SYMLINK+="yfs/data0",OWNER="yashan",GROUP="yashan",MODE="0666",RUN+="/bin/sh -c 'chown -R yashan:yashan /dev/yfs/data0'"
    KERNEL=="dm-*",ENV{DM_UUID}=="mpath-36d039ea000a2231f0000e7dd668d7b68",SYMLINK+="yfs/sys0",OWNER="yashan",GROUP="yashan",MODE="0666",RUN+="/bin/sh -c 'chown -R yashan:yashan /dev/yfs/sys0'"
    KERNEL=="dm-*",ENV{DM_UUID}=="mpath-36d039ea000a233b90000e358668d7caf",SYMLINK+="yfs/sys1",OWNER="yashan",GROUP="yashan",MODE="0666",RUN+="/bin/sh -c 'chown -R yashan:yashan /dev/yfs/sys1'"
    KERNEL=="dm-*",ENV{DM_UUID}=="mpath-36d039ea000a233b90000e35a668d7cbf",SYMLINK+="yfs/sys2",OWNER="yashan",GROUP="yashan",MODE="0666",RUN+="/bin/sh -c 'chown -R yashan:yashan /dev/yfs/sys2'"
    

    SYMLINK为绑定设备的别名,检查是否为预期绑定目标。

# 步骤2:绑定存储设备
  1. 将配置文件移动至/etc/udev/rules.d目录下。

    # cp yashan-device-rule.rules /etc/udev/rules.d/yashan-device-rule.rules
    
  2. 加载udev配置。

    # udevadm control --reload-rules
    
  3. 绑定存储设备。

    ## 场景1:绑定规则文件中的所有设备
    # udevadm trigger
    
    ## 场景2:绑定规则文件中的某一设备
    # udevadm trigger --sysname-match=sdf
    
# 步骤3:检查绑定结果
  1. 执行如下命令,确认所有绑定已生效,用户和组均为yashan

    # ls -l /dev/yfs/*
    lrw-rw-rw- 1 yashan yashan 7 Jul 11 14:44 data0 -> ../dm-5
    lrw-rw-rw- 1 yashan yashan 7 Jul 11 14:44 sys0 -> ../dm-7
    lrw-rw-rw- 1 yashan yashan 7 Jul 11 14:44 sys1 -> ../dm-4
    lrw-rw-rw- 1 yashan yashan 7 Jul 11 14:44 sys2 -> ../dm-6
    

    并检查它们指向设备的用户和组均为yashan,且权限为0666

    # ls -l /dev/dm-4
    brw-rw-rw- 1 yashan yashan 253, 4 Jul 11 14:44 /dev/dm-4
    
    # 其他设备类似
    
  2. 在集群所有服务器上执行以下命令,确认各服务器上所有绑定的多路径WWID一致。

    # 对比各服务器上的输出结果是否对应一致
    # /lib/udev/scsi_id --whitelisted  --device=/dev/yfs/data
    # /lib/udev/scsi_id --whitelisted  --device=/dev/yfs/sys0
    # /lib/udev/scsi_id --whitelisted  --device=/dev/yfs/sys1
    # /lib/udev/scsi_id --whitelisted  --device=/dev/yfs/sys2
    

    若两台服务器上同一路经所对应的WWID不一致,说明其挂载的磁阵不是同一个LUN,需联系网络管理员处理。

# 步骤4(可选):修改多路径配置文件

通过多路径绑定存储设备时,在使用基于SCSI持久预留的IO Fencing功能前,必须在共享集群的每台服务器上完成本操作。

  1. 确认已安装mpathpersist工具。

    # mpathpersist -h
    
  2. 修改每个服务器的/etc/multipath.conf文件,添加"reservation_key file"一项到“defaults”部分。

    示例非完整文件内容,实际修改时仅按说明添加选项,请勿修改其他配置项。

    defaults {
        reservation_key file
    }
    

# 方式二:通过SCSI设备的WWID绑定

# 步骤1:生成配置文件
  1. 以root用户登录服务器。

  2. 在root目录下创建名称为genDevRuleByUUID.sh的脚本:

    # cd ~
    # vi genDevRuleByUUID.sh
    
  3. 输入如下内容,并根据部署环境修改DEVICES为各设备路径,修改TARGETS为各设备绑定名称,名称应与设备路径一一对应,修改YFS_DISK_DIR为绑定目录,保存并退出。

    #/bin/bash
    
    # 请修改为各设备路径
    DEVICES=("/dev/sdc" "/dev/sdd" "/dev/sde" "/dev/sdf")
    # 请按DEVICES数组顺序指定这些设备绑定的名称,且建议指定为与业务相关的名称
    TARGETS=("data0"     "sys0"    "sys1"     "sys2")
    # 指定绑定的目录
    YFS_DISK_DIR="yfs"
    
    # 请保持默认,请确保yashan用户已存在
    USER="yashan"
    GROUP="yashan"
    UGROUP="$USER:$GROUP"
    
    if [ ${#TARGETS[@]} != ${#DEVICES[@]} ]
    then
        echo "DEVICES and TARGETS count does not match"
        exit 1
    fi
    
    if [ ${#TARGETS[@]} == 0 ]
    then
        echo "no targets found"
        exit 1
    fi
    
    curDir=$(cd "$(dirname "$0")";pwd)
    rm -f $curDir/yashan-device-rule.rules
    
    count=${#TARGETS[@]}
    
    for ((i = 0; i < $count; i ++))
    do
        device=${DEVICES[$i]}
        target_name=${TARGETS[$i]}
        target="${YFS_DISK_DIR}/${target_name}"
        
        echo "KERNEL==\"sd*\", SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id -g -u -d /dev/\$parent\", RESULT==\"`/usr/lib/udev/scsi_id -g -u -d $device`\",SYMLINK+=\"$target\",OWNER=\"$USER\", GROUP=\"$GROUP\", MODE=\"0666\", RUN+=\"/bin/sh -c 'chown -R $UGROUP /dev/$target'\"" >> $curDir/yashan-device-rule.rules
    done
    
  4. 执行脚本,生成配置文件:

    # sh ./genDevRuleByUUID.sh
    

    脚本执行成功后,会在当前路径生成名为yashan-device-rule.rules的绑定配置文件,内容如下,实际部署时内容可能有差异:

    # cat yashan-device-rule.rules
    KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$parent", RESULT=="36a01c8d100cd2c1b777f88dd000002b4",SYMLINK+="yfs/data0",OWNER="yashan", GROUP="yashan", MODE="0666", RUN+="/bin/sh -c 'chown -R yashan:yashan /dev/yfs/data0'"
    KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$parent", RESULT=="36a01c8d100cd2c1b777f88be000002b3",SYMLINK+="yfs/sys0",OWNER="yashan", GROUP="yashan", MODE="0666", RUN+="/bin/sh -c 'chown -R yashan:yashan /dev/yfs/data0'"
    KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$parent", RESULT=="36a01c8d100cd2c1b777f88be000002b5",SYMLINK+="yfs/sys1",OWNER="yashan", GROUP="yashan", MODE="0666", RUN+="/bin/sh -c 'chown -R yashan:yashan /dev/yfs/data0'"
    KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$parent", RESULT=="36a01c8d100cd2c1b777f88be000002b6",SYMLINK+="yfs/sys2",OWNER="yashan", GROUP="yashan", MODE="0666", RUN+="/bin/sh -c 'chown -R yashan:yashan /dev/yfs/data0'"
    

# 步骤2:绑定存储设备
  1. 将配置文件移动至/etc/udev/rules.d目录下。

    # cp yashan-device-rule.rules /etc/udev/rules.d/yashan-device-rule.rules
    
  2. 加载udev配置。

    # udevadm control --reload-rules
    
  3. 绑定存储设备。

    ## 场景1:绑定规则文件中的所有设备
    # udevadm trigger
    
    ## 场景2:绑定规则文件中的某一设备
    # udevadm trigger --sysname-match=sdf
    
# 步骤3:检查绑定结果
  1. 执行如下命令,确认所有绑定已生效,用户和组均为yashan

    # ls -l /dev/yfs/*
    lrw-rw-rw- 1 yashan yashan 7 Jul 11 14:44 data0 -> ../dm-5
    lrw-rw-rw- 1 yashan yashan 7 Jul 11 14:44 sys0 -> ../dm-7
    lrw-rw-rw- 1 yashan yashan 7 Jul 11 14:44 sys1 -> ../dm-4
    lrw-rw-rw- 1 yashan yashan 7 Jul 11 14:44 sys2 -> ../dm-6
    

    并检查它们指向设备的用户和组均为yashan,且权限为0666

    # ls -l /dev/dm-4
    brw-rw-rw- 1 yashan yashan 253, 4 Jul 11 14:44 /dev/dm-4
    
    # 其他设备类似
    
  2. 在集群所有服务器上执行以下命令,确认各服务器上所有绑定的多路径WWID一致。

    # 对比各服务器上的输出结果是否对应一致
    # /lib/udev/scsi_id --whitelisted  --device=/dev/yfs/data
    # /lib/udev/scsi_id --whitelisted  --device=/dev/yfs/sys0
    # /lib/udev/scsi_id --whitelisted  --device=/dev/yfs/sys1
    # /lib/udev/scsi_id --whitelisted  --device=/dev/yfs/sys2
    

    若两台服务器上同一路经所对应的WWID不一致,说明其挂载的磁阵不是同一个LUN,需联系网络管理员处理。

# 重新绑定

若在数据库运行过程中,需要重新绑定存储设备,可参考以下步骤进行操作:

  1. 以root用户登录目标服务器。

  2. 查看当前的配置规则(即yashan-device-rule.rules文件),确保该文件存在且包含了正确的匹配条件和操作。

    # cat /etc/udev/rules.d/yashan-device-rule.rules
    
    • 如果规则文件没有问题,直接执行后续操作。

    • 如果规则文件不正确,可参考首次绑定中的“步骤1:生成配置文件”重新生成该文件,再执行后续操作。

  3. 重新加载udev配置。

    # udevadm control --reload-rules
    
  4. 重新绑定存储设备。

    ## 场景1:重新绑定规则文件中的所有设备
    # udevadm trigger
    
    ## 场景2:重新绑定规则文件中的某一设备
    # udevadm trigger --sysname-match=sdf
    
  5. 检查设备状态。

    # udevadm info --query=all --name=/dev/sdf
    

# 磁盘映射(分布式集群部署)

分布式集群部署时,需要以root用户或具备sudo权限的用户登录所有DN服务器,对服务器上已挂载的所有NVMe-oF盘进行映射。

假设NVMe SSD已按如下所示划分磁盘并挂载至DN服务器:

NVMe-oF盘路径 磁盘用途 所在服务器
/dev/nvme0n1 系统盘 172.16.1.4
/dev/nvme0n2 系统盘 172.16.1.4
/dev/nvme0n1 系统盘 172.16.1.5
/dev/nvme0n3 数据盘 172.16.1.5

映射NVMe-oF盘需要安装nvme-cli或nvmetcli工具,本文以使用nvmetcli工具为例。

  1. 加载NVMe相关模块和驱动。

    # modprobe nvme_core
    # modprobe nvmet
    # modprobe nvmet_rdma
    # modprobe nvme_fabrics
    # lsmod | grep nvme
    
  2. 安装NVMe管理工具nvmetcli,若已安装无需重复操作。

    # yum install -y nvmetcli
    
  3. 启动nvmetcli配置目标端的子系统和NVMe端口。

    # nvmetcli
    
  4. 进入subsystems目录,创建NVMe-oF子系统。

    Caution:

    子系统的名称必须为NVMe规范名称(NQN,NVMe Qualified Name),建议省略名称由系统自动生成。

    > cd /subsystems
    > create
    

    创建完成后,可以通过ls命令查看子系统信息,请记录新建的子系统的名称便于后续操作使用。

    > ls
    /subsystems
    └──nqn.2014-08.org.nvmexpress:NVMf:uuid:5834f6e0-cb79-40ac-a7cc-f02524340742
    
  5. 允许所有服务器访问上一步新建的子系统(子系统名称仅为示例)。

    > cd nqn.2014-08.org.nvmexpress:NVMf:uuid:5834f6e0-cb79-40ac-a7cc-f02524340742
    > set attr allow_any_host=1
    
  6. 在新子系统下添加命名空间,命名空间ID必须为正整数。

    > cd namespaces/
    > create nsid=100
    
  7. 设置新命名空间对应的设备路径,并将其启用。

    > cd 100
    > set device path=/dev/nvme0n1
    > enable
    
  8. 给新子系统添加子系统端口并配置端口的IP协议版本adrfam、监听地址traddr、传输类型trtype以及传输端口trsvcid

    其中,子系统端口ID必须为正整数,监听地址必须为组网规划子网中的IP地址(例如上表中的172.16.1.4)。传输端口trsvcid必须为按端口规划中开放的端口号。

    > cd /ports
    > create portid=100
    > cd 100/
    > set addr adrfam=ipv4
    > set addr traddr=172.16.1.4
    > set addr trtype=rdma
    > set addr trsvcid=1701
    
  9. 关联NVMe-oF子系统和子系统端口,其中NVMe-oF子系统名称需为上面步骤中创建的子系统实际名称。

    > cd subsystems
    > create nqn.2014-08.org.nvmexpress:NVMf:uuid:5834f6e0-cb79-40ac-a7cc-f02524340742
    
  10. 重复上述4-9步骤,映射其他NVMe-oF盘,建议为每个NVMe-oF盘创建一个独立的NVMe-oF子系统,命名空间ID唯一,便于后续识别。

    如希望取消已关联和已建立的子系统,参照以下命令执行:

    > cd /ports
    > delete 100
    > cd subsystems
    > delete nqn.2014-08.org.nvmexpress:NVMf:uuid:5834f6e0-cb79-40ac-a7cc-f02524340742
    
  11. 登录其他DN服务器重复上述所有步骤,在所有DN服务器上完成NVMe-oF盘映射。

# 连接磁盘(分布式集群部署)

分布式集群部署时,要以root用户或具备sudo权限的用户登录每一台CN服务器,对已完成磁盘映射的所有NVMe-oF盘(包括所有DN服务器上的已映射NVMe-oF盘)进行连接设置。

  1. 加载NVMe相关模块和驱动。

    # modprobe nvme_core
    # modprobe nvmet
    # modprobe nvmet_rdma
    # modprobe nvme_fabrics
    # lsmod | grep nvme
    
  2. 发现NVMe-oF盘。

    # nvme discover -t rdma -q nqn.2014-08.org.nvmexpress:NVMf:uuid:5834f6e0-cb79-40ac-a7cc-f02524340742 -a 172.16.1.4 -s 1701
    # nvme discover -t rdma -q nqn.2014-08.org.nvmexpress:NVMf:uuid:ca8a0467-4b69-4eb2-9f44-6a1928e68065 -a 172.16.1.4 -s 1702
    # nvme discover -t rdma -q nqn.2014-08.org.nvmexpress:NVMf:uuid:d5a8594a-f7ab-4b26-acd3-c440eebdd1b0 -a 172.16.1.5 -s 1703
    # nvme discover -t rdma -q nqn.2014-08.org.nvmexpress:NVMf:uuid:210e4d0c-025c-4c19-9cbf-47882b669d5d -a 172.16.1.5 -s 1700
    
    • -t:指定为磁盘映射中对应的传输类型。

    • -q:指定为磁盘映射中对应的NVMe-oF子系统名称NQN。

    • -a:指定为磁盘映射中对应的监听地址。

    • -s:指定为磁盘映射中对应的传输端口。

  3. 连接已发现的NVMe-oF盘。

    连接参数可执行nvme connect --help命令获取,本文示例语句如下,未指定的其他参数(例如-i、-Q等)将采用默认值。

    ## 示例命令
    # nvme connect -t rdma -n nqn.2014-08.org.nvmexpress:NVMf:uuid:5834f6e0-cb79-40ac-a7cc-f02524340742 -a 172.16.1.4 -w 172.16.1.4 -s 1701
    # nvme connect -t rdma -n nqn.2014-08.org.nvmexpress:NVMf:uuid:ca8a0467-4b69-4eb2-9f44-6a1928e68065 -a 172.16.1.4 -w 172.16.1.4 -s 1702
    # nvme connect -t rdma -n nqn.2014-08.org.nvmexpress:NVMf:uuid:d5a8594a-f7ab-4b26-acd3-c440eebdd1b0 -a 172.16.1.5 -w 172.16.1.4 -s 1703
    # nvme connect -t rdma -n nqn.2014-08.org.nvmexpress:NVMf:uuid:210e4d0c-025c-4c19-9cbf-47882b669d5d -a 172.16.1.5 -w 172.16.1.4 -s 1700
    
    • -t:指定为磁盘映射中对应的传输类型。

    • -n:指定为磁盘映射中对应的NVMe-oF子系统名称NQN。

    • -a:指定为磁盘映射中对应的监听地址。

    • -s:指定为磁盘映射中对应的传输端口。

    • -w:指定为本机IP地址。

  4. 检查NVMe-oF盘信息。

    其中,Node名称由nvme自动生成,并作为本机对已连接的NVMe-oF盘的名称标识。

    # nvme list
    Node             SN                   Model                                    Namespace Usage                      Format           FW Rev
    ---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
    /dev/nvme1n1     a4dbcda30ff2204b     Linux                                    100         5.37  GB /   5.37  GB    512   B +  0 B   3.10.0-1
    /dev/nvme2n1     7f20f5ab5e40f0b7     Linux                                    101        10.74  GB /  10.74  GB    512   B +  0 B   3.10.0-1
    /dev/nvme3n1     0455bf6ba394c03a     Linux                                    101         5.37  GB /   5.37  GB    512   B +  0 B   3.10.0-1
    /dev/nvme4n1     8bba31ba2b54b137     Linux                                    100         5.37  GB /   5.37  GB    512   B +  0 B   3.10.0-1
    
  5. 为安装用户(yashan)授予所有NVMe-oF盘的读写权限。

    # chown -R yashan:yashan /dev/nvme1n1 && chmod 666 /dev/nvme1n1
    # chown -R yashan:yashan /dev/nvme2n1 && chmod 666 /dev/nvme2n1
    # chown -R yashan:yashan /dev/nvme3n1 && chmod 666 /dev/nvme3n1
    # chown -R yashan:yashan /dev/nvme4n1 && chmod 666 /dev/nvme4n1
    
  6. 登录其他CN服务器上述所有步骤完成磁盘连接。

Note:

如希望断开已成功连接的NVMe-oF盘,请参照如下命令执行:

# nvme disconnect -n nqn.2014-08.org.nvmexpress:NVMf:uuid:5834f6e0-cb79-40ac-a7cc-f02524340742
edit-icon
反馈
coperate-icon
coperate
合作
communication-icon
communicate
交流