本文示例适用于CentOS 6.X/CentOS 7.X/Ubuntu等操作系统。本文中云主机操作系统主要以CentOS 7.6为例,并对不同操作系统之间的差异进行说明。
1. 挂载iSCSI共享卷至云主机
登录铜牛云控制台。
在左侧导航栏中依次选择“产品与服务 > 存储> 云硬盘”。
在云硬盘列表页面,单击待挂载iSCSI共享卷后操作列的“挂载”。

在挂载弹窗中,单击待挂载云主机实例后的“挂载”。
挂载完成后,在云硬盘列表页面单击硬盘ID,跳转到硬盘详情页面。
可以在“挂载信息”中看到iSCSI共享卷的“存储网段”、“控制器地址”,以及所挂载实例的网卡地址、网卡掩码、网卡网关等信息。

2. 登录云主机进行操作
在操作页面输入ip addr命令,可以看到主机新增了一块网卡。
本示例中,新增网卡名称为eth1,请您根据实际的信息做相应替换,后文不再提示。

(可选)如果是裸金属实例,需要先进入如下配置。
定位当前使用的网卡,先使用ip addr命令查看当前网卡。
本示例中所使用的ens1f1为此步骤中的网卡名称,请您根据实际的信息做相应替换,后文不再提示。

然后执行批量启动命令,示例如下:
for i in `ip a |grep -E 'ens[0-9]*|eth[0-9]'| grep -v "state UP" | awk -F: '{print $2}'`;do ip link set dev $i up;done
然后再次执行ip addr命令,与第一次ip addr命令得到的结果做对比,可知up起来的网卡为所需要定位的网卡。

接下来为此网卡配置IP地址、子网掩码和网关。
本示例中所使用的<10.0.11.26>段为上一步骤中的“网卡地址”,<255.255.255.0>为上一步骤中的“网卡掩码”,<10.0.11.1>为上一步骤中的“网卡网关”,< 10.0.44.128 25>为上一步骤中的“存储网段”,请您根据实际的信息做相应替换,后文不再提示。
对于不同的操作系统,使用的命令有所差异,具体如下:
CentOS:
增加/etc/sysconfig/network-scripts/route-ens1f1文件。
[root@i-9Ugzds6NaA ~]# cat /etc/sysconfig/network-scripts/route-ens1f1
IPADDR=10.0.11.26
NETMASK=255.255.255.0
GATEWAY=10.0.11.1
# 配置持久化的静态路由规则,使得重启network或系统后,配置仍然保留,如果重装系统,需要重新配置该路由规则。
10.0.44.128/25 via 10.0.11.1 dev ens1f1
Ubuntu:
修改/etc/network/interfaces 配置文件,修改新加入的存储网卡(如示例中的eth1)相关的内容,增加静态路由配置,如果重装系统,需要重新配置该路由规则。
# 修改后:
auto eth1
iface eth1 inet static
#hwaddr ea:16:3e:82:32:9d
address 10.0.11.26
netmask 255.255.255.0
dns-nameservers 114.114.114.114
up ip route add 10.0.44.128/25 via 10.0.11.1 // 增加内容
在主机内增加静态路由规则,如果重装系统,需要重新配置该路由规则。
[root@i-9Ugzds6NaA ~]# ip route add 10.0.44.128/25 via 10.0.11.1
配置文件保存后,对所使用的存储网卡做down/up操作,使配置生效。
[root@i-9Ugzds6NaA ~]# cd /etc/sysconfig/network-scripts/
[root@i-9Ugzds6NaA network-scripts]# ifdown ifcfg-ens1f1
[root@i-9Ugzds6NaA network-scripts]# ifup ifcfg-ens1f1安装访问iSCSI共享卷所需要的应用程序。
CentOS:
yum install iscsi-initiator-utils device-mapper-multipath -y
Ubuntu:
apt-get update
apt-get install multipath-tools -y
apt-get install open-iscsi -y更新/etc/iscsi/initiatorname.iscsi文件,使其和存储后端配置一致。该文件内容格式为:
InitiatorName=iqn.2020-07.com.unicloud.iscsi:{InstanceId}
其中的“InstanceID”为主机实例ID,此ID可以在弹性云主机控制台查看,请您根据实际的信息做相应替换,后文不再提示。

