使用ISCSI服务部署网络存储

目录

一、ISCS技术应用场景之一

二、环境准备:

2.1网络部署

2.2服务端硬盘

三、配置ISCSI服务端

第一步、安装iscsi服务端的交互式配置工具targetcli

第二步:进入iscsi服务的配置“文件”

第三步:创建iscsi target 名称和配置共享资源。

3.1 创建iscsi target名称

3.2 创建一个名为share的存储块

3.3创建需要共享的设备

3.4配置访问控制列表acl

3.5 设置ISCSI服务端监听的IP地址和端口号

3.6检查配置信息无误后,输入exit命令后保存信息退出配置。

3.7重启target服务,使配置生效

3.8设置防火墙,放行ISCSI服务。

四、配置Windows客户端

五、配置Linux客户端

5.1安装客户端服务程序

5.2编辑iscsi客户端的initiator名称文件

5.3重启客户端服务程序使得修改的名称文件生效,并且将其加入到开机启动项目确保下次开机服务自行启动。

5.4.发现远程iscsi服务端

5.5登录远程服务端


一、ISCS技术应用场景之一

在生产环境中,集群是被广泛使用的服务器搭建技术,其中,使用iSCSI 技术将两台或更多服务器连接到独立磁盘,可以在多个服务器之间实现远程磁盘的共享,从而大大减少了数据同步的时间和资源消耗,提高了服务器的效率和可靠性。

二、环境准备:

2.1网络部署

我的配置环境,服务端与windows客户端的IP地址不在同一网段但是能ping通原因:我使用的是VMware Workstation虚拟机软件,在虚拟机软件里面部署了iscsi服务端和Linux客户端。我的虚拟机软件使用的是使用地址转换(NAT)网络模式。NAT地址转换可以让VM虚拟机的网络服务发挥路由器的作用。尽管我的物理机windows和虚拟机不同网段,但还是能ping通。

windows客户端与服务端能ping通

Linux客户端与服务端能ping通

2.2服务端硬盘

添加一块硬盘/dev/sdb,然后将硬盘/dev/sdb分区一个大小为10G的逻辑卷/dev/sdb1,配置/dev/sdb1提供iscsi共享存储服务。

三、配置ISCSI服务端

第一步、安装iscsi服务端的交互式配置工具targetcli

[root@zhoujunru ~]# yum install targetcli -y

第二步:进入iscsi服务的配置“文件”

安装好工具后,使用targetcli命令进入iscsi共享资源的配置,就好比是进入samba服务的配置文件里面。只不过targetcli命令是iscsi共享资源的配置文件抽象成了“目录”形式。

[root@zhoujunru ~]# targetcli
Warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell version 2.1.53
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'./> ls
o- / ............................................................ [...]o- backstores ................................................. [...]| o- block ..................................... [Storage Objects: 0]| o- fileio .................................... [Storage Objects: 0]| o- pscsi ..................................... [Storage Objects: 0]| o- ramdisk ................................... [Storage Objects: 0]o- iscsi ............................................... [Targets: 0]o- loopback ............................................ [Targets: 0]
/>

第三步:创建iscsi target 名称和配置共享资源。

3.1 创建iscsi target名称

iscsi target 名称是一串用来描述共享资源的字符串,用户在扫描ISCSI服务端时可以看到这个字符串。    

/iscsi> create iqn.2018-10.com.example:server  ##创建 iscsi target名称为iqn.2018-10.com.example:server
Created target iqn.2018-10.com.example:server.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/iscsi> ls
o- iscsi ........................ [Targets: 1]o- iqn.2018-10.com.example:server  [TPGs: 1]   #系统在生成这个target名称后,会在/iscsi参数目录中创建一个与其字符串同名的新"目录”,用来存放共享资源。o- tpg1 ........... [no-gen-acls, no-auth]o- acls ...................... [ACLs: 0]o- luns ...................... [LUNs: 0]o- portals ................ [Portals: 1]o- 0.0.0.0:3260 ................. [OK]
/iscsi> 
3.2 创建一个名为share的存储块
/> cd /backstores/block    
/backstores/block> create name=share dev=/dev/sdb1  #创建一个名为share的存储块,使得用户在登录服务端后,可以默认使用/dev/sdb这块硬盘设备提供的共享存储资源
Created block storage object share using /dev/sdb1.
/backstores/block> 
3.3创建需要共享的设备
/iscsi/iqn.20...ample:service> cd tpg1/luns
/iscsi/iqn.20...ice/tpg1/luns> create /backstores/block/share  #创建一个名为share的存储块,使得用户在登录服务端后,,可以使用/dev/sdb1设备提供的共享存储资源
Created LUN 0.
/iscsi/iqn.20...ice/tpg1/luns> 
3.4配置访问控制列表acl
/iscsi/iqn.20...e:server/tpg1> cd acls
/iscsi/iqn.20...ver/tpg1/acls> create iqn.2018-10.com.example:client ##在系统生成的ISCSI target后面加上:client参数,保证客户端的一致性
Created Node ACL for iqn.2018-10.com.example:client
/iscsi/iqn.20...ver/tpg1/acls> 
3.5 设置ISCSI服务端监听的IP地址和端口号

