Centos UC3200 连接使用

环境

UC3200 DSM 3.1.2

Centos 7.9

建立target 以及 iScsi Lun

在SAN Manager的iSCSI中新增一个target,可以自定义名称以及IQN可以更好辨认,如果需要提高安全性可以启用CHAP认证:

这边选择创建新的LUN,如果已经有之前的LUN可以直接映射使用:

这边选择LUN所在的存储空间位置、容量、空间分配类型以及高级功能。

这边空间分配类型功能差异如下:
Think Provision
LUN分配多少空间,在NAS会马上占用相对应的存储空间容量。
由于空间已经在NAS进行过置备,所以读写性能会比较好。
不支持硬件加速以及SnapShot快照功能,如果需要备份只能使用HyperBackup套件进行完整备份。

Thin Provisioning
NAS对会按LUN中实际存储的数据占用NAS的存储空间容量。
由于是按实际使用进行实时置备,读写性能比Think Provision差。
支持硬件加速以及SnapShot快照功能,备份比较方便。
空间回收功能需要iSCSI客户端支持才可以正常工作。

确认新增配置:

安装配置客户端

yum -y install iscsi-initiator-utils

修改配置文件/etc/iscsi/iscsid.conf

修改以下配置,禁止自动发现的iqn自动连接,防止错误挂载其他target导致数据异常。

node.startup = manual

非CHAP认证target连接

使用以下命令发现server的所有target(慎用,操作后会吧本地已有的连接配置清空)

iscsiadm -m discovery -t st -p 10.61.21.207

搜索需要挂载的target:

iscsiadm -m node | grep linux

使用以下命令挂载:

iscsiadm -m node -T iqn.2000-01.com.synology:uc3200.linux-single.d261de7db2 -p 10.61.21.207 -l

修改配置为开机自动连接:

iscsiadm -m node -T iqn.2000-01.com.synology:uc3200.linux-single.d261de7db2 -p 10.61.21.207 -o update -n node.startup -v automatic

CHAP认证target连接

使用以下命令发现server的所有target(慎用,操作后会吧本地已有的连接配置清空)

iscsiadm -m discovery -t st -p 10.61.21.207

搜索需要挂载的target:

iscsiadm -m node | grep linux

新增CHAP认证信息:

iscsiadm -m node -T iqn.2000-01.com.synology:uc3200.linux-single.d261de7db2 -p 10.61.21.207 -o update -n node.session.auth.authmethod -v CHAP

iscsiadm -m node -T iqn.2000-01.com.synology:uc3200.linux-single.d261de7db2 -p 10.61.21.207 -o update -n node.session.auth.username -v test

iscsiadm -m node -T iqn.2000-01.com.synology:uc3200.linux-single.d261de7db2 -p 10.61.21.207 -o update -n node.session.auth.password -v 111111111111

检查配置是否生效:

iscsiadm -m node -T iqn.2000-01.com.synology:uc3200.linux-single.d261de7db2 -p 10.61.21.207 | grep auth

如果是双向CHAP认证需要额外增加以下信息:

iscsiadm -m node -T iqn.2000-01.com.synology:uc3200.linux-single.d261de7db2 -p 10.61.21.207 -o update -n node.session.auth.username_in -v test2

iscsiadm -m node -T iqn.2000-01.com.synology:uc3200.linux-single.d261de7db2 -p 10.61.21.207 -o update -n node.session.auth.password_in -v 222222222222

使用以下命令挂载:

iscsiadm -m node -T iqn.2000-01.com.synology:uc3200.linux-single.d261de7db2 -p 10.61.21.207 -l

修改配置为开机自动连接:

iscsiadm -m node -T iqn.2000-01.com.synology:uc3200.linux-single.d261de7db2 -p 10.61.21.207 -o update -n node.startup -v automatic

如果需要取消CHAP认证请使用以下命令:

iscsiadm -m node -T iqn.2000-01.com.synology:uc3200.linux-single.d261de7db2 -p 10.61.21.207 -o update -n node.session.auth.authmethod -v None

iscsiadm -m node -T iqn.2000-01.com.synology:uc3200.linux-single.d261de7db2 -p 10.61.21.207 -o update -n node.session.auth.username --value=

iscsiadm -m node -T iqn.2000-01.com.synology:uc3200.linux-single.d261de7db2 -p 10.61.21.207 -o update -n node.session.auth.password --value=

