centos7配置iscsi共享存储-tgtd

news2024/12/25 0:41:02

前言

iSCSI又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术,iSCSI利用了TCP/IP的port 860 和 3260 作为沟通的渠道。透过两部计算机之间利用iSCSI的协议来交换SCSI命令,让计算机可以透过高速的局域网集线来把SAN模拟成为本地的储存装置。iSCSI的实现方法主要有tgtd、LIO、SCST、IET等几种方式。

一、iSCSI存储简介

ISCSI 基于TCP/IP协议,将存储设备通过ISCSI target 功能,配置成可提供共享磁盘空间的服务端,再通过ISCSI initator功能,将服务端ISCSI磁盘映射到本地使用。

ISCSI 主要分为两部分,分别是:

  • ISCSI target :存储设备端,存放磁盘或RAID的设备,通过tgtd将Linux主机仿真成ISCSI target,提供其他主机使用的磁盘。
  • ISCSI initiator: 存储客户端,通常是普通服务器,安装iscsi initiator后,使用ISCSI target 提供磁盘空间。

角色

IP

系统

服务端

192.168.1.10

CentOS7.6

客户端

192.168.1.11

CentOS7.6

二、iSCSI服务端配置

1.关闭防火墙和selinux

systemctl stop firewalld
systemctl disable firewalld
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
setenforce 0

注意:必须关闭selinux,否则tgt服务无法启动

2.安装服务端

yum install epel-release -y
yum install scsi-target-utils –y

3.创建虚拟磁盘文件

mkdir -p /data/iscsi
truncate /data/iscsi/disk1 -s 10G
chmod 777 /data/iscsi/disk1

4.创建target

cat <<EOF > /etc/tgt/conf.d/disk1.conf 
<target iqn.2023-05.com.example:disk1>
  backing-store /data/iscsi/disk1
  scsi_id e087acc9-5ef0-4c01-87a7-b9c2e0598468
</target>
EOF

注意:其它详细配置规范和说明,可参考文件/etc/tgt/conf.d/sample.conf内容

5.启动服务

systemctl start tgtd
systemctl enable tgtd

注意:如果tgt服务无法启动,需检查selinux是否关闭

三、客户端配置

1.安装客户端

yum install iscsi-initiator-utils –y

2.映射iscsi

iscsiadm -m discovery -t st -p 192.168.1.10
iscsiadm -m node -T iqn.2023-03.org:disk1.test -p 192.168.1.10:3260 -l

3.检查iscsi映射磁盘

iscsiadm -m node
lsscsi
lsblk

4.格式化iscsi并挂载使用

mkdir /data/sdc -p
mkfs.xfs /dev/sdc

5.配置/etc/fstab文件,设置开机后自动挂载,末尾写入如下内容

UUID=38c7beff-a88a-4a9b-b078-c2992600c5dd /data/sdc/ xfs defaults,_netdev 0 0

注意:挂载的时候一定要加_netdev参数,否则重启会卡住

_netdev是针对iscsi设备的特殊mount 选项,此挂载选择指示将在网络启动后挂载卷,在关闭网络前卸载掉卷。

建议通过文件系统UUID来挂载,防止盘符会变,可通过blkid /dev/sdc命令获取磁盘UUID

6.挂载磁盘

mount -a

注意:挂载失败,则说明/etc/fstab文件内容配置错误,需要进行检查

四、问题记录

问题复现步骤:

客户端通过iscsi映射磁盘后,格式化为xfs,并进行挂载,之后向挂载点用fio写入数据。

发现报错:

Tgt服务端报错:

Jun 28 13:25:50 node1 kernel: XFS: tgtd(30339) possible memory allocation deadlock size 524304 in kmem_realloc (mode:0x250)
Jun 28 13:25:52 node1 kernel: XFS: tgtd(30339) possible memory allocation deadlock size 524304 in kmem_realloc (mode:0x250)
Jun 28 13:25:54 node1 kernel: XFS: tgtd(30339) possible memory allocation deadlock size 524304 in kmem_realloc (mode:0x250)
Jun 28 13:25:56 node1 kernel: XFS: tgtd(30339) possible memory allocation deadlock size 524304 in kmem_realloc (mode:0x250)
Jun 28 13:25:58 node1 kernel: XFS: tgtd(30339) possible memory allocation deadlock size 524304 in kmem_realloc (mode:0x250)

