iscsi网络协议(连接硬件设备)

iscsi概念

iscsi是一种互联网协议,用于将存储设备(如硬盘驱动器或磁带驱动器)通过网络连接到计算机。它是一种存储区域网络(SAN)技术,允许服务器通过网络连接到存储设备,就像它们是本地设备一样。iSCSI协议基于TCP/IP协议,因此可以在现有的网络基础设施上运行,无需额外的专用硬件。

以下是iSCSI的一些关键特点:

网络依赖性:iSCSI使用TCP/IP网络协议,因此它依赖于网络连接。这意味着它可以在任何支持TCP/IP的网络环境中运行。

易用性:由于其基于标准的协议,iSCSI使得不同厂商的存储设备和计算机之间可以容易地进行互操作。

扩展性:iSCSI支持大规模的存储解决方案,可以扩展到数百甚至数千个磁盘驱动器。

成本效益:与传统的SAN解决方案相比,iSCSI通常成本较低,因为它可以使用标准的网络设备和协议。

灵活性:iSCSI允许存储资源的动态分配和管理,提供了很高的灵活性。

高可用性:iSCSI支持冗余路径和故障转移,从而提高了存储解决方案的可用性和可靠性。

安全性:iSCSI支持多种安全协议,如CHAP( Challenge-Handshake Authentication Protocol),用于验证和加密通信

一 存储方式

DAS:直连存储

NAS:网络附加存储(文件服务器)(网线)

SAN:存储区域网络(光纤)

注:传输介质不同

二 FC 与 iscsi

传输层: FC TCP

网络层: FC IP

数据链路层: FCswitch switch

物理层: FCHBA NIC

注:FC 光纤传输协议

注:iscsi 块存储

三 iscsi 架构

C/S

server:iscsi target iscsi 目标

client:iscsi initiator iscsi 发起者

注:使用 iscsi 至少保证是一个(1Gbps)千兆级网络

四 实验

1.实验拓扑

(iscsi target)www.yy.com(192.168.1.7)<----->(192.168.1.8)client(iscsi initiator)

2.安装软件

服务器:targetcli

客户端:iscsi-initiator-utils

3.配置服务器端

1)生成磁盘文件

注:可共享的硬盘类型

dd 指令所建立的 img 文件 镜像文件

使用整个磁盘

使用单独的磁盘分区

创建一个 lv

2)运行命令 targetcli

cd /backstore/fileio

创建 luns(将刚才创建的磁盘、分区等加入到 iscsi 服务中)

注:lun:logic unit number:逻辑单元号

功能:扩充存储

create disk01 /mnt/img

create disk02 /dev/sdb

create disk03 /dev/sdc1

create disk04 /dev/yvg/ylv

create disk05 /mnt/2.img 1G

cd /iscsi

设定 iqn

create iqn.2018-05.com.yy.www:storage1

注:com.yy.www此为主机名 倒着写(也可以任意写)

iqn 中月份必须为两位数

指定监听的 IP 地址和端口:cd /iscsi/iqn-*/tpg1/portals

配置 luns

cd /iscsi/iqn-*/tpg1/luns

create /backstores/fileio/disk01

设置访问权限

cd /iscsi/iqn-*/tpg1

关闭全局认证:set attribute authentication=0

生成节点 acl:set attribute generate_node_acls=1

cd /iscsi/qin-*/tpg1/acls

生成验证用的 iqn 的 FQDN:

create iqn.2018-05.com.yy.www:www.yy.com

cd /iscsi/iqn-*/tpg1/acls/iqn-*

设定验证用的用户及密码:set auth userid=用户名

set auth password=密码

保存退出:exit

注:以上配置保存在/etc/target/saveconfig.json 中

3)查看服务是否开启

#netstat -lantu |grep 3260

注:iscsi 默认端口号:3260

4.客户端配置

1)配置验证区域名称及密码

#vim /etc/iscsi/initiatorname.iscsi

InitiatorName=iqn.2018-05.com.yy.www:www.yy.com

2)配置验证用的用户名、密码及验证方式

#vim /etc/iscsi/iscsid.conf

将 54 行开启:启动 CHAP 认证方式

node.session.auth.authmoted = CHAP

将 58 行开启:写入合法的验证用户账号

node.session.auth.username = yi

将 59 行开启:写入合法的密码

node.session.auth.password = 1

3)重启 iscsi 服务

systemctl restart iscsid

systemctl enable iscsid

5.客户端连接服务器

静态:直接通过服务器的 iqn 来连接

动态:客户端发送 sendtarget 指令,来获取服务器上可用的 iqn,然后通过服务器的 iqn进行连接

1)发现 iscsi target(iscsi 服务器)上的可用 iqn

iscsiadm -m discovery -t sendtargets -p 服务器 IP 地址

#iscsiadm -m discovery -t sendtargets -p 192.168.1.7

注:发现的 iqn 存储到/var/lib/iscsi/nodes 中可以对已发现的 iqn 进行管理实现 iqn 的增加、删除和更新

2)登录 iscsi target 空间

iscsiadm -m node -T iqn.2018-05.com.yy.www:storage1 --login

注:先发现在登陆

3)退出 iscsi target 空间

iscsiadm -m node -T iqn.2018-05.com.yy.www:storage1 --logout

4)开机自动挂载

iscsiadm -m node -T iqn.2018-05.com.yy.www:storage1 -p 192.168.1.2 -o update -n node.startup -v automatic

注:在/etc/fstab 的权限列:defualts,_netdev(在服务器网卡启动后才进行挂载动作)五个磁盘分五次自动挂载

相关推荐
古希腊掌管学习的神12 分钟前
[LeetCode-Python版]相向双指针——611. 有效三角形的个数
开发语言·python·leetcode
赵钰老师13 分钟前
【R语言遥感技术】“R+遥感”的水环境综合评价方法
开发语言·数据分析·r语言
就爱学编程21 分钟前
重生之我在异世界学编程之C语言小项目:通讯录
c语言·开发语言·数据结构·算法
ProcessOn官方账号23 分钟前
如何绘制网络拓扑图?附详细分类解说和用户案例!
网络·职场和发展·流程图·拓扑学
Oneforlove_twoforjob44 分钟前
【Java基础面试题025】什么是Java的Integer缓存池?
java·开发语言·缓存
emoji1111111 小时前
前端对页面数据进行缓存
开发语言·前端·javascript
Ven%1 小时前
如何在防火墙上指定ip访问服务器上任何端口呢
linux·服务器·网络·深度学习·tcp/ip
每天都要学信号1 小时前
Python(第一天)
开发语言·python
TENET信条1 小时前
day53 第十一章:图论part04
开发语言·c#·图论
生信圆桌1 小时前
【生信圆桌x教程系列】如何安装 seurat V5版本R包,最详细安装手册
开发语言·r语言