iscsiadm -m node -T iqn.2000-01.com.synology:uc3200.linux-single.d261de7db2 -p 10.61.21.207 -o update -n node.session.auth.username_in --value=

iscsiadm -m node -T iqn.2000-01.com.synology:uc3200.linux-single.d261de7db2 -p 10.61.21.207 -o update -n node.session.auth.password_in --value=

初始化iscsi磁盘

查看当前装载的卷位置:

iscsiadm -m session -P 3

由于新的LUN空间并不带文件系统这边使用fdisk创建gpt文件系统并建立分区:

格式化后可以直接使用:

配置开机自动挂载

使用以下命令查找卷的UUID以及文件系统格式:

blkid

编辑 /etc/fstab 添加自动挂载信息:

UUID="3a0c7145-5cf0-4a32-b40d-a8e33ed94703" /iscsilun1 xfs defaults,_netdev 0 0

手动卸载当前装载卷,然后再尝试装载查看配置是否正常:

多路径连接

yum install –y device-mapper device-mapper-multipath

复制默认配置档

cp /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc/multipath.conf

使用以下命令查看设备的wwid

multipath -ll

如果有提示DM multipath kernel driver not loaded则需要使用以下命令启用服务:

systemctl start multipathd

这边看到ISCSILUN的 wwid为36001405303533efd6452d4749daa4eda

编辑/etc/multipath.conf添加以下信息:

blacklist {
       devnode "sda"
}
multipaths {
       multipath {
               wwid                    36001405303533efd6452d4749daa4eda
               alias                   ISCSIlun1
               path_grouping_policy    multibus
               path_selector           "round-robin 0"
               failback                followover
               rr_weight               priorities
               no_path_retry           5
       }
}

使用以下命令重新加载multipath配置:

systemctl reload multipathd

查看状态是是否有正常载入:

配置开机自动挂载

使用以下命令查找卷的UUID以及文件系统格式:

blkid

编辑 /etc/fstab 添加自动挂载信息:

UUID="3a0c7145-5cf0-4a32-b40d-a8e33ed94703" /iscsilun1 xfs defaults,_netdev 0 0

手动卸载当前装载卷,然后再尝试装载查看配置是否正常:

故障转移测试

复制文件到UC3200的iScsi磁盘,此时iScsi服务是被B控制器接管的:

可以在集群性能页面看到多路径传输功能正常:

移除当前存储空间所在控制器B:

后台会有以下错误:

路径状态会变成block然后自动恢复正常

传输发生短暂中断后恢复正常:

然后将控制器插回:

后台会有以下错误:

验证文件MD5未发生数据丢失问题:

安全卸载

先使用umount命令将iscsi存储卸载:

然后使用iscsiadm命令卸载所有路径:

绑定udev(可选)

查看当前装载的卷位置:

iscsiadm -m session -P 3

查看设备ID:

/lib/udev/scsi_id -g -u -d /dev/sdb

添加配置文件:

vi /etc/udev/rules.d/scsi.rules

centos6:

KERNEL=="sd*", BUS=="scsi",PROGRAM=="/sbin/scsi_id i --whitelisted --device=/dev/$name", RESULT=="360014053035330bdede7d44fad8acbdb", NAME="ISCSIlun1",ACTION=="add|change",OWNER="root",GROUP="root",MODE="0660"

centos7:

KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/lib/udev/scsi_id -g -u -d /dev/$name",RESULT=="360014053035330bdede7d44fad8acbdb",SYMLINK+="ISCSIlun1",OWNER="root",GROUP="root",MODE="0660"

如果有多个分区

KERNEL=="sd?1",SUBSYSTEM=="block",PROGRAM=="/lib/udev/scsi_id -g -u -d /dev/$name",RESULT=="360014053035330bdede7d44fad8acbdb",SYMLINK+="ISCSIlun1",OWNER="root",GROUP="root",MODE="0660"
KERNEL=="sd?2",SUBSYSTEM=="block",PROGRAM=="/lib/udev/scsi_id -g -u -d /dev/$name",RESULT=="360014053035330bdede7d44fad8acbdb",SYMLINK+="ISCSIlun2",OWNER="root",GROUP="root",MODE="0660"

使配置生效:

centos6:

/sbin/udevadm control --reload-rules
/sbin/start_udev

centos7:

/sbin/udevadm trigger --type=devices --action=change
udevadm control --reload-rules