前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux的iscsi网络存储搭建

Linux的iscsi网络存储搭建

原创
作者头像
小胡同学
发布2024-07-30 16:53:20
1920
发布2024-07-30 16:53:20
举报
文章被收录于专栏:小胡的技术分享

什么是iscsi?

iSCSI(Internet Small Computer System Interface,Internet 小型计算机系统接口)是一种由IBM公司研究开发的IP SAN技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,基于 TCP/IP的协议连接iSCSI服务端(Target)和客户端(Initiator),使得封装后的SCSI数据包可以在通用互联网传输,最终实现iSCSI服务端映射为一个存储空间(磁盘)提供给已连接认证后的客户端。

配置iscsi服务端

  1. 安装iscsi服务端程序以及命令工具,然后设置启动以及自启动
代码语言:txt
复制
yum install target* -y

systemctl start target

systemctl enable target

安装
安装
2.配置iscsi服务端共享资源

targetcli命令是用于管理iSCSI服务端存储资源的专用配置命令,它能够提供类似于fdisk命令的交互式配置功能。在该界面中可以使用很多Linux命令,比如:cd,ls,df -h等

先使用targetcli命令进入管理界面

可以使用ls查看目录结构

/backstores/block是iSCSI服务端配置共享设备的位置。 首先要在服务端中添加硬盘,然后使用create命令创建共享设备

进入到 /backstores/block cd backstores/block

创建名为disk0的设备 create disk0 /dev/nvme0n2 (硬盘位置可使用lsblk查看)

然后返回到根目录查看文件有没有变化

代码语言:txt
复制
cd /

ls

这样就会看到/backstores/block多出一个设备

3.创建iSCSI target名称及配置共享资源。

iSCSI target名称是由系统自动生成的,这是一串用于描述共享资源的唯一字符串,系统在生成这个target名称后,还会在 /iscsi 参数目录中创建一个与其字符串同名的新“目录”用来存放共享资源。我们需要把前面加入到iSCSI共享资源池中的硬盘设备添加到这个新目录中

切换到iscsi目录

代码语言:txt
复制
cd iscsi

创建iscsi target名称

代码语言:txt
复制
create

如下图:

iscsi
iscsi

4.打开iqn目录,此处每个人都不一样,可用tab键补齐,然后创建一个与iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.51d5764d7f3f的文件,后缀请随意

代码语言:txt
复制
cd iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.51d5764d7f3f/tpg1/acls

create iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.51d5764d7f3f.server

acls
acls

6.为每个存储创建一个lun,同时会激活每个存储设备,同时acls也将自动分配给每个创建的lun。

切换到luns目录

代码语言:txt
复制
cd /iscsi/iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.51d5764d7f3f/tpg1/portals/

create 192.168.20.121 3260

此处ip请查看自己的网卡,之间是空格,默认是全放通,要创建的话先删除才可以创建

最后输入 exit 回车之后才能保存~

7.最后重启iscsi服务端,防火墙放行3260端口

代码语言:txt
复制
systemctl restart target

firewall-cmd --add-port=3260/tcp

firewall-cmd --add-port=3260/tcp --permanent

至此服务端配置完毕

iscsi客户端配置

1.安装initiator

代码语言:txt
复制
yum install iscsi-initiator-utils -y

安装客户端
安装客户端

2.iSCSI协议是通过客户端的名称来进行验证,而该名称也是iSCSI客户端的唯一标识,编辑iSCSI客户端中的initiator名称文件,把服务端的访问控制列表名称填写进去,然后重启客户端iscsid服务程序并将其加入开机自启。

代码语言:txt
复制
vim /etc/iscsi/initiatorname.iscsi

vim
vim
代码语言:txt
复制
systemctl restart iscsid

systemctl enable iscsid

3.iSCSI客户端访问并使用共享存储资源。

iscsiadm是用于管理、查询、插入、更新或删除iSCSI数据库配置文件的命令行工具,先使用这个工具扫描发现远程iSCSI服务端,然后查看服务端上有哪些可用的共享存储资源。

代码语言:txt
复制
iscsiadm -m discovery -t st -p 192.168.121.9

扫描
扫描

4.扫描到有iscsi设备的话,表示成功,然后就可以登录iscsi设备

代码语言:txt
复制
登录命令:iscsiadm

参数:

-m node是将客户端所在主机作为一台节点服务器

-T iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.51d5764d7f3f是要使用的存储资源(建议复制前面扫描的结果,挨个输入很容易输错)

-p 后面接iscsi服务端的ip

末尾的 -l(--login)是进行参数验证

代码语言:txt
复制
连接  iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.51d5764d7f3f -p 192.168.121.9 -l

end
end

最后执行lsblk查看有没有多一块硬盘,如果多了即表示成功了,然后就可以像正常的硬盘那样进行操作,但要注意的是,添加/etc/fstab配置文件时,一定要加入\_netdev(加粗部分),表示等到系统联网后再进行挂载,以防系统启动时间过长甚至无法启动。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是iscsi?
  • 配置iscsi服务端
  • iscsi客户端配置
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档