CentOS 7 挂载 IP SAN
环境描述
IP SAN为Dell EQL PS4100,创建卷名称ODB01,分别设置指定IP允许访问和CHAP账户访问。
IP SAN对外服务IP:10.3.6.10
CentOS 1908 7.7:10.3.5.121
1. 安装iSCSI initiator和iscsiadm
iscsiadm是基于命令行的iscsi管理工具,提供了对iscsi节点、会话、连接以及发现记录的操作。
yum install -y iscsi-initiator-utils
cat /etc/iscsi/initiatorname.iscsi #配置文件
systemctl enable iscsi
systemctl start iscsi
systemctl status iscsi
ss -tnl
iscsiadm是个模式化的工具,其模式可通过-m或--mode选项指定,常见的模式有discovery、node、fw、session、host、iface几个,
如果没有额外指定其它选项,则discovery和node会显示其相关的所有记录;session用于显示所有的活动会话和连接,fw显示所有的启动固件值,
host显示所有的iSCSI主机,iface显示/var/lib/iscsi/ifaces目录中的所有ifaces设定。
iscsiadm命令参数如下:
iscsiadm -m discovery [ -d debug_level ] [ -P printlevel ] [ -I iface -t type -p ip:port [ -l ] ]
iscsiadm -m node [ -d debug_level ] [ -P printlevel ] [ -L all,manual,automatic ] [ -U all,manual,automatic ] [ [ -T tar-getname -p ip:port -I iface ] [ -l | -u | -R | -s] ] [ [ -o operation ]
-d, --debug=debug_level 显示debug信息,级别为0-8;
-l, --login
-t, --type=type 这里可以使用的类型为sendtargets(可简写为st)、slp、fw和 isns,此选项仅用于discovery模式,且目前仅支持st、fw和isns;其中st表示允许每个iSCSI target发送一个可用target列表给initiator;
-p, --portal=ip[:port] 指定target服务的IP和端口;
-m, --mode op 可用的mode有discovery, node, fw, host iface 和 session
-T, --targetname=targetname 用于指定target的名字
-u, --logout
-o, --op=OPEARTION:指定针对discoverydb数据库的操作,其仅能为new、delete、update、show和nonpersistent其中之一;
-I, --interface=[iface]:指定执行操作的iSCSI接口,这些接口定义在/var/lib/iscsi/ifaces中;
2.发现目标
默认情况下,iscsi发起方和目标方之间通过端口3260连接。假设已知iscsi的目标方IP是10.3.6.10,运行下列命令:
iscsiadm -m discovery -t sendtargets -p 10.3.6.10:3260 #省略如下
iscsiadm -m discovery -t st -p 10.3.6.10
#这里发现两个卷,分别是EQL上定义的odb01和odb02
10.3.6.10:3260,1 iqn.2001-05.com.equallogic:4-771816-cd88bdc2b-49e0053bc635dd3a-odb01
10.3.6.10:3260,1 iqn.2001-05.com.equallogic:4-771816-f4c8bdc2b-db40053bc665dd3a-odb02
3. 登入节点
以上面被发现的目标为例
iscsiadm -m node –T iqn.2001-05.com.equallogic:4-771816-cd88bdc2b-49e0053bc635dd3a-odb01 -p 10.3.6.10:3260 -l
# 其中iqn.2001-05.com.equallogic:4-771816-cd88bdc2b-49e0053bc635dd3a-odb01是目标名
Logging in to [iface: default, target: iqn.2001-05.com.equallogic:4-771816-cd88bdc2b-49e0053bc635dd3a-odb01, portal: 10.3.6.10,3260] (multiple)
Logging in to [iface: default, target: iqn.2001-05.com.equallogic:4-771816-f4c8bdc2b-db40053bc665dd3a-odb02, portal: 10.3.6.10,3260] (multiple)
Login to [iface: default, target: iqn.2001-05.com.equallogic:4-771816-cd88bdc2b-49e0053bc635dd3a-odb01, portal: 10.3.6.10,3260] successful.
Login to [iface: default, target: iqn.2001-05.com.equallogic:4-771816-f4c8bdc2b-db40053bc665dd3a-odb02, portal: 10.3.6.10,3260] successful.
如果要在系统启动时自动登入
iscsiadm -m node –T iqn.2001-05.com.equallogic:4-771816-cd88bdc2b-49e0053bc635dd3a-odb01 -p 10.3.6.10:3260 --op update -n node.startup -v automatic
退出target会话或卸载iscsi设备(例如退出ipsan-node01节点的target会话):
# iscsiadm -m node -T node -T iqn.2018-02.com.node01.san:1 -p 192.168.10.17 -u
删除target条目的记录(例如退出ipsan-node01节点的target条目的记录):
# iscsiadm -m node -T node -T iqn.2018-02.com.node01.san:1 -p 192.168.10.17 -o delete
特别注意:
在客户端删除了之前discovery发现的可用的target条目,则重启或重启服务后将不会自动进行重连接。
# ls /var/lib/iscsi/send_targets/
# ls /var/lib/iscsi/
# rm -rf /var/lib/iscsi/*
# ls /var/lib/iscsi/
登入需验证码的节点:
(1)开启认证
iscsiadm -m node -T [iSCSI目标名称] -o update --name node.session.auth.authmethod --value=CHAP
#使用-等于--op
#[iSCSI目标名称]即iqn.2001-05.com.equallogic:4-771816-cd88bdc2b-49e0053bc635dd3a-odb01
(2)添加用户
iscsiadm -m node -T [iSCSI目标名称] --op update --name node.session.auth.username --value=[用户名]
(3)添加密码
iscsiadm –m node –T [iSCSI目标名称] –op update –name node.session.auth.password –value=[密码]
4. 查看分区
fdisk -l /dev/sd[a-z] //或者直接使用命令"fdisk -l"
Disk /dev/sdb: 107.4 GB, 107379425280 bytes, 209725440 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sdc: 107.4 GB, 107379425280 bytes, 209725440 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
5. 格式化设备
mkfs.xfs /dev/sdb
如欲将设备格式化为ext4文件系统,运行
mkfs.ext4 /dev/sdb
使用LVM分区
参看其他文章
6. 挂接设备
这里挂载为/opt目录
mkdir /opt
运行mount命令:
mount /dev/sdb /opt
针对iscsi设备的特殊mount选项
运行df –h可以看到:
/dev/sdb 100G 33M 100G 1% /opt
iscsi设备被成功挂接,可以当作常规存储设备使用了。
如果要在系统启动时自动挂接
编辑/etc/fstab
加入一行:
/dev/sdb /opt xfs defaults 0 0
重启测试无效!
创建自己的systemd服务
Step1:编写属于自己的unit文件,命令为mount-fs.service,整个文件如下:
echo '
[Unit]
Description=mount-fs Service
#等待网络启动,等待iscsi服务启动
After=network.target network.service NetworkManager.service iscsi.service
[Service]
Type=oneshot
ExecStart=/bin/bash /root/mount-fs.sh
StandardOutput=syslog
StandardError=inherit
[Install]
WantedBy=multi-user.target
' > /usr/lib/systemd/system/mount-fs.service
Step2:将上述的文件拷贝到RHEL 7系统中/usr/lib/systemd/system/*目录下
Step3:编写unit文件中ExecStart=/bin/bash /root/mount-fs.sh所定义的mount-fs.sh文件,将其放在定义的目录当中,此文件是服务的执行主体。文件内容如下:
echo '
#!/bin/bash
mount /dev/sdb /opt
' > /root/mount-fs.sh
Step4:将mount-fs.service注册到系统当中执行命令:
systemctl enable mount-fs.service
输出:
Created symlink from /etc/systemd/system/multi-user.target.wants/mount-fs.service to /usr/lib/systemd/system/mount-fs.service.
输出表明,注册的过程实际上就是将服务链接到/etc/systemd/system/目录下。
取消服务
systemctl disable mount-fs.service
rm -f /usr/lib/systemd/system/mount-fs.service
rm -f /root/mount-fs.sh
如果磁盘之前有过扩容,想让扩容后的磁盘生效,则需要先重启服务器,umount掉挂载的文件夹(umount dir_name),执行
e2fsck -f /dev/sdb # 诊治数据磁盘,返回磁盘信息
resize2fs /dev/sdb # 重置数据磁盘大小
之后再重新进行上述的mount,不用担心,重新mount 数据不会丢失
7. 登出节点
首先解除挂接
umount /opt
登出
iscsiadm -m node –T iqn.2001-05.com.equallogic:4-771816-cd88bdc2b-49e0053bc635dd3a-odb01 -p 10.3.6.10:3260 –u