Linux--网络磁盘共享ISCSI

ISCSI(Internet Small Computer System Interface)
互联网小型计算机系统接口

一种将SCSI接口与以太网技术相结合的新型存储技术,可以用来在网络中传输SCSI接口的命令和数据。不仅克服了传统SCSI接口设备的物理局限性,实现了跨区域的存储资源共享,可以在不停机的状态下扩展存储容量。通过此技术可以将远程主机的磁盘虚拟到本地,就像是在操作本地硬盘资源一样。

一.配置ISCSI

服务端:
创建共享磁盘

fdisk /dev/vdb 创建一个/dev/vdb1分区,大小为1G
partprobe 手动更新分区表
yum install targetcli -y 安装服务
systemctl start target
systemctl enable target 开启服务并设置开机自启

在这里插入图片描述
在这里插入图片描述
targetcli 进入配置界面
在这里插入图片描述

/backstores/block create test:storage1 /dev/vdb1 设置分享的磁盘并自定义名称(服务端自己使用的名称)

把 /dev/vdb1 磁盘文件加入到配置共享设备的‘资源池‘中,并定义名称为test:storage1 ,这样用户就不会知道共享的是服务端的那块磁盘设备,看到的是 test:storage1 存储设备。
在这里插入图片描述

 /iscsi create iqn.2019-05.com.example:storage1 
 设置共享磁盘的名称(客户端看到的名称)

iSCSI target 名称是由系统自动生成的, 这是一串用于描述共享资源的唯一字符串。用户在客户端扫描 iSCSI
服务端时即可看到这个字 符串。系统在生成这个 target 名称后,还会在/iscsi 参数目录中
创建一个与其字符串同名的新“目录”用来存放共享资源。

在这里插入图片描述

 /iscsi/iqn.2019-05.com.example:storage1/tpg1/acls create  iqn.2019-05.com.example:hahakey 
 设置访问控制列表(ACL) 

ISCSI协议是通过客户端名称进行验证的,即,客户在访问共享磁盘设备时,不需要输入密码,只要ISCSI客户端名称与服务端进行验证的ACL表中的名称对应上即可,所以需要在ISCSI服务端配置文件中写入能够验证用户信息的名称。

在这里插入图片描述

 /iscsi/iqn.2019-05.com.example:storage1/tpg1/luns create /backstores/block/test:storage1

我们需要把前面加入到 iSCSI 共享 资源池中的硬盘设备添加到iqn.2019-05.com.example:storage1新目录中,这样用户在登录 iSCSI 服务端后,即可默认使用这 块硬盘设备提供的共享存储资源了。

在这里插入图片描述

/iscsi/iqn.2019-05.com.example:storage1/tpg1/portals create 172.25.254.100

默认端口号为3260
位于生产环境中的服务器上可能有多块网卡,需要我们在配置文件中手动定义 iSCSI 服务端 的信息,规定使用哪块网卡。 即在 portals 参数目录中写上服务器的 IP 地址。接下来将由系统自动开启服务器 172.25.254.100 的 3260 端口将向外提供 iSCSI 共享存储资源服务。
在这里插入图片描述
如果报错 could not create networkportal in configfs 是因为已经存在一个ip和端口,需要删除,需要执行命令/iscsi/iqn.2017-12.com.example:storage1/tpg1/portals/ delete 0.0.0.0 ip_port=3260
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

防火墙开启的状态下:

firewall-cmd --permanent --add-port=3260/tcp  添加3260/tcp端口
firewall-cmd --reload  重新加载火墙策略
客户端:

安装 iSCSI 客户端服务程序 initiator

yum install iscsi-initiator-utils -y
前面讲到,iSCSI 协议是通过客户端的名称来进行验证,而该名称也是 iSCSI 客户端的唯一标识,而且必须与服务端配置文件中访问控制列表中的信息一致,否则客户端在尝试访问存储共享设备时,系统会弹出验证失败的保存信息。
vim /etc/iscsi/initiatorname.iscsi

 InitiatorName=iqn.2019-05.com.example:hahakey  与设置访问控制列表(ACL) 内容一致

在这里插入图片描述

使用 iscsiadm 命令进行查看
 iscsiadm 是用于管理、查询、插入、更新或删除 iSCSI 数据库配置文件的命令行工具 
 -m   discovery       扫描并发现可用的存储资源
 -t     st              执行扫描操作的类型
-p     172.25.254.100   iSCSI 服务端的 IP 地址

在这里插入图片描述

 iscsiadm -m node -T iqn.2019-05.com.example:storage1 -p 172.25.254.100 -l 
 -m node       将客户端所在主机作为一台节点服务器