在服务器中 0.0.0.0指的是本机上所有的ipv4地址。


/iscsi/iqn.20...e:server/tpg1> cd portals 
/iscsi/iqn.20.../tpg1/portals> ls
o- portals ...................... [Portals: 1]o- 0.0.0.0:3260 ....................... [OK]
/iscsi/iqn.20.../tpg1/portals> delete 0.0.0.0 3260  ##生产环境中的服务器可能有多块网卡,在配置文件中是默认所有的网卡提供ISCSI服务,这可能会带来安全问题,因为手动删除监听的IP地址和端口号
Deleted network portal 0.0.0.0:3260
/iscsi/iqn.20.../tpg1/portals> create 192.168.10.132 #服务器端的IP地址
Using default IP port 3260
Created network portal 192.168.10.132:3260.
/iscsi/iqn.20.../tpg1/portals> ls
o- portals ...................... [Portals: 1]o- 192.168.10.132:3260 ................ [OK]
/iscsi/iqn.20.../tpg1/portals> 
3.6检查配置信息无误后,输入exit命令后保存信息退出配置。
/> ls
o- / ................................... [...]o- backstores ........................ [...]| o- block ............ [Storage Objects: 1]| | o- share  [/dev/sdb1 (10.0GiB) write-thru deactivated]| |   o- alua ............. [ALUA Groups: 1]| |     o- default_tg_pt_gp  [ALUA state: Active/optimized]| o- fileio ........... [Storage Objects: 0]| o- pscsi ............ [Storage Objects: 0]| o- ramdisk .......... [Storage Objects: 0]o- iscsi ...................... [Targets: 1]| o- iqn.2018-10.com.example:server  [TPGs: 1]|   o- tpg1 ......... [no-gen-acls, no-auth]|     o- acls .................... [ACLs: 1]|     | o- iqn.2018-10.com.example:client  [Mapped LUNs: 0]|     o- luns .................... [LUNs: 0]|     o- portals .............. [Portals: 1]|       o- 192.168.10.132:3260 ........ [OK]o- loopback ................... [Targets: 0]
/> 
/> 
/> exit
Global pref auto_save_on_exit=true
Configuration saved to /etc/target/saveconfig.json
3.7重启target服务,使配置生效
[root@zhoujunru /]# systemctl restart target
[root@zhoujunru /]# 
3.8设置防火墙,放行ISCSI服务。
[root@zhoujunru /]# iptables -F
[root@zhoujunru /]# firewall-cmd --permanent --add-port=3260/tcp
success
[root@zhoujunru /]# firewall-cmd --reload
success
[root@zhoujunru /]# 

ISCSI服务器端配置完成,接下来配置linux客户端和windows客户端。

四、配置Windows客户端

五、配置Linux客户端

5.1安装客户端服务程序
[root@localhost /]# yum install iscsi-initiator-utils
5.2编辑iscsi客户端的initiator名称文件
[root@localhost /]# vim /etc/iscsi/initiatorname.iscsi
[root@localhost /]# cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2018-10.com.example:client
5.3重启客户端服务程序使得修改的名称文件生效,并且将其加入到开机启动项目确保下次开机服务自行启动。
[root@localhost /]# systemctl restart iscsid
[root@localhost /]# systemctl enable iscsid
Created symlink /etc/systemd/system/multi-user.target.wants/iscsid.service → /usr/lib/systemd/system/iscsid.service.
5.4.发现远程iscsi服务端
[root@localhost /]# iscsiadm -m discovery -t st -p 192.168.10.132
192.168.10.132:3260,1 iqn.2018-10.com.example:server
5.5登录远程服务端
[root@localhost /]# iscsiadm -m node -T iqn.2018-10.com.example:server -p 192.168.10.132 --login
[root@localhost /]# iscsiadm -m node -T iqn.2018-10.com.example:server -p 192.168.10.132 --login
[root@localhost /]# iscsiadm -m node -T iqn.2018-10.com.example:server -p 192.168.10.132 --login
[root@localhost /]# 

