利用iSCSI服务部署IP SAN网络存储服务

2024-02-21 13:04

本文主要是介绍利用iSCSI服务部署IP SAN网络存储服务,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、配置环境(Vmware WorkStation虚拟环境)

服务端与客户端OS:openEuler 22.03-LTS

CPU:1U1C

内存:2G

硬盘:5个SCSI磁盘,其中一个作为系统盘,另外四个配置为RAID5阵列

服务器IP:192.168.17.200

二、详细配置过程

1、配置RAID5

mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde

其中,-Cv参数为创建阵列并显示过程,/dev/md0为生成的阵列组名称,-n 3参数为创建RAID 5磁盘阵列所需的硬盘个数,-l 5参数为RAID磁盘阵列的级别,-x 1参数为磁盘阵列的备份盘个数。

执行以下命令查看RAID5阵列详情

mdadm -D /dev/md0

2、配置iSCSI服务端

(1)在服务器上安装iSCSI服务软件包

dnf install -y targetcli

(2)配置iSCSI服务端共享资源

  • 查看iSCSI服务端共享资源
[root@ipsan ~]# targetcli
targetcli shell version 2.1.54
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]o- vhost ................................................................................................ [Targets: 0]o- xen-pvscsi ........................................................................................... [Targets: 0]
  • 将前面创建的RAID 5磁盘阵列md0作为iSCSI共享设备
