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

相关推荐
汤米粥3 分钟前
小皮PHP连接数据库提示could not find driver
开发语言·php
冰淇淋烤布蕾6 分钟前
EasyExcel使用
java·开发语言·excel
Hacker_Nightrain11 分钟前
网络安全CTF比赛规则
网络·安全·web安全
拾荒的小海螺12 分钟前
JAVA:探索 EasyExcel 的技术指南
java·开发语言
马剑威(威哥爱编程)37 分钟前
哇喔!20种单例模式的实现与变异总结
java·开发语言·单例模式
白-胖-子1 小时前
【蓝桥等考C++真题】蓝桥杯等级考试C++组第13级L13真题原题(含答案)-统计数字
开发语言·c++·算法·蓝桥杯·等考·13级
好睡凯1 小时前
c++写一个死锁并且自己解锁
开发语言·c++·算法
网络安全指导员1 小时前
恶意PDF文档分析记录
网络·安全·web安全·pdf
java—大象1 小时前
基于java+springboot+layui的流浪动物交流信息平台设计实现
java·开发语言·spring boot·layui·课程设计
yyqzjw1 小时前
【qt】控件篇(Enable|geometry)
开发语言·qt