能发现,能登录,但是并没有连接到远程存储资源.排查了网络问题,防火墙问题,还是没有找到出错原因,希望大佬们能在评论区教教孩纸。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/529090.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2.4 为赌博而生的期望值理论

期望值理论 人们在风险决策时,会把数学期望值最大的可能选项作为自己的最终选择。 期望值:指无数次相同的风险决策的最终平均值或加权平均数它往往以货币或财产的数量为表现形式。又称期望货币值。 期望值的计算 圣彼得堡论:为什么人们不愿…

【竞技宝】LOL:TES连下两局轻松击败OMG

【竞技宝】LOL:TES连下两局轻松击败OMG 北京时间2024年3月9日,英雄联盟LPL2024春季常规赛继续进行,昨日共进行三场比赛,第三场比赛由TES对阵OMG。本场比赛,TES的打野选手tian个人表现出色,两局比赛都多次成…

Dgraph 入门教程六《增删改查》

作为入门教程,本章是最后一章教程,Dgraph 还有很多东西可以介绍,如果有时间,后面在出Dgraph的进阶教程。对数据库最重要的操作就是增删改查。本章将详细介绍。 1、查询 Dgraph 在你创建GraphQL的时候会自动创建查询。查询用的是…

点读机女孩是因代言了广告而走红的吗?只知道高君雨这一点你就错了!

点读机女孩是因代言了广告而走红的吗?只知道高君雨这一点你就错了! 高君雨,就是那个在点读机广告里,甜美地说着“哪里不会点哪里,so easy”的小女孩。当年的广告一播出,这小女孩就火了,因为她聪…

JavaScript简单数组方法

一些简单的数组方法 ● 切片(不会改变原有数组) let arr [a, b, c, d, e];console.log(arr.slice(2));● 拼接(会改变原有数组) console.log(arr.splice(2)); console.log(arr);● 反转(会改变原有数组&#xff09…

友嘉电器全新一代空气除菌洗碗机系列新品发布会

2024年3月8号,在绍兴古城 咸亨酒店,友嘉电器隆重举行了一场重新定义厨房清洁标准的新品发布会。本次发布会的主题是“不是所有的洗碗机都能空气除菌” 在当今社会,厨房已经不再是简单的烹饪场所,而是与家庭生活健康息息相关的重要…

Django高级之-缓存

Django高级之-缓存 一 缓存介绍 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. 当一个网站的用户访问量很大的时候,每一次的的后台操作,都会消耗很多的服务端资源,所以必须使用缓存来减轻后端服务…

阿里云k8s环境下,因slb限额导致的发布事故

一、背景 阿里云k8s容器,在发布java应用程序的时候,客户端访问出现500错误。 后端服务是健康且可用的,网关层大量500错误请求,slb没有流入和流出流量。 经过回滚,仍未能解决错误。可谓是一次血的教训,特…

AI PC:重塑未来办公与生活方式的革命性工具

随着科技的飞速发展,人工智能(AI)已经渗透到我们生活的方方面面。而在PC领域,一场由AI引领的变革也正在悄然发生。从硬件到软件,从云端到终端,AI正在重塑我们的办公和生活方式。 AI工具网 | 人工智能工具推…

EVE-NG桥接虚拟网卡实现与虚拟机通讯

一、知识补充 1、VMware网络连接 在VM中,给我们提供了以下几种连接网络的模式 桥接模式:直接联机物理网络NAT模式:用于共享主机的IP地址仅主机模式:与主机共享的专用网络自定义:特定虚拟网络LAN区段 特别注意的是&am…

学会这7种SQL进阶用法,让你少走99%的弯路!

引言 在日常业务开发中,熟练掌握SQL语言是至关重要的。除了基础的增删改查操作外,了解和掌握一些进阶的SQL用法能够让你更高效地处理各种复杂的数据操作。本文将介绍几种SQL进阶用法,让你少走99%的弯路,提高数据处理效率。 自定…

ArcGIS JSAPI 学习教程 - ArcGIS Maps SDK for JavaScript 不同版本4.8-4.28(最新版)离线部署

ArcGIS JSAPI 学习教程 - ArcGIS Maps SDK for JavaScript 不同版本4.8-4.28(最新版)SDK离线部署 测试资源4.18 以及之前版本4.19 以及之后版本 接触一段时间 ArcGIS JSAPI 之后,整体感觉还好,后来需要解决不同版本问题&#xff0…