Kylin麒麟操作系统服务部署 | ISCSI存储服务

news2025/3/12 8:57:04

以下所使用的环境为:
虚拟化软件:VMware Workstation 17 Pro
麒麟系统版本:Kylin-Server-V10-SP3-2403-Release-20240426-x86_64

一、网络存储结构

网络存储技术(Network Storage Technologies)是基于数据存储的一种通用术语。网络存储结构分为以下三种:

  • DAS直连式存储:直接与主机系统相连接的存储设备(硬盘、光盘)
  • NAS网络存储设备:直接与网络介质相连的特殊设备以实现数据存储(NFS、Samba、CIFS)
  • SAN存储区域网络:存储设备相连企鹅与一台服务器或服务器群相连形成网络(FC-SAN、IP-SAN)

NAS和SAN的区别

  • NAS使用TCP/IP传输数据;SAN使用SCSI或iSCSI协议传输数据
  • NAS采用NFS和CIFS技术实现文件共享,基于操作系统的“文件级“读写操作
  • SAN采用底层块协议,根据协议头的“块地址+偏移地址”,无需操作系统也可以正常识别

FC-SAN和IP-SNA的区别

  • FC-SAN以光纤为介质构建存储网络,通过光纤通道协议转发scsi协议
  • IP-SAN以IP网络构建存储网络,现对于FC-SAN更加经济实惠,通过TCP协议转发scsi协议

二、ISCSI存储概念

ISCSI是一种在Internet协议上,特别是以太网上进行数据块传输的标志,它是一种基于IP Storage理论的新型存储技术,通过将SCSI接口和IP网络相结合,可以在IP网络上构建SAN存储区域网络。可以理解为:iSCSI=IP+SCSI。

ISCIS技术优势

  • 将用于本机的SCSI通过TCP/IP网络传输,只要IP可达,可无视地域
  • 连接的服务器数量不受限制(原有的SCSI-3最大连接数为15)
  • 基于服务器架构,可以实现在线扩容

ISCSI Target

被用于存储数据的iscis磁盘或具有iscsi功能的设备都可以被称为“ISCSI Target”。利用ISCSI Target可以将服务器的存储空间分配给客户端使用,客户端就可以像本地磁盘一样使用iscsi磁盘。

iSCSI initiator

iSCSI initiator是一个安装在系统上的软件或硬件设备,负责与iscis存储设备进行通信。

在这里插入图片描述

三、targetcli服务

targetcli支持通过普通命令方式使用或交互式使用。通过targetcli可以创建、删除和配置iSCSI目标,在交互式中,可以直观呈现目标的层级树,方便浏览和配置,支持使用Linux基本命令,如cd、ls、pwd等。

安装targetcli,麒麟操作系统默认已经安装好targetcli

yum install -y targetcli

在这里插入图片描述

进入交互模式

targetcli

在这里插入图片描述

1. 目录内容解析

查看当前目录内容

ls

在这里插入图片描述

  • backstores:存储目录
    • block:块设备,如:磁盘驱动器、磁盘分区、逻辑卷(类型标识符为b的设备文件)
    • fileio:文件存储,将文件模拟成磁盘,类似于虚拟机中的1个文件代表1个磁盘
    • pscsi:物理SCSI
    • ramdisk:内存中的1个指定大小的内存存储,也就是使用内存模拟磁盘

3. iscis目录解析

默认情况下,iscis目录为空。当我们在iscsi目录下创建iscis target时,会自动生成目录

  • 在创建IQN的同时会自动创建一个默认的TPG
  • iscsi:目标目录
    • acls:设置允许连接的客户端,通过iqn或IP地址限定
    • luns:逻辑单元号,指向物理存储
    • portals:映射的IP地址和端口号

在这里插入图片描述

3. LUN

目标要提供客户端对存储或输出设备的访问,需要配置一个或多个逻辑单元号(LUN)。在ISCSI中,LUN显示为目标的连续编号的磁盘驱动器,一般来说,目标只有一个LUN。iSCIS通过ACL限制启动器是否可以访问LUN。

LUN的全称是Logical Unit Number(逻辑单元号),是SCSI中的概念。块存储对象只要加入target存储系统,就会分配1个代号。在区分块设备时只需要说 target 中的 LUN号码,块存储对象被指定了一个LUN后,成为了一个“逻辑”磁盘,供存储客户端使用。