解答1:是内核bug,需要升级为 kernel-3.10.0-1062.el7

参考连接:​​https://forums.centos.org/viewtopic.php?t=52412​

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

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

相关文章

MATLAB科学计算从入门到精通

&#x1f482; 个人网站:【工具大全】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 MATLAB&#xff08;Matr…

软件测试/测试开发丨ChatGPT在测试计划中的应用策略

简介 测试计划是指描述了要进行的测试活动的范围、方法、资源和进度的文档。它主要包括测试项、被测特性、测试任务和风险控制等。 所以在使用ChatGPT输出结果之前&#xff0c;我们需要先将文档的内容框架梳理好&#xff0c;以及将内容范围划定好&#xff0c;必要的时候&…

2024年,企业知识库的趋势与前景

企业知识库是指企业内部存储和组织知识的集中化平台&#xff0c;包括文档、资料、经验、专业知识等。它的重要性在于提供了一个集中管理和共享知识的机制&#xff0c;对企业的发展和竞争力具有重大影响。 企业知识库的重要性 1. 提高工作效率和协作能力 企业知识库使得企业内…

国产触控笔哪个牌子好?适合开学季的电容笔推荐

学校的开学季节已经来临&#xff0c;伴随着科技的发展&#xff0c;新的电子产品和数码设备层出不穷。比如&#xff0c;智能手机&#xff0c;iPad平板&#xff0c;电容笔等等。但实际上&#xff0c;要想让iPad平板的性能&#xff0c;得到最大程度的提升&#xff0c;我觉得这个电…

【OpenCV • c++】图像噪音 | 椒盐噪音 | 高斯噪音

文章目录 一、什么是图像噪音二、椒盐噪声三、高斯噪声 一、什么是图像噪音 图像噪声是图像在获取或是传输过程中受到随机信号干扰&#xff0c;妨碍人们对图像理解及分析处理的信号。很多时候将图像噪声看做多维随机过程&#xff0c;因而描述噪声的方法完全可以借用随机过程的描…

C语言学习系列-->一篇带你看懂内存函数

文章目录 前言memcpy概述模拟实现 memmove概述模拟实现 memsetmemcmp总结 前言 上篇文章学习了C语言字符串函数&#xff0c;只是对字符串进行操作 本节&#xff0c;小编整理了一下C语言中的内存函数&#xff0c;对内存进行操作&#xff0c;只针对会内存块&#xff0c;不针对数据…

视频剪辑文案怎么写 视频剪辑文案用什么软件

视频剪辑文案与平面材料文案相比&#xff0c;在声音、画面的展现上自由度更高&#xff0c;视觉的丰满感也更高&#xff0c;是视听结合效果的呈现。本文会给大家介绍视频剪辑文案怎么写&#xff0c;视频剪辑文案用什么软件的相关内容&#xff0c;让大家可以在短时间内学会视频剪…

无涯教程-JavaScript - VDB函数

描述 VDB函数使用双倍余额递减法或您指定的某些其他方法返回您指定的任何期间(包括部分期间)的资产折旧。 VDB代表可变余额递减。 语法 VDB (cost, salvage, life, start_period, end_period, [factor], [no_switch])争论 Argument描述Required/OptionalCostThe initial co…

langchain主要模块(二):数据连接

langchain2之数据连接 langchain1.概念2.主要模块模型输入/输出 (Model I/O)数据连接 (Data connection)链式组装 (Chains)代理 (Agents)内存 (Memory)回调 (Callbacks) 3.数据连接1.数据加载&#xff1a;2.文档分割&#xff1a;3.文档向量化&#xff1a;4.存储和检索向量数据:…

单例模式-饿汉模式、懒汉模式

