- 环境
- 建立target 以及 iScsi Lun
- 安装配置客户端
- 非CHAP认证target连接
- CHAP认证target连接
- 初始化iscsi磁盘
- 多路径连接
- 故障转移测试
- 安全卸载
- 绑定udev(可选)
环境
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