通俗的理解:将后端存储设备中的设备理解为房间,LUN理解为房号。客户端如果要访问该房间,只需要知道该房号即可访问。

四、ISCSI服务部署(基于磁盘)

节点设置

主机网络信息说明
Kylin-1192.168.110.1/24存储服务器
Kylin-2192.168.110.2/24测试客户端

[Step1]: Kylin-1配置:添加3块10G硬盘

在这里插入图片描述

[Step2]: Kylin-1配置:安装ISCIS存储服务器端

yum install -y targetcli

[Step3]: Kylin-1配置:创建块存储对象

cd /backstores/block			# 进入块设备存储目录
create 10G-1 /dev/sdb			# 新建块设备
create 10G-2 /dev/sdc
create 10G-3 /dev/sdd
  • **create:**新建块设备
  • **10G-1:**块设备名称
  • **/dev/sdb:**块设备路径

在这里插入图片描述

[Step4]: Kylin-1配置:切换到iSCIS目录,创建ISCSI Target

cd /iscsi
create iqn.2024-09.com.meaauf		# 名称可以自定义

在这里插入图片描述

[Step5]: Kylin-1配置:切换到luns目录下,将block目录下的块存储加入luns目录下

cd iqn.2024-09.com.meaauf/tpg1/luns
create /backstores/block/10G-1
create /backstores/block/10G-2
create /backstores/block/10G-3

在这里插入图片描述

[Step6]: Kylin-1配置:切换到acls目录下,为initator客户端创建ACL访问(客户端连接器)

cd ../acls
create iqn.2024-09.com.meaauf.Kylin-2

在这里插入图片描述

[Step7]: Kylin-1配置:切换到portals目录下,指定新的监听地址和端口号

cd ../portals/
delete 0.0.0.0 3260			# 删除默认监听端口 3260
create 192.168.110.1 3260	# 添加监听端口

在这里插入图片描述

[Step8]: Kylin-1配置:设置允许连接的用户和密码

cd ../acls/iqn.2024-09.com.meaauf.kylin-2/
set auth userid=admin
set auth password=kylin2024

在这里插入图片描述

[Step9]: Kylin-1配置:查看当前配置

ls /

在这里插入图片描述

[Step10]: Kylin-1配置:可以手动保存后退出,也可以直接退出(退出会保存当前配置)

cd /
saveconfig

在这里插入图片描述

[Step11]: Kylin-1配置:启动target服务并加入到开机自启,调整防火墙策略,放行3260端口

systemctl enable --now target.service
firewall-cmd --add-port=3260/tcp --permanent
firewall-cmd --reload

[Step12]: Kylin-2配置:配置ISCSI存储客户端

yum -y install open-iscsi

[Step13]: Kylin-2配置:配置ISCSI Initiator客户端连接器名称

vim /etc/iscsi/initiatorname.iscsi

# 修改内容如下,InitiatorName必须和服务端acls中设置值一致
InitiatorName=iqn.2024-09.com.meaauf.Kylin-2

[Step14]: Kylin-2配置:修改iscsid配置文件

vim /etc/iscsi/iscsid.conf

# 添加下列内容
node.session.auth.authmethod = CHAP
node.session.auth.username = admin
node.session.auth.password = kylin2024

在这里插入图片描述

[Step15]: Kylin-2配置:重新启动iscsid服务

systemctl restart iscsid.service

[Step16]: Kylin-2配置:发现远程可用的iSCSI服务器节点

iscsiadm -m discovery -t sendtargets -p 192.168.110.1
iscsiadm -m discovery -t st -p 192.168.110.1
  • -m discovery:发现操作
  • -t sendtargets:指定发现类型为 sendtargets
  • -p 192.168.110.1:指定iSCSI目标门户地址

在这里插入图片描述

[Step17]: Kylin-2配置:登录远程可用的iSCSI服务器节点

iscsiadm -m node --login

在这里插入图片描述

[Step18]: Kylin-2验证:查看本地裸设备,可以看到新增了3块10G硬盘

lsblk

在这里插入图片描述

[Step19]: Kylin-2验证:卸载指定的iSCSI存储设备

iscsiadm -m node -T iqn.2024-09.com.meaauf -u