/> cd /backstores/block
/backstores/block> create disk0 /dev/md0
Created block storage object disk0 using /dev/md0.
/backstores/block> cd /
/> ls
o- / ............................................................................................................. [...]o- backstores .................................................................................................. [...]| o- block ...................................................................................... [Storage Objects: 1]| | o- disk0 ............................................................. [/dev/md0 (40.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: 0]o- loopback ............................................................................................. [Targets: 0]o- vhost ................................................................................................ [Targets: 0]o- xen-pvscsi ........................................................................................... [Targets: 0]
  • 创建iSCSI target名称及配置共享资源
/> cd iscsi 
/iscsi> create 
Created target iqn.2003-01.org.linux-iscsi.ipsan.x8664:sn.a54ce739d195.
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.2003-01.org.linux-iscsi.ipsan.x8664:sn.a54ce739d195 ................................................. [TPGs: 1]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> cd iqn.2003-01.org.linux-iscsi.ipsan.x8664:sn.a54ce739d195/
/iscsi/iqn.20....a54ce739d195> cd tpg1/luns
/iscsi/iqn.20...195/tpg1/luns> create /backstores/block/disk0
Created LUN 0.
  • 设置访问控制列表(ACL)

iSCSI协议通过客户端名称进行验证的。即iSCSI客户端的名称与服务端中设置的访问控制列表中某一名称条目一致即可。acls参数目录用于存放能够访问iSCSI服务端共享存储资源的客户端名称,推荐在前面系统生成的iSCSI target后面追加上类似于:client的参数,这样既能保证客户端的名称具有唯一性,又非常便于管理和阅读。

/iscsi/iqn.20...195/tpg1/luns> cd ../acls 
/iscsi/iqn.20...195/tpg1/acls> create iqn.2003-01.org.linux-iscsi.ipsan.x8664:sn.a54ce739d195:client
Created Node ACL for iqn.2003-01.org.linux-iscsi.ipsan.x8664:sn.a54ce739d195:client
Created mapped LUN 0.
  • 设置iSCSI服务端的监听IP地址和端口号

默认情况下,iSCSI允许所有网卡提供iSCSI服务,但这种配置存在安全隐患,可以删除默认配置,然后指定服务接口IP地址。

/iscsi/iqn.20...195/tpg1/acls> 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
Deleted network portal 0.0.0.0:3260
/iscsi/iqn.20.../tpg1/portals> create 192.168.17.200
Using default IP port 3260
Created network portal 192.168.17.200:3260.
  • 查看并确认配置
/iscsi/iqn.20.../tpg1/portals> cd /
/> ls
o- / ............................................................................................................. [...]o- backstores .................................................................................................. [...]| o- block ...................................................................................... [Storage Objects: 1]| | o- disk0 ............................................................... [/dev/md0 (40.0GiB) write-thru activated]| |   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.2003-01.org.linux-iscsi.ipsan.x8664:sn.a54ce739d195 ............................................... [TPGs: 1]|   o- tpg1 ................................................................................... [no-gen-acls, no-auth]|     o- acls .............................................................................................. [ACLs: 1]|     | o- iqn.2003-01.org.linux-iscsi.ipsan.x8664:sn.a54ce739d195:client ........................... [Mapped LUNs: 1]|     |   o- mapped_lun0 ..................................................................... [lun0 block/disk0 (rw)]|     o- luns .............................................................................................. [LUNs: 1]|     | o- lun0 .......................................................... [block/disk0 (/dev/md0) (default_tg_pt_gp)]|     o- portals ........................................................................................ [Portals: 1]|       o- 192.168.17.200:3260 .................................................................................. [OK]o- loopback ............................................................................................. [Targets: 0]o- vhost ................................................................................................ [Targets: 0]o- xen-pvscsi ........................................................................................... [Targets: 0]
  • 保存配置
/> exit
Global pref auto_save_on_exit=true
Last 10 configs saved in /etc/target/backup/.
Configuration saved to /etc/target/saveconfig.json

3、配置防火墙,放行iSCSI服务

[root@ipsan ~]# firewall-cmd --permanent --zone=public --add-port=3260/tcp
[root@ipsan ~]# firewall-cmd --reload

4、配置iSCSI客户端

以下操作在iSCSI客户端完成

(1)安装iSCSI客户端服务程序initiator

dnf install iscsi-initiator-utils

(2)编辑iSCSI客户端配置文件

CNA01:~ # vi /etc/iscsi/initiatorname.iscsi InitiatorName=iqn.2003-01.org.linux-iscsi.ipsan.x8664:sn.a54ce739d195:client

(3)重启iSCSI服务

systemctl restart iscsid
systemctl enable  iscsid

(3)扫描发现远程iSCSI服务端

iscsiadm -m discovery -t st -p 192.168.17.200

其中,-m discovery参数的目的是扫描并发现可用的存储资源,-t st参数为执行扫描操作的类型,-p 192.168.17.200参数为iSCSI服务端的IP地址

(4)登录iSCSI服务端

CNA01:~ # iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.ipsan.x8664:sn.a54ce739d195 -p 192.168.17.200 --login
Logging in to [iface: default, target: iqn.2003-01.org.linux-iscsi.ipsan.x8664:sn.a54ce739d195, portal: 192.168.17.200,3260] (multiple)
Login to [iface: default, target: iqn.2003-01.org.linux-iscsi.ipsan.x8664:sn.a54ce739d195, portal: 192.168.17.200,3260] successful.

其中,-m node参数为将客户端所在主机作为一台节点服务器,-T参数为要使用的存储资源,-p 192.168.17.200参数为iSCSI服务端的IP地址,--login或-l参数表示登录。

(4)查看共享设备

在iSCSI客户端成功登录之后,会在客户端主机上多出一块名为/dev/sdb的设备文件。

CNA01:~ #  ls -l /dev/sdb
brw-rw---- 1 root disk 8, 16 Feb 21 05:19 /dev/sdb
CNA01:~ # file /dev/sdb 
/dev/sdb: block special (8/16)

(5)格式化共享设备

CNA01:~ # mkfs.ext4 /dev/sdb
mke2fs 1.45.0 (6-Mar-2019)
/dev/sdb is apparently in use by the system; will not make a filesystem here!

若出现上述错误,则执行以下命令解决问题

CNA01:~ # dmsetup remove_all
CNA01:~ # dmsetup status

正常格式化共享设备的输出信息如下

CNA01:~ # mkfs.ext4 /dev/sdb
mke2fs 1.45.0 (6-Mar-2019)
Creating filesystem with 10477056 4k blocks and 2621440 inodes
Filesystem UUID: f012928f-9e69-4631-b0bc-1d97e75a305b
Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (65536 blocks): done
Writing superblocks and filesystem accounting information: done

(6)编辑/etc/fstab配置文件

因是网络共享设备,通常采用UUID进行挂载,且挂载选项中选用_netdev参数。

CNA01:~ # blkid | grep /dev/sdb
/dev/sdb: UUID="f012928f-9e69-4631-b0bc-1d97e75a305b" TYPE="ext4" CNA01:~ # vi /etc/fstab
……在文件末尾添加以下挂载信息……
UUID="f012928f-9e69-4631-b0bc-1d97e75a305b" /iscsi      ext4    defaults,_netdev 0 0 

(7)挂载共享设备

CNA01:~ # mkdir /iscsi
CNA01:~ # mount -a

注:如果不再需要使用iSCSI共享设备资源了,可以用iscsiadm命令的-u参数将其设备卸载,命令如下:

iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.ipsan.x8664:sn.a54ce739d195 -u

这篇关于利用iSCSI服务部署IP SAN网络存储服务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/731861

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

HDFS—存储优化(纠删码)

纠删码原理 HDFS 默认情况下,一个文件有3个副本,这样提高了数据的可靠性,但也带来了2倍的冗余开销。 Hadoop3.x 引入了纠删码,采用计算的方式,可以节省约50%左右的存储空间。 此种方式节约了空间,但是会增加 cpu 的计算。 纠删码策略是给具体一个路径设置。所有往此路径下存储的文件,都会执行此策略。 默认只开启对 RS-6-3-1024k

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

poj 3181 网络流,建图。

题意: 农夫约翰为他的牛准备了F种食物和D种饮料。 每头牛都有各自喜欢的食物和饮料,而每种食物和饮料都只能分配给一头牛。 问最多能有多少头牛可以同时得到喜欢的食物和饮料。 解析: 由于要同时得到喜欢的食物和饮料,所以网络流建图的时候要把牛拆点了。 如下建图: s -> 食物 -> 牛1 -> 牛2 -> 饮料 -> t 所以分配一下点: s  =  0, 牛1= 1~

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

poj 3068 有流量限制的最小费用网络流

题意: m条有向边连接了n个仓库,每条边都有一定费用。 将两种危险品从0运到n-1,除了起点和终点外,危险品不能放在一起,也不能走相同的路径。 求最小的费用是多少。 解析: 抽象出一个源点s一个汇点t,源点与0相连,费用为0,容量为2。 汇点与n - 1相连,费用为0,容量为2。 每条边之间也相连,费用为每条边的费用,容量为1。 建图完毕之后,求一条流量为2的最小费用流就行了