九五从零开始的运维之路(其二十五)


前言

本篇将简述的内容:Linux系统下的ISCSI服务


一、概述

iscsi全称:Internet Small Computer System Interface——互联网小型计算机接口
通过网络获取磁盘设备在本地进行存储使用。

基于IP协议进行scsi数据的传输
IP/SAN网络:基于双绞线为传输介质的存储网络
光纤存储网络:基于光纤传输的存储网络(造价极高)

实现方式:软件形式;硬件形式

默认端口号:TCP/3260

相关名词
iscsi initiator:iscsi客户端
iscsi target:iscsi服务端
lun:一个块设备存储
iqn:
iscsi名称
iqn时间.域名反写:定义标识

二、配置环境及搭建服务

1.关闭防火墙、网络图形化工具及SElinux

关闭防火墙及禁止防火墙自启

systemctl stop firewalld && systemctl disable firewalld

关闭网络图形化工具

systemctl stop NetworkManager && systemctl disable NetworkManager

查看SElinux状态

getenforce

设置宽容模式(临时关闭SElinux)

setenforce 0

永久关闭SElinux

vim /etc/selinux/config
SELINUX=enforcing 

改为

SELINUX=disabled

2.配置yum源

进入yum配置目录

cd /etc/yum.repos.d

创建备份

mkdir backup

将CentOS-* 文件移入备份文件夹

mv CentOS-* backup

新建文件

vim local.repo

文件内容

[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0

卸载光驱

umount /dev/sr0

加载光驱

mount /dev/sr0 /mnt

3.测试网络连通性

ping 已知IP
查看连通性

4.分配磁盘容量

使用虚拟机搭建本服务时,可额外添加一块硬盘进行此步操作
添加硬盘后,进行热扫描

for i in `ls /sys/class/scsi_host`;do echo "- - -" > $i/scan;done

使用lsblk命令查看
并对该磁盘进行分区(也可略过此步操作)
fdisk /path/sdb (假定硬盘名为sdb)
分区后,进行格式化,即可正常挂载使用
分区后硬盘名为sdb1

5.安装targetcli包

yum -y install targetcli	

使用targetcli工具进入到iscsi服务器端管理界面

targetcli

进入后使用ls查看

在这里插入图片描述

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]

6.服务器端进行配置

(一)进入到/backstores/block目录中添加设备到块设备列表

cd  /backstores/block
create disk0 /dev/sdb1

(二)进入到iscsi目录中生成iqn标签

create

#也可自行命名,例:iqn.日期.域名:域名组织分配的名字

(三)进入到/iscsi/iqn.*/tpg1/luns>目录下创建逻辑单元

cd /iscsi/iqn.*/tpg1/luns
create /backstores/block/disk0

进入到/iscsi/iqn.*/tpg1/acls>目录中创建访问控制规则

cd /iscsi/iqn.*/tpg1/acls
create iqn.*

进入到/iscsi/iqn.*/tpg1/portals>目录中创建端口

create 192.168.1.1 3260 #本机IP

#注意:因为原本存在一个端口0.0.0.0:3260,所以需要将原来的端口删除掉再进行创建

exit

退出,否则设置不会被保存
在认证文件中成iqn编号

vim  /etc/iscsi/initiatorname.iscsi

将原来的认证编号改为新生成的编号
启动服务

systemctl start iscsi
systemctl start iscsid

7.客户端

安装软件

yum -y install iscsi-initiator-utils

在认证文件中生成iqn编号

vim  /etc/iscsi/initiatorname.iscsi

将原来的认证编号改为新生成的编号
开启客户端服务

systemctl start iscsi
systemctl start iscsid

查找可用的iscsi资源列表

iscsiadm -m discovery -t st -p 192.168.1.1:3260

-m 指定模式
-t 指定动作类型,st sendtargets
-p 指定服务器和端口
访问服务器的共享资源

iscsiadm -m node -T iqn.* -l

-T targetnameiqn
-l login
即可挂载使用

登出设备

scsiadm -m node -T iqn.* -u -p 192.168.91.138

总结

ISCSI服务是一种强大的存储解决方案,可以在Linux系统中实现。通过配置iSCSI Target和iSCSI Initiator,可以将远程存储设备映射为本地设备,并实现共享存储。然而,使用iSCSI服务需要注意网络性能和配置管理的问题。

猜你喜欢

转载自blog.csdn.net/liujiuwu_xyz/article/details/131934174
今日推荐