在这里插入图片描述

五、ISCSI服务部署(基于文件)

节点设置

主机网络信息说明
Kylin-1192.168.110.1/24存储服务器
Kylin-2192.168.110.2/24测试客户端

[Step1]: Kylin-1配置:创建1个文件,模拟磁盘

dd if=/dev/zero of=/dev/file bs=1M count=2048		# 创建1个2G的文件,文件名为 /dev/file
  • if=/dev/zero:指定源文件
  • of=/dev/file:指定输出文件
  • bs=1M:设置块大小,dd命令每次写入1M的数据
  • count=2048:复制的块数为2048

[Step2]: Kylin-1配置:创建iscis文件存储,进入fileio目录下

targetcli
> cd /backstores/fileio
> create file /dev/file

在这里插入图片描述

[Step3]: Kylin-1配置:创建逻辑单元号

cd /iscsi/iqn.2024-09.com.meaauf/tpg1/luns/
create /backstores/fileio/file

在这里插入图片描述

[Step4]: Kylin-1配置:创建客户端ACL,这里我们使用和上述一样的ACL规则

cd ../acls/

在这里插入图片描述

[Step5]: Kylin-1配置:退出

exit

[Step6]: Kylin-2配置:发现远程可用的iSCSI服务器节点,登录iSCSI服务器节点

iscsiadm -m discovery -t sendtargets -p 192.168.110.1
iscsiadm -m node --login

在这里插入图片描述

[Step7]: Kylin-2验证:查看本地裸设备,可以看到新增了1块2G硬盘

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构_单链表

今天我们要开启链表的学习 🖋️🖋️🖋️ 学了顺序表我们可以知道: 🎈链表其实就是争对顺序表的缺点来设计的,补足的就是顺序表的缺点 🎈链表在物理上是上一个节点存放的下一个节点的地址 链表 …

深陷帕金森困境,怎样重燃生活信心?

帕金森,这个悄然影响无数中老年人生活的神经系统疾病,正逐渐走进大众视野。患病后,患者常出现静止性震颤,安静时手部、下肢不自主抖动,如同在默默诉说着身体的异常。肢体变得僵硬,行动迟缓,起步…

C语言(23)

字符串函数 11.strstr函数 1.1函数介绍: 头文件:string.h char *strstr ( const char * str1,const char *str2); 作用:在一个字符串(str1)中寻找另外一个字符串(str2)是否出现过 如果找到…

Docker运行hello-world镜像失败或超时:Unable to find image ‘hello-world:latest‘ locally Trying to pull reposi

Docker运行hello-world镜像失败或超时,报错:Unable to find image ‘hello-world:latest’ locally Trying to pull repository docker.io/library/hello-world … /usr/bin/docker-current: missing signature key. See ‘/usr/bin/docker-current run …

Linux内核如何和设备树协同工作的?

1.编写设备树 cd arch/riscv/boot/dts/ 再cd到厂商,例如下述内容。 2.编译设备树(dts->dtb)通过dtc命令来转换 3.解析设备树 例如上述内容,都是对设备树的解析。 这里重点说一下内核对设备树的处理吧,因为这个内…

LLM中的transformer结构学习(二 完结 Multi-Head Attention、Encoder、Decoder)

文章目录 LLM中的transformer结构学习(二 完结 Multi-Head Attention、Encoder、Decoder)Self-Attention (自注意力机制)结构多头注意力 EncoderAdd & Norm 层Feed Forward 层 EncoderDecoder的第一个Multi-Head AttentionMas…

高效编程指南:PyCharm与DeepSeek的完美结合

DeepSeek接入Pycharm 前几天DeepSeek的充值窗口又悄悄的开放了,这也就意味着我们又可以丝滑的使用DeepSeek的API进行各种辅助性工作了。本文我们来聊聊如何在代码编辑器中使用DeepSeek自动生成代码。 注:本文适用于所有的JetBrains开发工具&#xff0c…

爱可以传递,幸福可以具象化

遇到什么:晚上上课学生吵吵吵,把学生手机全部收了,放讲台上。 感受到的情绪:很烦躁。 反思:收手机也不是长久之计,可是物理有什么翻转课堂呢? 明天的待办事项:早上高数选修课&#x…

