iscsi概述
全称:Internet Small Computer System Interface——互联网小型计算机接口
通过网络获取磁盘设备在本地进行存储使用。
iscsi
基于IP协议进行scsi数据的传输
IP/SAN网络
基于双绞线为传输介质的存储网络
光纤存储网络
基于光纤传输的存储网络
造价极高
实现方式
软件形式
硬件形式
默认端口号
3260
相关名词
iscsi客户端 iscsi initiator
iscsi服务端 iscsi target
一个块设备存储 lun
iscsi名称 iqn
iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e53d4960a14f
iqn.时间.域名反写:定义标识
构建iscsi服务实验
使用targetcli工具进入到iscsi服务器端管理界面
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] |
实现步骤——服务器端
安装yum源
yum install -y targetcli
需要添加一块磁盘
添加好后热扫描
echo "- - -">/sys/class/scsi_host/host0/scan
lsblk 查看
targetcli
进入到/backstores/block目录中添加设备到块设备列表
create disk0 /dev/sdb1
create
进入到iscsi目录中生成iqn标签
create /backstores/block/disk0
进入到/iscsi/iqn.20...909/tpg1/luns>目录下创建逻辑单元
create iqn.20......
进入到/iscsi/iqn.20...909/tpg1/acls>目录中创建访问控制规则
create 192.168.1.1 3260(注意:因为原本存在一个端口0.0.0.0:3260,所以需要将原来的端口删除掉再进行创建)
进入到/iscsi/iqn.20.../tpg1/portals>目录中创建端口
exit退出,否则设置不会被保存
vim /etc/iscsi/initiatorname.iscsi
将原来的认证编号改为新生成的编号
在认证文件中成iqn编号
启动服务
systemctl start iscsi
systemctl start iscsid
实现步骤——客户端
安装软件
yum -y install iscsi-initiator-utils
在认证文件中生成iqn编号
vim /etc/iscsi/initatorname.iscsi
将原来的认证编号改为新生成的编号
查找可用的iscsi资源列表
iscsiadm -m discovery -t st -p 192.168.1.1:3260
-m 指定模式
-t 指定动作类型,st,sendtargets
-p 指定服务器和端口
访问服务器的共享资源
iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e53d4960a14f -l
-T targetnameiqn
-l login
属于网络磁盘,格式化成xfs格式
mkfs.xfs /dev/sdb
注意事项:挂载
1、自动挂载时必须使用UUID,否则会出问题,同时在参数中添加_netdev,如UUID=33899a29-9f9e-476f-b8e9-cc9ad0986dac /mnt xfs defaults,_netdev
2、开机启动关闭防火墙,因为当计算机开机首先是bios自检查找硬盘中的操作系统引导启动,但是当系统没有完全启动时计算机就没有通过网络通讯,而iscsi是基于网络的共享存储,所以开机重启需要告诉内核这条开机挂载是基于网络的存储