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