本示例中所更新的配置如下:
[root@i-9Ugzds6NaA ~]# cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2020-07.com.unicloud.iscsi:ecs-j6piczqdf2bl更新/etc/iscsi/iscsid.conf配置文件,取消以下auth配置的注释,并修改其中的username和password。其中InstanceId为云主机实例ID,其他CHAP设置保持为注释状态。
node.session.auth.authmethod = CHAP
node.session.auth.username = InstanceId
node.session.auth.password = InstanceId
discovery.sendtargets.auth.authmethod = CHAP
discovery.sendtargets.auth.username = InstanceId
discovery.sendtargets.auth.password = InstanceId检查/etc/iscsi/iscsid.conf以下参数,部分系统默认值为“maual”,建议修改该配置为 "automatic",使得node节点重启后可以自动登录。
node.startup = automatic
配置multipath,Ubuntu操作系统不需要此步骤,可以跳过。
CentOS:添加/etc/multipath.conf文件
defaults {
polling_interval 10
max_fds 8192
user_friendly_names no
}
devices {
device {
vendor "3PARdata"
product "VV"
path_grouping_policy "group_by_prio"
path_selector "round-robin 0"
path_checker tur
features "0"
hardware_handler "1 alua"
prio "alua"
failback immediate
rr_weight "uniform"
no_path_retry 18
rr_min_io_rq 1
detect_prio yes
fast_io_fail_tmo 10
dev_loss_tmo "infinity"
}
}
blacklist {}
启动服务。
CentOS6:
chkconfig iscsi on
service iscsi start
chkconfig iscsid on
service iscsid start
chkconfig multipathd onservice multipathd start
CentOS7:
systemctl enable iscsid multipathd
systemctl start iscsid multipathd
Ubuntu:
service iscsi start
service iscsid startservice multipath-tools start
发现iscsi Target,此步骤中使用的<10.0.44.130>和<10.0.44.131>为步骤5中的“控制器地址”,请您根据实际的信息做相应替换,后文不再提示。
[root@i-9Ugzds6NaA ~]# iscsiadm --mode discovery --type st --portal 10.0.44.130
10.0.44.130:3260,122 iqn.2000-05.com.3pardata:21220002ac022fc7
[root@i-9Ugzds6NaA ~]# iscsiadm --mode discovery --type st --portal 10.0.44.131
10.0.44.131:3260,22 iqn.2000-05.com.3pardata:20220002ac022fc7登录节点。
[root@i-9Ugzds6NaA ~]# iscsiadm -m node -l
Logging in to [iface: default, target: iqn.2000-05.com.3pardata:21220002ac022fc7, portal: 10.0.44.130,3260] (multiple)
Logging in to [iface: default, target: iqn.2000-05.com.3pardata:20220002ac022fc7, portal: 10.0.44.131,3260] (multiple)
Login to [iface: default, target: iqn.2000-05.com.3pardata:21220002ac022fc7, portal: 10.0.44.130,3260] successful.
Login to [iface: default, target: iqn.2000-05.com.3pardata:20220002ac022fc7, portal: 10.0.44.131,3260] successful.验证iSCSI共享卷,可以看到iSCSI共享卷已经连接到多路径设备 /dev/mapper/360002ac0000000000000156d00022fc7。若您已挂载多块共享卷,则此处应该可以看到所有已挂载的共享卷。
[root@i-9Ugzds6NaA ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
└─360002ac0000000000000156d00022fc7 252:0 0 20G 0 mpath
sdb 8:16 0 20G 0 disk
└─360002ac0000000000000156d00022fc7 252:0 0 20G 0 mpath
sr0 11:0 1 384K 0 rom
vda 253:0 0 40G 0 disk
└─vda1 253:1 0 40G 0 part /
[root@i-9Ugzds6NaA ~]# ll /dev/mapper/360002ac0000000000000156d00022fc7
lrwxrwxrwx 1 root root 7 Sep 8 15:23 /dev/mapper/360002ac0000000000000156d00022fc7 -> ../dm-0
[root@i-9Ugzds6NaA ~]# multipath -ll
360002ac0000000000000156d00022fc7 dm-0 3PARdata,VV
size=20G features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
`-+- policy='round-robin 0' prio=50 status=active
|- 17:0:0:0 sdb 8:16 active ready running
`- 18:0:0:0 sda 8:0 active ready running格式化multipath多路径设备,可以实现对iSCSI共享卷的使用。如下为展示将iSCSI共享卷格式化为ext4文件系统(非共享文件系统)的操作。
mkfs.ext4 /dev/mapper/360002ac0000000000000156d00022fc7
mount /dev/mapper/360002ac0000000000000156d00022fc7 /mnt
如果需要配置多路径设备开机后自动挂载到指定目录,需要将挂载信息添加到 /etc/fstab 文件。另外,由于 iSCSI 协议是基于 TCP/IP 网络传输数据,因此注意添加 _netdev 参数,等待系统网络准备就绪后挂载。
将以下内容追加到 /etc/fstab 文件末尾,注意根据实际环境,更新多路径设备、挂载点、文件系统等。
/dev/mapper/360002ac0000000000000154400022fc7/mnt ext4 defaults,_netdev 0 0
