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(在服务器网卡启动后才进行挂载动作)五个磁盘分五次自动挂载

相关推荐
通信仿真实验室19 分钟前
(10)MATLAB莱斯(Rician)衰落信道仿真1
开发语言·matlab
勿语&22 分钟前
Element-UI Plus 暗黑主题切换及自定义主题色
开发语言·javascript·ui
荻酷社区2 小时前
子比主题美化 – 添加天气教程
php
小堃学编程2 小时前
计算机网络(十) —— IP协议详解,理解运营商和全球网络
网络·tcp/ip·计算机网络
2401_857622663 小时前
SpringBoot框架下校园资料库的构建与优化
spring boot·后端·php
吾爱星辰4 小时前
Kotlin 处理字符串和正则表达式(二十一)
java·开发语言·jvm·正则表达式·kotlin
ChinaDragonDreamer4 小时前
Kotlin:2.0.20 的新特性
android·开发语言·kotlin
IT良4 小时前
c#增删改查 (数据操作的基础)
开发语言·c#
IPFoxy6665 小时前
探索路由器静态IP的获取方式
网络·智能路由器
Kalika0-05 小时前
猴子吃桃-C语言
c语言·开发语言·数据结构·算法