单例模式&#xff0c;是设计模式的一种。 在计算机这个圈子中&#xff0c;大佬们针对一些典型的场景&#xff0c;给出了一些典型的解决方案。 目录 单例模式 饿汉模式 懒汉模式 线程安全 单例模式 单例模式又可以理解为是单个实例&#xff08;对象&#xff09; 在有些场…

SG-Former实战:使用SG-Former实现图像分类任务(二)

文章目录 训练部分导入项目使用的库设置随机因子设置全局参数图像预处理与增强读取数据设置Loss设置模型设置优化器和学习率调整策略设置混合精度&#xff0c;DP多卡&#xff0c;EMA定义训练和验证函数训练函数验证函数调用训练和验证方法 运行以及结果查看测试完整的代码 在上…

Vue-video-player下载失败(npm i 报错)

Vue-video-player下载失败 最近在做项目时涉及到视频的播放组件&#xff0c;看了一下选择了Vue-video-player这个工具&#xff0c;实际在操作中是遇到许多问题的。 Q1:不支持谷歌 对于 “vue-video-player” 使用时出现 Adobe Flash 不再支持的提示&#xff0c;这是因为 Ado…

[maven] maven 简述及使用 maven 管理单个项目

maven 简述及使用 maven 管理单个项目 简单的说就是 maven 是一个项目管理工具&#xff0c;同时也是一个依赖管理工具。 使用 maven 生成的项目结构大致如下&#xff1a; project|- src/main/java|- src/main/resources|- src/test/java|- src/test/resources本篇笔记带一些…

服务器访问本机图片nginx配置

下面是Nginx的配置 然后是yml文件配置 后端返回给前端的数据直接返回这个地址就可以了 {"success": true,"code": "200","msg": "操作成功","data": [{"趋势": "https://120.26.98.185:8090/s…

Day62|图part1:深度优先搜索理论基础、797. 所有可能的路径

深度优先搜索&#xff08;DFS&#xff09;理论基础 图的实质和存储方式 图实际上就是一棵多叉树&#xff0c;可以用以下的数据结构进行表示&#xff1a; class Vertex {int id;vector<Vertex*> neighbors; };多叉树的&#xff1a; /* 基本的 N 叉树节点 */ class Tre…

第一章 计算机系统概述 八、虚拟机

目录 一、传统虚拟机的结构 二、两类虚拟机管理程序 &#xff08;1&#xff09;定义&#xff1a; &#xff08;2&#xff09;区别&#xff1a;&#xff08;考点&#xff09; 一、传统虚拟机的结构 二、两类虚拟机管理程序 &#xff08;1&#xff09;定义&#xff1a; &…

电子企业MES管理系统实施的功能和流程有哪些

MES生产管理系统是一种应用于电子企业的管理系统&#xff0c;旨在提高生产效率、降低浪费、优化资源利用&#xff0c;并实时监控和改善生产过程。在电子企业中&#xff0c;实施MES管理系统对于实现精细化管理、增强信息互联、提高产品质量和交货期等方面具有重要作用。 一、MES…

模电课设:用Multisim了解三极管特性及计算静态工作点

1 课设内容 1&#xff09;绘制三极管输入特性曲线、输出特性曲线、放大倍数的幅频特性&#xff1b; 2&#xff09;测试三极管放大倍数β与VBE的关系、放大倍数与温度的关系&#xff1b; 3&#xff09;利用Multisim计算静态工作点。 2 模型搭建 电路一&#xff1a;绘制三极管…

字节一面:如何实现单行/多行文本溢出的省略样式?

前言 最近博主在字节面试中遇到这样一个面试题&#xff0c;这个问题也是前端面试的高频问题&#xff0c;作为一名前端开发工程师&#xff0c;css是我们的必备技能&#xff0c;文本溢出问题也是我们经常遇到的问题&#xff0c;我们不仅只是处理这种情况&#xff0c;还要考虑他的…

微信小程序 通过 pageScrollTo 滚动到界面指定位置

我们可以先创建一个page 注意 一定要在page中使用 因为pageScrollTo控制的是页面滚动 你在组件里用 他就失效了 我们先来看一个案例 wxml 代码如下 <view><button bindtap"handleTap">回到指定位置</button><view class "ControlHeight…