vlambda博客
学习文章列表

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/Packagesiscsi-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.rpmwarning: iscsi-initiator-utils-6.2.0.874-19.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEYPreparing... ################################# [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端口连通性,下文结果表示可正常访问。

[root@localtest11 ~]# telnet 192.168.1.10 3260Trying 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.10192.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 --loginLogging 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 ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 20G 0 disk├─sda1 8:1 0 1M 0 part├─sda2 8:2 0 1G 0 part /boot├─sda3 8:3 0 2G 0 part [SWAP]├─sda4 8:4 0 1K 0 part├─sda5 8:5 0 128M 0 part /boot/efi└─sda6 8:6 0 16.9G 0 part ├─centos_hikvisionos-root 253:0 0 8.4G 0 lvm / └─centos_hikvisionos-opt 253:1 0 8.4G 0 lvm /optsdb 8:16 0 4G 0 disk[root@localtest11 ~]# lsblk -SNAME HCTL TYPE VENDOR MODEL REV TRANsda 0:0:0:0 disk VMware, VMware Virtual S 1.0 spisdb 5:0:0:0 disk LIO-ORG disk01 4.0 iscsisr0  2: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/sdbmeta-data=/dev/sdb isize=512 agcount=4, agsize=262080 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0data = bsize=4096 blocks=1048320, imaxpct=25 = sunit=0 swidth=0 blksnaming =version 2 bsize=4096 ascii-ci=0 ftype=1log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1realtime =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 0UUID=0f4f386f-d9e6-49a6-be3e-6dd7f61bfe7c /boot  xfs  defaults   0 0UUID=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 0UUID=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 -ThFilesystem 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% /devtmpfs tmpfs 488M 0 488M 0% /dev/shmtmpfs tmpfs 488M 6.6M 481M 2% /runtmpfs 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.11Last login: Sun Mar 14 00:22:32 2021 from 192.168.1.5Use 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 0UUID=0f4f386f-d9e6-49a6-be3e-6dd7f61bfe7c /boot xfs defaults 0 0UUID=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 0UUID=8c3237fc-32b6-432b-951b-d7250a639ee3 swap swap defaults 0 0/dev/sdb /data xfs defaults,_netdev 0 0[root@localtest11 ~]# df -ThFilesystem 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% /devtmpfs tmpfs 488M 0 488M 0% /dev/shmtmpfs tmpfs 488M 6.6M 481M 2% /runtmpfs 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网络标识,如果服务器断电造成文件系统损坏也会出现同样的故障。