linux中ISCSI(网络共享磁盘)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux中ISCSI(网络共享磁盘)相关的知识,希望对你有一定的参考价值。
ISCSI:它是一种在现有的IP网络上无需安装单独的光纤网络即可同时传输消息和块数据的突破性技术。iSCSI基于应用非常广泛的TCP/IP协议,将SCSI命令/数据块封装为iSCSI包,再封装至TCP 报文,然后封装到IP 报文中。iSCSI通过TCP面向连接的协议来保护数据块的可靠交付。由于iSCSI基于IP协议栈,因此可以在标准以太网设备上通过路由或交换机来传输。
iSCSI技术实现了物理硬盘设备与TCP/TP网络传输协议的相互结合,使得用户可以通过互联网方便的获取到远程机房提供的共享存储资源
iscsi这个架构主要将存储装置与使用的主机分为两部分,分别为:
(1)iscsi target:就是存储设备端,存放磁盘或RAID的设备。
(2)iscsi initiator:就是能够使用target的用户端,通常是服务器。也就是说,想要连接到iscsi target 的服务器,也必须要安装iscsi initistor 的相关功能后才能使用iscsi target 提供的磁盘。
ISCIS的服务器端的设置
1划分需要共享的磁盘分区
共享的磁盘分区可以是物理磁盘分区,但是物理 磁盘分区一旦设置共享挂载完成之后,空间大小便会确定,无法进行容量变化。所以建议使用lvm逻辑卷进行共享,可以方便实现共享分区的扩容。
在虚拟机中添加一块硬盘(这里就不做详细说明)
fdisk -l 查看当前的磁盘分区信息
fdisk /dev/sdb 对/dev/sdb进行划分分区
partprobe 刷新加载分区列表
pvcreate /dev/sdb1 创建物理卷
vgcreate vgzu /dev/sdb1 #创建卷组 vgzu
lvcreate -L 500M -n lv0 vgzu # 在卷组vgzu中创建逻辑卷 lv0
yum install targetcli -y 安装共享策略编辑器
systemctl start target 启动服务
systemctl enable target 设置开机自启
systemctl status target 查看服务状态
targetcli 使用共享编辑器对磁盘进行处理的命令
/backstores/block create taylor:storage1 /dev/vgzu/lv0 添加已创建的逻辑卷到 Backstores 项下,进行命名
iscsi/ create iqn.2019-03.com.taylor:storage1 ##iqn全局限定名称,年-月.域名反写
iscsi/iqn.2019-03.com.taylor:storage1/tpg1/luns create /backstores/block/taylor:storage1 ##iscsi 网络csi硬盘
iscsi/iqn.2019-03.com.taylor:storage1/tpg1/acls create iqn.2019-03.com.taylor:storage1key ##安全认证,设定一个密钥,别人访问之前要输入密钥,storage1key.加密字符
iscsi/iqn.2019-03.com.taylor:storage1/tpg1/portals create 192.168.152.131 ##开接口,设备再哪台主机ip就写那个主机的ip
开接口时发现在启用端口3260和IP监听的时候,已经存在了一个IP和端口,此时需要手动删除。
exit 退出
防火墙配置
firewall-cmd --state 查看防火墙确保开启状态
firewall-cmd --permanent --add-port=3260/tcp 永久设置防火墙策略对3260端口不阻拦
firewall-cmd --reload 重新加载配置
firewall-cmd --list-all 查看防火墙的策略
客户端使用共享磁盘
yum search iscsi
yum install iscsi-initiator-utils -y 安装网络磁盘共享客户端软件
vim /etc/iscsi/initiatorname.iscsi 编辑配置文件
指定客户端的nitiatorName 值,与服务端的权限列表中的生成加密一致,才能使用
systemctl restart iscsid 重启服务
iscsiadm -m discovery -t st -p 192.168.152.131 #寻找发现服务端已设置好的共享资源
连接共享磁盘
iscsiadm -m node -T iqn.2019-05.com.bruce:bruce -p 192.168.152.131 -l
客户端对共享资源的使用
fdisk -l 查看当前的磁盘分区信息 (共享磁盘sdb500M出现)
对共享磁盘进行分区(跟普通磁盘分区一样)
fdisk /dev/sdb
mkfs.xfs /dev/sdb1 格式化磁盘
mount /dev/sda1 /mnt #进行挂载
设置开机自动挂载
vim /etc/fstab # 编辑文件,设定开机自动挂载
blkid 查看一个设备的文件系统类型
UUID="99565ea2-6f6d-4eed-a450-8dfeb3449290" /mnt xfs defaults,_netdev 0 0 这个的格式必须为网络_netdev挂载
使用UUID的方式指定要被挂载的设备,比较稳定。
_netdev 参数表示这是一个网络挂载,提醒系统在网络启动之后进行挂载。
扩展共享资源
服务端对lv进行拉伸
4、取消共享分区
umount /opt #卸载共享分区的挂载
iscsiadm -m node -T iqn.2019-05.com.bruce:bruce -p 192.168.152.131 -u #退出共享分区
iscsiadm -m node -T iqn.2019-05.com.bruce:bruce -p 192.168.152.131 -o delete #删除共享数据
vim /etc/fstab #在该文件中删除设置的自动挂载。否则再次开机出现异常。
服务端
targetcli #进入共享策略编辑工具
/> clearconfig confirm=True #清除所有的共享设置
注意路径
以上是关于linux中ISCSI(网络共享磁盘)的主要内容,如果未能解决你的问题,请参考以下文章