CentOS7客户端挂载iSCSI网络存储硬盘
一、什么是iSCSI
iSCSI(Internet Small Computer System Interface),Internet小型计算机系统接口,又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术,由IETF提出,并于2003年2月11日成为正式的标准。--来自百度百科
二、使用场景
在服务器本身存储空间不足或者特殊场景下必须使用网络存储盘,那么可以在IP-SAN存储映射Lun给主机使用,或者使用服务器搭建iscsi服务端,把服务器的存储设备(裸盘、分区、逻辑卷、文件、内存均可)映射给其他的服务器。
三、本文案例说明
CentOS7.4安装targetcli作为服务端,IP:192.168.1.10,映射一个4G的分区/dev/sdb1给客户端(模拟IP-SAN存储)
CentOS7.4安装iscsi-initiator-utils作为客户端,IP:192.168.1.11
四、服务端配置
现场一般会提供真实的IP-SAN存储磁盘映射Lun,本文省略Linux服务器搭建iscsi服务端配置内容(如果需要可留言,下次再写关于CentOS7如何配置iscsi服务端)。
五、客户端软件获取
可从下文给出的清华大学的网站下载iscsi-initiator-utils软件包,也可以从iso安装镜像文件中Packages目录复制。
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages
iscsi-initiator-utils-6.2.0.874-19.el7.x86_64.rpm
iscsi-initiator-utils-iscsiuio-6.2.0.874-19.el7.x86_64.rpm
代码行内容可向右滑动查看后面的内容。
六、客户端软件安装
[root@localtest11 ~]# rpm -ivh iscsi-initiator-utils-6.2.0.874-19.el7.x86_64.rpm iscsi-initiator-utils-iscsiuio-6.2.0.874-19.el7.x86_64.rpm
warning: iscsi-initiator-utils-6.2.0.874-19.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:iscsi-initiator-utils-iscsiuio-6.################################# [ 50%]
2:iscsi-initiator-utils-6.2.0.874-1################################# [100%]
iscsiadm主要参数详解
-m --mode指定模式,发现:discovery 登陆:node 会话:session
-l(小写L) --login登陆
-t --type指定类型,一般参数为sendtarget,简写为st
-o --op=op 指定选项,new delete update show nonpersistent
可以用-o delete 对已存在的node进行删除
-P n 指定输出详细信息,[0|1|2|3],有四种格式可选
-u --logout 登出
-T --targetname=targetanme 指定要使用的服务器端的target名称,有时候服务器端创建了多个target
七、iscsi磁盘识别
测试服务端3260端口连通性,下文结果表示可正常访问。
[ ]
Trying 192.168.1.10...
Connected to 192.168.1.10.
Escape character is '^]'.
发现iscsi存储target,如果存储是双控制器,那么每个控制器的IP都需要执行以下发现的命令。
[root@localtest11 ~]#iscsiadm -m discovery -t sendtargets -p 192.168.1.10
192.168.1.10:3260,1 iqn.2003-01.org.linux-iscsi.localtest10.x8664:sn.2de9c9f90c81
发现的target 信息会保存在/var/lib/iscsi/node 目录下。
[root@localtest11 ~]# tree /var/lib/iscsi/
/var/lib/iscsi/
|-- ifaces
|-- isns
|-- nodes
| `-- iqn.2003-01.org.linux-iscsi.localtest10.x8664:sn.2de9c9f90c81
| `-- 192.168.1.10,3260,1
| `-- default
|-- send_targets
| `-- 192.168.1.10,3260
| |-- iqn.2003-01.org.linux-iscsi.localtest10.x8664:sn.2de9c9f90c81,192.168.1.10,3260,1,default -> /var/lib/iscsi/nodes/iqn.2003-01.org.linux-iscsi.localtest10.x8664:sn.2de9c9f90c81/192.168.1.10,3260,1
| `-- st_config
|-- slp
`-- static
登录iscsi存储
[root@localtest11 ~]# iscsiadm -m node --login
Logging in to [iface: default, target: iqn.2003-01.org.linux-iscsi.localtest10.x8664:sn.2de9c9f90c81, portal: 192.168.1.10,3260] (multiple)
Login to [iface: default, target: iqn.2003-01.org.linux-iscsi.localtest10.x8664:sn.2de9c9f90c81, portal: 192.168.1.10,3260] successful.
使用lsblk命令查看网络磁盘识别情况,下文sdb是iscsi存储映射过来的网络盘。
[root@localtest11 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
8:1 0 1M 0 part
8:2 0 1G 0 part /boot
8:3 0 2G 0 part [SWAP]
8:4 0 1K 0 part
8:5 0 128M 0 part /boot/efi
8:6 0 16.9G 0 part
253:0 0 8.4G 0 lvm /
253:1 0 8.4G 0 lvm /opt
sdb 8:16 0 4G 0 disk
~]# lsblk -S
NAME HCTL TYPE VENDOR MODEL REV TRAN
sda 0:0:0:0 disk VMware, VMware Virtual S 1.0 spi
sdb 5:0:0:0 disk LIO-ORG disk01 4.0 iscsi
0:0:0 rom NECVMWar VMware IDE CDR10 1.00 ata :
八、磁盘使用
新磁盘sdb可用于单独创建文件系统或者扩容到现有的逻辑卷,不建议存储盘和本机服务器自带硬盘在卷组里混合使用。一般某一方出现故障将影响整个系统的数据,所有本文就单独创建文件系统举例说明。
需求:创建1个4G的xfs格式的文件系统,挂载点为/data,开机自动挂载。
步骤如下:
1.将/dev/sdb格式化xfs文件系统
[root@localtest11 ~]# mkfs.xfs /dev/sdb
meta-data=/dev/sdb isize=512 agcount=4, agsize=262080 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=1048320, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
2.写入自动挂载配置信息并验证,此处_netdev网络标识参数必须要加上,结果请看下文代码最后一行。不然开机将无法正常启动,会进入停留在维护模式,系统无法正常启动。
[root@localtest11 ~]# echo "/dev/sdb /data xfs defaults,_netdev 0 0 " >> /etc/fstab
[root@localtest11 ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Dec 29 11:08:01 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos_hikvisionos-root / xfs defaults 0 0
UUID=0f4f386f-d9e6-49a6-be3e-6dd7f61bfe7c /boot xfs defaults 0 0
UUID=D8CE-F388 /boot/efi vfat defaults,uid=0,gid=0,umask=0077,shortname=winnt 0 0
/dev/mapper/centos_hikvisionos-opt /opt xfs defaults 0 0
UUID=8c3237fc-32b6-432b-951b-d7250a639ee3 swap swap defaults 0 0
/dev/sdb /data xfs defaults,_netdev 0 0
3.创建挂载点/data,执行挂载,df查验,最后一行已打印/dev/sdb挂载信息。
[root@localtest11 ~]# mkdir /data
[root@localtest11 ~]# mount /data
[root@localtest11 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos_hikvisionos-root xfs 8.5G 1.5G 7.0G 17% /
devtmpfs devtmpfs 475M 0 475M 0% /dev
tmpfs tmpfs 488M 0 488M 0% /dev/shm
tmpfs tmpfs 488M 6.6M 481M 2% /run
tmpfs tmpfs 488M 0 488M 0% /sys/fs/cgroup
/dev/sda2 xfs 1014M 150M 865M 15% /boot
/dev/sda5 vfat 128M 4.0K 128M 1% /boot/efi
/dev/mapper/centos_hikvisionos-opt xfs 8.5G 33M 8.4G 1% /opt
/dev/sdb xfs 4.0G 33M 4.0G 1% /data
4.重启测试是否开机自动挂载
[root@localtest11 ~]# reboot
起来后登录系统:ssh 192.168.1.11
Last login: Sun Mar 14 00:22:32 2021 from 192.168.1.5
Use of this product is subject to the license agreement found at /usr/share/centos-release/EULA
[root@localtest11 ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Dec 29 11:08:01 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos_hikvisionos-root / xfs defaults 0 0
UUID=0f4f386f-d9e6-49a6-be3e-6dd7f61bfe7c /boot xfs defaults 0 0
UUID=D8CE-F388 /boot/efi vfat defaults,uid=0,gid=0,umask=0077,shortname=winnt 0 0
/dev/mapper/centos_hikvisionos-opt /opt xfs defaults 0 0
UUID=8c3237fc-32b6-432b-951b-d7250a639ee3 swap swap defaults 0 0
/dev/sdb /data xfs defaults,_netdev 0 0
[root@localtest11 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos_hikvisionos-root xfs 8.5G 1.5G 7.0G 17% /
devtmpfs devtmpfs 475M 0 475M 0% /dev
tmpfs tmpfs 488M 0 488M 0% /dev/shm
tmpfs tmpfs 488M 6.6M 481M 2% /run
tmpfs tmpfs 488M 0 488M 0% /sys/fs/cgroup
/dev/sda2 xfs 1014M 150M 865M 15% /boot
/dev/sda5 vfat 128M 4.0K 128M 1% /boot/efi
/dev/mapper/centos_hikvisionos-opt xfs 8.5G 33M 8.4G 1% /opt
/dev/sdb xfs 4.0G 33M 4.0G 1% /data
[root@localtest11 ~]#
九、注意事项
假如去掉_netdev网络标识参数,将会出现以下启动异常的情况。
上述卡在维护模式一般为/etc/fstab配置文件内非根文件系统损坏或者参数错误的情况,本例就是参数错误的情况,/dev/sdb为网络盘但参数未指明_netdev网络标识,如果服务器断电造成文件系统损坏也会出现同样的故障。