smaba和nfs文件共享服务都没有iscsi来的更方便,本文着重介绍iscsi共享服务的配置;自我理解:iscsi服务端通过共享设备的逻辑卷,在客户端直接显示为新的设备,然后客户端对这个新设备分区,建立文件系统,就可以像本地设备一样使用
iSCSI,即Internet SCSI,是IETF制订的一项标准,用于将SCSI数据块映射为以太网数据包。从根本上说,它是一种基于IP Storage理论的新型存储技术,该技术将存储行业广泛应用的SCSI接口技术与IP网络技术相结合,可以在IP网络上构建SAN。简单地说,iSCSI就是在IP网络上运行SCSI协议的一种网络存储技术。iSCSI技术最初由Cisco和IBM两家开发,并且得到了广大IP存储技术爱好者的大力支持,这几年得到迅速的发展壮大
iscsi target 软件
iSCSI Target软件,将iSCSI Target软件安装在PC服务器上,使普通的PC服务器转变成一台iSCSI存储设备,并通过PC服务器的以太网卡对外提供iSCSI数据传输服务,利用iSCSI Target软件,可以将服务器的存储空间分配给客户机使用,客户机可以像使用本地硬盘一样使用iSCSI磁盘,包括对其进行分区、格式化及读写等。而且每个客户端都可以向iSCSI磁盘写数据,互不干扰,并且不会破坏存储到服务器中的数据。同时,iSCSITarget软件对用户权限控制非常灵活,支持配置文件
iscsi 工作原理
iscsi 服务端配置
-
服务软件安装配置
[root@shareserver ~] # yum install targetcli.noarch -y # 下载iscsi服务端软件 [root@shareserver ~] # systemctl start target # 开启target服务 [root@shareserver ~] # systemctl enable target # 开机自启动,否则进入targetcli命令看不到上次创建的策略
-
制作LVM逻辑卷
[root@shareserver ~] # fdisk /dev/sdb # 为 /dev/sdb 设备设备添加标签为LVM的两个分区
[root@shareserver ~] # pvcreate /dev/sdb1 # 将/dev/sdb1制作成物理卷 [root@shareserver ~] # vgcreate vg0 /dev/sdb1 # 创建vg0这个卷组,将/dev/sdb1物理卷添加进来,pe默认4M [root@shareserver ~] # lvcreate -l 249 -n lv0 vg0 # 创建逻辑卷lv0,容量249个pe(最大值),属于vg0卷组
-
共享设备
[root@shareserver ~] # targetcli /> backstores/block create westos:storage1 /dev/vg0/lv0 # 添加共享设备lv0,westos:storage1是客户端可发现的名称 /> iscsi/ create iqn.2018-11.com.westos:storage1 # 创建iscsi设备文件,名称必须iqn开头 /> iscsi/iqn.2018-11.com.westos:storage1/tpg1/luns create /backstores/block/westos:storage1 # 将iscsi文件和设备westos:storage1关联 /> iscsi/iqn.2018-11.com.westos:storage1/tpg1/acls create iqn.2018-11.com.westos:westoskey # 给设备添加访问控制 /> iscsi/iqn.2018-11.com.westos:storage1/tpg1/portals create 192.168 # 将设备共享出来,指定服务端IP /> exit # # 注意:创建是若已存在一个IP和端口,需要先删除 /> cd /iscsi/iqn.2018-11.com.westos:storage1/tpg1/portals /> iscsi/iqn.2018-11.com.westos:storage1/tpg1/portals> create 0.0.0.0 3260 # ip和端口之间有空格 # 注意: 访问控制列表(ACL):iSCSI协议通过客户端名称验证,即用户在访问资源时不需要输入密码,只要客户端的名称与 服务端acl访问控制列表的条目一致即可,因此acls参数目录用于存放能够访问iSCSI服务端共享存储资源的客户端名称
iscsi 客户端配置
-
共享接口测试
客户端和服务端都关闭防火墙[root@client ~] # yum install iscsi-initiator-utils.x86_64 -y [root@client ~] # iscsiadm -m discovery -t st -p 192.168.1.152 # 查看192.168.1.152的iscsi可发现设备 [root@client ~] # vim /etc/iscsi/initiatorname.iscsi # 编辑该文件 InitiatorName=iqn.2018-11.com.westos:westoskey # 写入服务端创建时的加密字符 [root@client ~] # systemctl restart iscsid # 编辑文件后重启服务 [root@client ~] # iscsiadm -m node -T iqn.2018-11.com.westos:storage1 -p 192.168.1.152 -l # 连接这个共享设备 # iscsiadm # -m node 将客户端所在主机作为一台节点服务器; # -T 指定要使用的资源iqn.2018-11.com.westos:storage1 # -p 指定iscsi服务端地址; -l 连接设备(登陆验证) iscsiadm -m, 同 --mode, 其选项有 discovery, node, fw(启动值), host, iface(iSCSI 接口)和 session。 -I,同 --interface, 表示接口。 -o, 同 --op, 可实现对数据库的操作,其选项有 new, delete, update 和 show。 -n, 同 --name, 指定其数据记录里的名字。 -t, 同 --type, 其选项有 sendtargets(st), fw 和 isns, 仅在 -m 模式为 discovery 时有效。 -p, 同 --portal, 指定其目标主机的 IP 地址和端口,默认端口为 3260。 -L, 同 --loginall,其选项有 all,manual 和 automatic,指定其登录会话时的类型。 -T, 同 --targetname,表示其目标名字。 -v, 同 --value,通常在 --op=update 时指定其值。
作者:尐譽
来源:优快云
原文:https://blog.youkuaiyun.com/tjiyu/article/details/52811458
版权声明:本文为博主原创文章,转载请附上博文链接!
连接成功后,我们查看设备列表,会发现新增一个设备/dev/sdb
该共享设备内存不够用时,先卸载该网络设备,在服务端为该LVM逻辑卷增容后,客户端再重新挂载
[root@client ~] # iscsiadm -m node -T iqn.2018-11.com.westos:storage1 -p 192.168.1.152 -u # 断开设备
# 服务端为该逻辑卷增容后
[root@client ~] # iscsiadm -m node -T iqn.2018-11.com.westos:storage1 -p 192.168.1.152 -l # 重新连接设备
-
分区格式挂载该网络设备
[root@client ~] # fdisk /dev/sdb # 给该设备分区 [root@client ~] # mkfs.xfs /dev/sdb1 # 建立文件系统 [root@client ~] # mount /dev/sdb1 /mnt # 将设备挂载到/mnt
-
iscsi网络设备开机自动挂载问题
当客户端主机同时使用多个远程存储资源时,第二次挂载该设备顺序发生变化,则客户端挂载混乱,建议在/etc/fstab指定挂载设备时,使用设备的UUID唯一标识符进行挂载[root@client ~] # blkid | grep /dev/sdb
由于 /dev/sdb 是网络设备,则还需要在系统启动且联网后再进行挂载,则再加入参数defaults,_netdev 表示系统联网后再进行挂载操作,否则系统启动失败;若启动失败,e→rw rd.break→chroot /sysroot→删除fstab文件相关行[root@client ~] # vim /etc/fstab UUID='522e3690-fcc5-4aa7-90ba-316fecd7049b' /mnt xfs defaults,_netdev 0 0 #指明UUID,网络设备
-
客户端删除iscsi网络设备
[root@client ~] # umount /mnt # 先卸载 [root@client ~] # iscsiadm -m node -T iqn.2018-11.com.westos:storage1 -p 192.168.1.152 -u # 断开设备 [root@client ~] # iscsiadm -m node -T iqn.2018-11.com.westos:storage1 -p 192.168.1.152 -o delete # 删除设备
-
服务端删除iscsi网络设备
[root@shareserver ~] # targetcli /> clearconfig confirm=True # 确认清除该设备 /> exit
补充
iscsi target 名称全球唯一,格式:
iqn.<年份-月份>.<域名反写>:<设备识别名称(随意)>
iqn.2018-11.com.westos:storage1