-T targetname  要使用的存储资源(大家可以直接复制前面命令中扫描发现的结果,以免录入错误)
-p 172.25.254.100   iSCSI 服务端的 IP 地址
--login 或-l      进行登录验证。

在这里插入图片描述

测试:fdisk -l

客户端登陆后查看磁盘信息发现多了1G的磁盘 /dev/sda
在这里插入图片描述

进行挂载使用:
对磁盘进行分区
fdisk /dev/sda

在这里插入图片描述

对新建立的磁盘分区进行格式化文件系统
mkfs.ext4 /dev/sda1
挂载
mount /dev/sda1 /mnt

在这里插入图片描述

设置开机自动挂载(永久挂载)
vim /etc/fstab
/dev/sda1 /mnt ext4 default,_netdev 0 0

在这里插入图片描述
在这里插入图片描述
由于/dev/sdb 是一块网络存储设备,而 iSCSI 协议是基于TCP/IP 网络传输数据的, 因此必须在/etc/fstab 配置文件中添加上_netdev 参数,表示当系统联网后再进行挂载操作 以免系统开机时间过长或开机失败 因为iscsi建立的是网络设备,/etc/fstab 在网络启动前被读取,为了避免读取时无法找到网络设备, 应在配置文件中命令,先启动网络服务 在参数位置加上 _netdev 以满足此操作然后执行重启,进行效果查看

在这里插入图片描述

客户端卸载共享磁盘

客户端不再使用ISCSI共享的设备资源时,可以使用iscsiadm命令的-u 参数将设备卸载。
步骤:

yum install tree(以树状图列出目录的内容)
tree /var/lib/iscsi/ 查看所用的虚拟设备
iscsiadm -m node -T(设备名称) iqn.2017-12.com.example:storage1 -p 172.25.254.133 -u 退出登陆
iscsiadm -m node -T(设备名称) iqn.2017-12.com.example:storage1 -p 172.25.254.133 -o delete 删除
systemctl restart iscsi 重启服务

具体操作:
iscsiadm -m node -T iqn.2019-05.com.example:storage1 -p 172.25.254.100 -u
退出登陆,fdisk -l 无法找到共享出来的磁盘设备
在这里插入图片描述
在这里插入图片描述
但通过 tree /var/lib/iscsi/ 还可以追踪到 iscsi 的相关文件,并且在重启iscsi 服务后会再次登陆并
通过 fdisk -l 可看到共享的磁盘。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
iscsiadm -m node -T iqn.2018-06.com.example:storage1 -p 172.25.151.150 -o delete
此时再通过 tree /var/lib/iscsi 查看对应信息
在这里插入图片描述
在这里插入图片描述
注:yum install tree -y (以树状图列出目录的内容)
tree /var/lib/iscsi/ 查看所用的虚拟设备

共享LVM分区

服务端:
fdisk /dev/vdb --建立一个lvm分区(8e)
partprobe
pvcreate /dev/vdb1

vgcreate iscsi_vg0 /dev/vdb1

vgdisplay 查看vg具体信息

lvcreate -l 255 -n iscsi_lv0 iscsi_vg0

clearconfig confirm=true 清空

/backstores/block create westos:storage1 /dev/iscsi_vg/iscsi_lv0 改分区名字
/iscsi create iqn.2017-12.com.example:storage1 改共享的名字
/iscsi/iqn.2017-12.com.example:storage1/tpg1/acls create iqn.2017-12.com.example:key 设定密钥
/iscsi/iqn.2017-12.com.example:storage1/tpg1/luns create /backstores/block/westos:storage1 将密钥和设备相关联

iscsi/iqn.2017-12.com.example:storage1/tpg1/portals create 172.25.254.133 设定端口

客户端:
vim /etc/iscsi/initiatorname.iscsi
systemctl restart iscsid 重启主服务

systemctl restart iscsi 重启子服务

iscsiadm -m discovery -t st -p 172.25.254.133 发现共享设备

iscsiadm -m node -T iqn.2017-12.com.example:storage1 -p 172.25.254.133 -l 登陆

fdisk -l --查看分区

lvm分区扩容:
服务端:
fdisk /dev/vdb 再建立一个lvm分区
partprobe
pvcreate /dev/vdb2
vgextend iscsi_vg /dev/vdb2
lvextend -L 1800M /dev/iscsi_vg/iscsi_lv0 扩大到1800M
lvs

客户端:
iscsiadm -m node -T iqn.2017-12.com.example:storage1 -p 172.25.254.133 -u 退出
iscsiadm -m node -T iqn.2017-12.com.example:storage1 -p 172.25.254.133 -l 登陆

fdisk -l --查看分区大小对比即可,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值