目录
前言
一、概述
1、全称:Internet Small Computer System Interface——互联网小型计算机接口
2、通过网络获取磁盘设备在本地进行存储使用。
3、iscsi
4、相关名词
二、实验
1、构建iscsi服务
2、使用targetcli工具进入到iscsi服务器端管理界面
3、实现步骤
3.1服务器端
3.2客户端
三、注意事项
iSCSI(Internet Small Computer System Interface)是一种用于在IP网络上传输SCSI命令的协议。它允许计算机通过网络连接到远程存储设备,将这些远程存储设备视为本地存储设备来使用。iSCSI将SCSI命令封装在TCP/IP协议中进行传输,使得计算机可以通过网络访问远程存储设备,从而实现存储资源的共享和扩展。
基于IP协议进行scsi数据的传输
IP/SAN网络 基于双绞线为传输介质的存储网络
光纤存储网络 基于光纤传输的存储网络
造价极高
实现方式 软件形式
硬件形式
默认端口号 3260
scsi initiator iscsi客户端
iscsi target iscsi服务端
lun 一个块设备存储
iqn
iscsi名称
iqn.时间.域名反写:定义标识
关闭防火墙和宽容模式
systemctl stop firewalld.service
setenforce 0
安装targetcli
挂载磁盘
mount /dev/sr0 /mnt
yum -y install targetcli
targetcli
targetcli
进入到服务器端的iscsi命令配置信息
o- / .................... [...] 顶级目录
o- backstores ............... [...] 后备存储,主备存储空间,要共享的设备或分区得先加入到这里
| o- block .............. [Storage Objects: 0] 块存储,o- backstores子目录
| o- fileio ............. [Storage Objects: 0] 文件存储,o- backstores子目录
| o- pscsi ................. [Storage Objects: 0] 真实物理scsi设备,o- backstores子目录
| o- ramdisk ................ [Storage Objects: 0] 闪存,o- backstores子目录
o- iscsi ................ [Targets: 0] 以ISCSI的方式共享存储设备的目录
o- loopback ................. [Targets: 0]
添加一块磁盘为15G
cd /sys/class/scsi_host/
for i in `ls /sys/class/scsi_host`;do echo "- - -" > $i/scan;done
fdisk /dev/sdb
进入到/backstores/block目录中添加设备到块设备列表 create disk0 /dev/sdb1
进入到iscsi目录中生成iqn标签 create
进入到/iscsi/iqn.20...909/tpg1/luns>目录下创建逻辑单元 create /backstores/block/disk0
进入到/iscsi/iqn.20...909/tpg1/acls>目录中创建访问控制规则 create iqn.20......
进入到/iscsi/iqn.20.../tpg1/portals>目录中创建端口 create 192.168.1.1 3260
注意:因为原本存在一个端口0.0.0.0:3260,所以需要将原来的端口删除掉再进行创建
exit退出,否则设置不会被保存
exit
在认证文件中成iqn编号
vim /etc/iscsi/initiatorname.iscsi
vim /etc/iscsi/initiatorname.iscsi
将原来的认证编号改为新生成的编号
启动服务
systemctl start iscsi
systemctl start iscsid
systemctl start iscsi
systemctl start iscsid
安装软件
mount /dev/sr0 /mnt
yum -y install iscsi-initiator-utils
yum -y install iscsi-initiator-utils
在认证文件中生成iqn编号
vim /etc/iscsi/initatorname.iscsi
vim /etc/iscsi/initatorname.iscsi
将原来的认证编号改为新生成的编号
开启客户端服务
systemctl start iscsi
systemctl start iscsid
systemctl start iscsi
systemctl start iscsid
查找可用的iscsi资源列表
iscsiadm -m discovery -t st -p 192.168.1.1:3260
iscsiadm -m discovery -t st -p 192.168.28.1:3260
-m 指定模式
-t 指定动作类型,st,sendtargets
-p 指定服务器和端口
访问服务器的共享资源
iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.3f2f0c3bd909 -l
-T targetnameiqn
-l login
查看到有了之后重启一下服务
把磁盘挂载上去
iscsiadm -m discovery -t st -p 192.168.28.1:3260 -l
lsblk
把磁盘分区格式化
fdisk /dev/sdb
挂载磁盘
先格式化磁盘分区
mkfs -t /dev/sdb1
mount /dev/sdb1 /opt
挂载
1、自动挂载时必须使用UUID,否则会出问题,同时在参数中添加_netdev,如UUID=33899a29-9f9e-476f-b8e9-cc9ad0986dac /mnt xfs defaults,_netdev blkid查看UUID
2、开机启动关闭防火墙,因为当计算机开机首先是bios自检查找硬盘中的操作系统引导启动,但是当系统没有完全启动时计算机就没有通过网络通讯,而iscsi是基于网络的共享存储,所以开机重启需要告诉内核这条开机挂载是基于网络的存储