力扣-数组-367 有效的完全平方数

思路和时间复杂度 思路:利用二分,确定区间是左闭右闭,然后根据大小进行二分时间复杂度: 代码 class Solution { public:bool isPerfectSquare(int num) {bool flag false;if(num 0 || num 1) return true;long long …

Java关键字与标识符

Java关键字是预定义的保留字,用于定义程序结构和语义,如if、for、class等,不能用作标识符。JDK 8有50个关键字,JDK 11引入var用于局部变量类型推断。标识符用于命名变量、类等,由字母、数字、_、$组成,不能…

【神经网络】python实现神经网络(二)——正向推理的模拟演练

一.神经网络假设 在开始讲解之前,首先我们假设有这样一套神经网络,一共有三层: 其中,关于神经网络的权重、偏置的符号定义如下(如果不知道什么是权重和偏置,可以参考我之前写过的一篇文章:【机器学习】机器学习是什么意思): 以下文章将沿用以上这个设…

DeepSeek模型本地化部署方案及Python实现

DeepSeek实在是太火了,虽然经过扩容和调整,但反应依旧不稳定,甚至小圆圈转半天最后却提示“服务器繁忙,请稍后再试。” 故此,本文通过讲解在本地部署 DeepSeek并配合python代码实现,让你零成本搭建自己的AI…

Houdini SOP层 Scatter节点

SOP 代表 Surface Operator(几何体操作节点),所有几何体的建模、变形、分布等操作都在此层级完成。 Scatter节点的作用就是 以不同的密度在模型表面撒点 Scatter 节点属于 SOP(几何体)层级: 进入 Geometr…

【网络安全工程】任务12:网络安全设备

目录 一、防火墙​ 1、作用​ 2、配置方式​ 3、存在的漏洞​ 二、入侵检测系统(IDS)和入侵防御系统(IPS)​ 1、作用​ 2、配置方式​ 3、存在的漏洞​ 三、防病毒网关​ ​1、作用​ 2、配置方式​ 3、存在的漏洞​ …

Linux 进程控制:创建、终止、等待与程序替换全解析

亲爱的读者朋友们😃,此文开启知识盛宴与思想碰撞🎉。 快来参与讨论💬,点赞👍、收藏⭐、分享📤,共创活力社区。 目录 1.进程创建 1-1 fork函数初识​ 1-2 fork函数返回值​ 1-3…

SwiftUI 让视图自适应高度的 6 种方法(四)

概览 在 SwiftUI 的世界里,我们无数次都梦想着视图可以自动根据布局上下文“因势而变”‌。大多数情况下,SwiftUI 会将每个视图尺寸处理的井井有条,不过在某些时候我们还是得亲力亲为。 如上图所示,无论顶部 TabView 容器里子视图…

1035.不相交的线

1035.不相交的线 力扣题目链接(opens new window) 在两条独立的水平线上按给定的顺序写下 nums1 和 nums2 中的整数。 现在,可以绘制一些连接两个数字 nums1[i] 和 nums2[j] 的直线,这些直线需要同时满足: nums1[i] nums2[j]且绘制的直线…

2001-2023年上市公司数字化转型年报词频统计(年报词频统计和MDA词频统计两种方式)(吴非、赵宸宇、甄红线300+关键词三种方法)

2001-2023年上市公司数字化转型年报词频统计(年报词频统计和MD&A词频统计两种方式)(吴非、赵宸宇、甄红线300关键词三种方法) 1、时间:2001-2023年 2、来源:上市公司年报 3、参考文献: …

IO多路复用实现并发服务器

一.select函数 select 的调用注意事项 在使用 select 函数时,需要注意以下几个关键点: 1. 参数的修改与拷贝 readfds 等参数是结果参数 : select 函数会直接修改传入的 fd_set(如 readfds、writefds 和 exceptfds&#xf…

C++20 模块:告别头文件,迎接现代化的模块系统

文章目录 引言一、C20模块简介1.1 传统头文件的局限性1.2 模块的出现 二、模块的基本概念2.1 模块声明2.2 模块接口单元2.3 模块实现单元 三、模块的优势3.1 编译时间大幅减少3.2 更好的依赖管理3.3 命名空间隔离 四、如何使用C20模块4.1 编译器支持4.2 示例项目4.3 编译和运行…