iSCSI 共享存储
iSCSI(Internet Small Computer System Interface,发音为/ˈаɪskʌzi/),Internet小型计算机系统接口,又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术,由IETF提出,并于2003年2月11日成为正式的标准。与传统的SCSI技术比较起来,iSCSI技术有以下三个革命性的变化:
1.把原来只用于本机的SCSI协议透过TCP/IP网络发送,使连接距离可作无限的地域延伸;
2.连接的服务器数量无限(原来的SCSI-3的上限是15);
3.由于是服务器架构,因此也可以实现在线扩容以至动态部署。
iSCSI利用了TCP/IP的port 860 和 3260 作为沟通的渠道。透过两部计算机之间利用iSCSI的协议来交换SCSI命令,让计算机可以透过高速的局域网集线来把SAN模拟成为本地的储存装置。
部署环境:CentOS7.6.1810
内核版本:3.10.0-957
防火墙状态:将其默认设置为trusted
SELinux状态:permissive
IP地址:server:192.168.56.101/24 desktop:192.168.56.102/24
将镜像自带的光盘放入虚拟光驱设备sr1中,并配置开机挂载。
echo '/dev/sr1 /dvd iso9660 defaults 0 0' >> /etc/fstab
mount –a 进行检查挂载
并配置yum仓库为本地镜像磁盘
准备一个空分区或者一个磁盘,这里我将sdb共享出来做iSCSI
专业词汇概念:
backstore:后端存储,对应到服务端并提供实际的存储空间设备。
target:磁盘组,是客户端的访问目标,作为一个框架由多个lun组成。
lun:逻辑单元,每一个lun需要关联到某一个后端的存储设备,在客户端会视为一块虚拟磁盘。
安装步骤:
一、给server端安装targetcli
yum -y install targetcli
二、使用targetcli进行配置创建backstore。(实际配置将会被写入到配置文件当中)
backstores/block create name=bas1 dev=/dev/sdb
backstores/设备类型 create(创建) name=创建的baskstore名字 dev=设备路径
三、创建target(名称必须要符合IQN规则)
iscsi/ create iqn.2019-08.com.server:server
iscsi/ create(创建)磁盘组名字
四、将backstore和lun进行关联。
iscsi/iqn.2019-08.com.server:server/tpg1/luns create /backstores/block/bas1
创建一个刚才的target的lun并与backstores进行绑定。
五、设置访问控制(声明客户端需要生称的名字,需要符合IQN规范)
iscsi/iqn.2019-08.com.server:server/tpg1/acls create iqn.2019-08.com.desktop:client
iscsi/target磁盘组名字/tpg1/acls create(创建) 客户端需要生称的名字
六、重启target服务并设置为开机启动。
systemctl restart target
systemctl enable target
服务端到此安装完毕,开始安装客户端。
一、客户端需要安装
yum -y install iscsi-initiator-utils.x86_64
二、设置客户端声称的名称(服务端第五步设置的名称)。
进入server端使用targetcli 进行控制使用ls查看,获取到iqn.2019-08.com.desktop:client
三、编辑/etc/iscsi/initiatorname.iscsi 配置文件将名称填写进去。
echo 'InitiatorName=iqn.2019-08.com.desktop:client' > /etc/iscsi/initiatorname.iscsi
四、重启iscsid服务
systemctl restart iscsid
没有反应就是最好的反应。
五、发现服务端共享存储。
iscsiadm -m discovery -t st -p 192.168.56.101:3260
六、重启ISCSI服务
对其进行临时挂载和写入文件试试。
应该先创建文件系统再挂载的,管不了那么多了。