iscsi网络磁盘共享

时间:2024-03-31 16:53:56

iscsi概念:

iscsi是一种块级别的协议,用于通过TCP/IP网络共享原始存储设备,即硬盘的共享。可以用已经存在的IP和以太网如网卡、交换机、路由器等通过iSCSI协议共享和访问存储。iSCSI target是一种由远程iSCSI服务器(target)提供的远程硬盘

默认情况下,网络通信时至iscsi目标上的端口3260/tcp的明文端口

工作原理:

iscsi网络磁盘共享

服务端:

1.创建一个新的大小为2G的磁盘分区(/dev/vdb1)为远程用户提供硬盘存储资源(应该保证服务器存储资源的稳定性和可用性,否则一旦远程用户在使用过程中出现故障,那排错维修起来的难度相比较本地硬盘设备来讲是要复杂困难很多的)

iscsi网络磁盘共享

2.安装iscsi服务

yum install  -y targetcli 服务端需要安装这个软件来提供iscsi服务。完成后防火墙设置为允许,开启服务并设置开机自启

iscsi网络磁盘共享

systemctl start target

systemctl enbale target

firewall-cmd --permanent --add-port=3260/tcp

firewall-cmd --reload

iscsi网络磁盘共享

3.服务端配置

输入‘targetcli‘命令,进入iscsi目标交互式配置模式

iscsi网络磁盘共享

现对共享设备‘/dev/vdb1’进行配置,配置步骤如下:

1)先创建一个块设备:“/backstores/block create westos:storage1 /dev/vdb1”,

/backstores/block表示该设备位置,

wetsos:storage1是名称,可随便取;

/dev/vdb1是指定硬盘,上面第一步已经创建好的2G硬盘;

iscsi网络磁盘共享

2)创建一个iqn:“/iscsi create iqn.2018-08.com.westos:storage1”  ##建立一个“名称为“iqn.2018-08.com.westos:storage1”的iqn,用于客户端连接

iscsi网络磁盘共享

3)创建一个acls(相当于加密):/iscsi/iqn.2018-08.com.example:storage1/tpg1/acls create iqn.2018-08.com.westos:westoskey

iscsi网络磁盘共享

4)创建一个luns:(即将密码与target进行关联)"/iscsi/iqn.2018-08.com.example:storage1/tpg1/luns create /backstores/block/westos:storage1" ##创建目标地址iscsi网络磁盘共享

5)创建一个portals(设置iSCSI服务端的监听IP地址和端口号。主机172.25.254.245的3260端口将向外提供iSCSI共享存储资源服务):
iscsi/iqn.2018-08.com.westos:storage1/tpg1/portals create 172.25.254.245
ls
exit

iscsi网络磁盘共享

systemctl status firewalld   ##查看火墙信息
systemctl stop firewalld  ##关闭火墙
注意:如果防火墙没有关闭,则需要在防火墙上打开该服务端口,默认为3260

客户端:

1、先查看设备cat   /proc/partitions

iscsi网络磁盘共享

2、安装iscsi-initiator-utils

iscsi网络磁盘共享

3.使用iscsiadm命令对远程iSCSI服务端进行扫描发现,查看该服务器上面有那些可用的共享存储资源

iscsiadm -m discovery -t st -p 172.25.254.245

 -m discovery  定义操作目的是扫描发现可用存储资源

 -t   st   扫描发现操作的类型

 -p 172.25.254.159  对方iSCSI服务端的IP地址

iscsi网络磁盘共享
4.客户端在尝试使用存储共享时弹出验证失败的报错信息,是由于iSCSI客户端的唯一标识与服务端配置文件中ACL访问控制列表中的信息不一致(加密密码未分享给客户端)

iscsi网络磁盘共享

5.编辑/etc/iscsi/initiatorname.iscsi文件,将服务端共享磁盘的加密密码给客户端,然后重启服务systemctl  restart iscsid

重新登陆  iscsiadm -m node -T iqn.2018-08.westos:storage1 -p 172.25.254.245 -l

 -m node  将本机作为一台节点服务器

 -T  iqn.2018-08.com.westos:storage1 要使用的存储资源名称

 -p 172.25.254.159  对方iSCSI服务端的IP地址

-login或-l  进行登陆

iscsi网络磁盘共享

6、完成后可以查看到共享设备

iscsi网络磁盘共享

7.在对iSCSI服务端进行登陆验证显示顺利成功后就会在系统中多了一块名为/dev/sda的设备文件

创建一个/dev/sda1   对其格式化并挂载       ##所有条件都为默认

partprobe  

iscsi网络磁盘共享

iscsi网络磁盘共享

永久挂载

由于/dev/sda是一块网络存储设备,而iSCSI协议是基于TCP/IP网络进行传输数据的,因此必须在/etc/fstab配置文件中添加上_netdev参数,代表当系统联网启动后再进行挂载操作,避免系统开机时间过长或启动失败

vim /etc/fstab
/dev/sda1 /mnt xfs defaults,_netdev  0 0
mount -a
df

iscsi网络磁盘共享

iscsi网络磁盘共享

客户端的设备共享的删除

1.磁盘的卸载:iscsiadm -m node -T iqn.2018-08.com.example:storage1 -p 172.25.254.245 -u

iscsi网络磁盘共享

2.安装tree,yum install tree -y并查看其配置文件,通过tree命令 tree /var/lib/iscsi,可以发现设备文件还是存在,并且在服务重启后,通过fdisk -l命令又可查看到共享硬盘

iscsi网络磁盘共享

iscsi网络磁盘共享

3、共享磁盘的删除:iscsiadm -m node -T iqn.2018-08.com.westos:storage1 -p 172.25.254.245 -o delete,并执行tree再次查看配置文件,确认删除

iscsi网络磁盘共享

在服务器端撤销共享设备:

targetcli

clearconfig confirm=True

ls

exit

iscsi网络磁盘共享