linux网络服务学习(5):iscsi

linux网络服务学习(5):iscsiSCSI 是一种 I O 技术 规范了一种并行的 I O 总线和相关协议 scsi 协议

大家好,欢迎来到IT知识分享网。

1.什么是iscsi

1.1 scsi

SCSI是一种I/O技术,规范了一种并行的I/O总线和相关协议(scsi协议)。

       SCSI总线通过SCSI控制器(target)来和硬盘之类的设备(scsi设备)进行通信,访问的客户端应用称为Initiator。窄SCSI总线最多允许8个、宽SCSI总线最多允许16个不同的SCSI设备和它进行连接,每个SCSI设备都必须有自己唯一的SCSI ID(设备的地址)。

       LUN(Logical Unit Number,逻辑单元号):每个SCSI ID上最多有32个LUN,一个LUN对应一个逻辑设备。

1.2 iscsi

iSCSI是实现IP-SAN的一种技术,利用TCP/IP协议和scsi协议,让客户端计算机可以通过局域网把scsi服务器端映射为本地的储存空间(磁盘)。

1.3 iscsi与nfs的区别

iscsi本质上是用于块存储的,nfs本质上则是用于文件存储的,所以iscsi服务器映射到本机上的存储空间更接近于磁盘,而nfs服务器映射到本机的更接近于共享目录

2.iscsi服务器端配置

服务器与客户端都是centos7环境

2.1条件准备

(1)关闭防火墙

(2)关闭selinux

(3)配置静态ip

2.2服务器端安装iscsi管理工具scsi-target-utils

yum install -y epel-release yum install -y scsi-target-utils

2.3创建LUN

使用fdisk命令创建新分区作为LUN(不需要格式化、挂载)

我是新添加了一块200G的磁盘,并划分了2个50G的分区/dev/sdb1、/dev/sdb2

linux网络服务学习(5):iscsi

2.4开启tgtd服务并将其设为开机自启

systemctl start tgtd systemctl enable tgtd

2.5创建target

target就是scsi控制器,需要设置唯一的scsi id、绑定局域网子网ip、创建LUN(LUN也有id)

tgtadm --lld iscsi -o new -m target -t 1 -T target1 #将target的scsi id设为1,名称设为target1 tgtadm -L iscsi -o bind -m target -t 1 -I 192.168.0.0/24 #将target1绑定子网ip tgtadm -L iscsi -o new -m logicalunit -t 1 -l 1 -b /dev/sdb1 tgtadm -L iscsi -o new -m logicalunit -t 1 -l 2 -b /dev/sdb2 #将之前创建的分区作为LUN,并给它们分配id:1、2,注意不能从0开始分配,因为target1本身占据了0id #-t后接target的iscsi id,-l后接LUN id tgtadm -L iscsi -o show -m target #配置完成后,通过此命令查看计算机的target

配置完成后的target如下图:

linux网络服务学习(5):iscsilinux网络服务学习(5):iscsilinux网络服务学习(5):iscsi

2.6配置iscsi服务用户

tgtadm --lld iscsi --op new --mode account --user iscsiuser1 --password  #创建的账户名为iscsiuser1,密码为 tgtadm --lld iscsi --op bind --mode account --tid 1 --user iscsiuser1 #为用户iscsiuser1授予访问ID为1的target的权限 tgtadm --lld iscsi --op show --mode account #创建完成后查看iscsi用户信息

*2.7在配置文件中配置服务

上述所做的所有配置都只是在内存中生效,如果重启服务,配置就会失效。

若要实现重启服务配置不失效,就要修改配置文件/etc/tgt//targets.conf,在其中键入以下内容:

<target target1> #配置target名称 <backing-store /dev/sdb1> #配置共享磁盘 lun 1 #配置LUN号 </backing-store> <backing-store /dev/sdb2> #配置共享磁盘 lun 2 #配置LUN号 </backing-store> incominguser iscsiuser1  #配置认证的用户名和密码 initiator-address 192.168.0.0/24 #配置允许的网段 </target> 

3.iscsi客户端配置

3.1安装iscsi客户端管理工具

yum install -y iscsi-initiator-utils

3.2配置客户端名称

打开文件/etc/iscsi/initiatorname.iscsi

在其中键入:

InitiatorName=target1 #指定target InitiatorAlias=node1 #设置客户端名称为node1 

3.3在配置文件中添加target访问用户

打开/etc/iscsi/iscsid.conf

(1)取消node.session.auth.authmethod = CHAP的注释

(2)找到node.session.auth.username =,并取消注释,将其后的用户名改为iscsiuser1

(3)找到node.session.auth.password =,并取消注释,将其后的用户密码改为

linux网络服务学习(5):iscsi

3.4开启iscsid以及iscsi服务

systemctl start iscsid systemctl start iscsi

3.5发现target,并登录

(1)发现target

iscsiadm -m discovery -t st -p 192.168.0.54 #发现服务器上的LUN,除了结尾的服务器ip,其他都是固定的 

成功后结果如下

linux网络服务学习(5):iscsi

(2)通过iscsi用户登录

iscsiadm -m node -T target1 -p 192.168.0.54:3260 -l #除了target名称和服务器ip,其他都是固定的

登录成功后,可以看到客户端多了两个50G的磁盘

linux网络服务学习(5):iscsi

之后便可以对这2块磁盘进行格式化与挂载了

在没有集群功能的情况下,不可以用多台客户端挂载同一个LUN,虽然LUN在未存放数据的情况下可以被多台客户端同时挂载,但那样可能会造成数据混乱;如果LUN内已经写有数据,那么同时挂载会直接出错

3.6客户端删除target

首先卸载客户端的iscsi磁盘挂载,然后再按以下命令删除客户端的target信息

iscsiadm -m node -T target1 -p 192.168.0.54:3260 -u #客户端登出 iscsiadm -m node -T target1 -p 192.168.0.54:3260 -o delete #删除发现的target rm -rf /var/lib/iscsi/send_targets/192.168.0.54* #删除残留的目录

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/138216.html

(0)
上一篇 2025-06-14 17:20
下一篇 2025-06-14 17:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信