ISCSI块存储-集群
ISCSI块存储-集群
1、ISCSI概述
ISCSI与SCSI原理对比
- 底层都是硬盘
- ISCSI第二层就是通过gateway/网络获取–>
- SCSI:是直连获取
常见的用于ISCSI服务的网络拓扑类型
-
SAN:Storage Area Network:存储区域网络;
- 多采用告诉光纤通道;对速率、冗余性要求很高
- 具体的拓扑环境:网络–>ISCSI服务器–>交换机–>ISCSI存储服务器
-
Network Attachment Storage,网络附加存储
- 采用普通以太网;
- 对速率、冗余没有特别的要求
- 大体上的网络拓扑:网络–>ISCSI服务器–>交换机–>ISCSI存储服务器
-
其实两者就是对速度的要求有明显的不同
ISCSI的工作方式:
- ISCSI的工作模式:
- 使用的就是C/S架构
- 服务(设备端):–>target
- 客户端(应用端):–>initator
- 工作拓扑:ISCSI客户机–>LUN(逻辑单元、逻辑磁盘空间)—>ISCSI服务器
- 使用的就是C/S架构
2、实验搭建
规划:
- 使用两台服务器
- 一台是iscsi服务器:192.168.75.110
- 多添加一块硬盘
- 硬盘做LVM处理
- 一台是iscs客户端:192.168.75.11
- 一台是iscsi服务器:192.168.75.110
实验过程:
iscsi服务器的配置:
- 先搭建LVM(这一步可做可不做–>真实服务器当中是使用硬raid)
- 创建物理卷、创建卷组、创建逻辑卷
- 格式化逻辑卷
- 挂载到一个目录上–>完成搭建
- 安装iscsi服务器软件–>
- scsi-target-utilsyum
- 启动服务–>tgtd
- 创建一个IQN标签
- 有固定的命名规则:
- 如果想要永久生效–>就得修改配文件
#虚拟机准备好一块sdb硬盘#具体的操作步骤:-->虚拟机-->设置-->添加-->添加硬盘#进入到系统之后准备做lvm逻辑硬盘
#创建物理卷
[root@node0 ~]# pvcreate /dev/sdb Physical volume "/dev/sdb" successfully created
#创建卷组
[root@node0 ~]# vgcreate vg0 /dev/sdb Volume group "vg0" successfully created
#创建逻辑卷
[root@node0 ~]# lvcreate -L 1G -n lv0 vg0Logical volume "lv0" created#对创建的逻辑卷进行格式化
[root@node0 ~]# mkfs -t ext4 /dev/vg0/lv0
[root@node0 ~]# echo $?
0
#创建好了之后等待挂载使用
- 安装服务器端–>target端创建IQN标签
#直接安装服务器端软件-->创建iscsi对象
[root@node0 ~]# yum -y install scsi-target-utils yum#然后直接开启服务
[root@node0 ~]# service tgtd start
Starting SCSI target daemon: [ OK ]#查看一下服务器状态
[root@node0 ~]# netstat -anpt | grep tgtd
tcp 0 0 0.0.0.0:3260 0.0.0.0:* LISTEN 1632/tgtd#创建target硬盘存储
[root@node0 ~]# tgtadm -L iscsi -o new -m target -t 1 -T iqn.2023-2.com.liangjiawei.www:lvm#详细的解释如下:
-->-L:指定驱动类型
-->-o:指定操作类型
-->-m:制定管理的对象
-->-t:制定当前存储资源的ID号
-->-T:指定iqn标签-->这里注意命名规则:iqn.创建年-月.域名反写:自定义#查看target创建的信息
[root@node0 ~]# tgtadm -L iscsi -o show -m target
Target 1: iqn.2023-2.com.liangjiawei.www:lvmSystem information:Driver: iscsiState: readyI_T nexus information:LUN information:LUN: 0Type: controllerSCSI ID: IET 00010000SCSI SN: beaf10Size: 0 MB, Block size: 1Online: YesRemovable media: NoPrevent removal: NoReadonly: NoBacking store type: nullBacking store path: NoneBacking store flags: Account information:ACL information:
- 接下来就要绑定IQN标签到存储设备
#直接使用命令
[root@node0 ~]# tgtadm -L iscsi -o new -m logicalunit -t 1 -l 1 -b /dev/vg0/lv0 #命令解析如下
-->-L:指定驱动类型
-->-o:指定操作类型
-->-m:指定管理对象
-->-t:指定标签好
-->-l:指定逻辑存储单元的标签
-->-b:指定具体的设备名#直接授权iscsi客户端
[root@node0 ~]# tgtadm -L iscsi -o bind -m target -t 1 -I 192.168.75.11#到这里为止-->服务器端配置成功
iscsi客户端的配置:
- 安装客户端的软件–>iscsi-initiator-utils
- 这里还需要给共享的磁盘进行分区
- 创建好了–>挂载使用即可;
#直接安装iscsi的客户端软件
[root@node1 ~]# yum -y install iscsi-initiator-utils#申请授权使用iscsi的服务器资源
[root@node1 ~]# iscsiadm -m discovery -t st -p 192.168.75.110
Starting iscsid: [ OK ]
192.168.75.110:3260,1 iqn.2023-2.com.liangjiawei.www:lvm#在客户端进行挂载使用
[root@node1 ~]# iscsiadm -m node -T iqn.2023-2.com.liangjiawei.www:lvm --login
Logging in to [iface: default, target: iqn.2023-2.com.liangjiawei.www:lvm, portal: 192.168.75.110,3260] (multiple)
Login to [iface: default, target: iqn.2023-2.com.liangjiawei.www:lvm, portal: 192.168.75.110,3260] successful.#卸载命令
[root@node1 ~]# iscsiadm -m node -T iqn.2023-2.com.liangjiawei.www:lvm --logout
Logging out of session [sid: 1, target: iqn.2023-2.com.liangjiawei.www:lvm, portal: 192.168.75.110,3260]
Logout of [sid: 1, target: iqn.2023-2.com.liangjiawei.www:lvm, portal: 192.168.75.110,3260] successful.#如果想要实现开机自动挂载就要写入fstab文件
[root@node1 ~]# vim /etc/fstab #在末行添加-->重点就是那个挂载的格式
/dev/sdb /mnt ext4 defaults,_netdev 0 0
3、永修生效
- 修改配置文件–>生产环境使用–>永久生效
#做好备份配置文件
[root@node0 ~]# cp -a /etc/tgt/targets.conf{,.bak}
..........
<iqn.2023-2.com.liangjiawei.www>backing-store /dev/vg0/lv0inittiator-address 192.168.75.11
</target>
...................#然后直接重启服务
[root@node0 ~]# service tgtd restart
Stopping SCSI target daemon: [ OK ]
Starting SCSI target daemon: [ OK ]
iscsi客户端的配置:
- 安装客户端的软件–>iscsi-initiator-utils
- 这里还需要给共享的磁盘进行分区
- 创建好了–>挂载使用即可;
#直接安装iscsi的客户端软件
[root@node1 ~]# yum -y install iscsi-initiator-utils#申请授权使用iscsi的服务器资源
[root@node1 ~]# iscsiadm -m discovery -t st -p 192.168.75.110
Starting iscsid: [ OK ]
192.168.75.110:3260,1 iqn.2023-2.com.liangjiawei.www:lvm#在客户端进行挂载使用
[root@node1 ~]# iscsiadm -m node -T iqn.2023-2.com.liangjiawei.www:lvm --login
Logging in to [iface: default, target: iqn.2023-2.com.liangjiawei.www:lvm, portal: 192.168.75.110,3260] (multiple)
Login to [iface: default, target: iqn.2023-2.com.liangjiawei.www:lvm, portal: 192.168.75.110,3260] successful.#卸载命令
[root@node1 ~]# iscsiadm -m node -T iqn.2023-2.com.liangjiawei.www:lvm --logout
Logging out of session [sid: 1, target: iqn.2023-2.com.liangjiawei.www:lvm, portal: 192.168.75.110,3260]
Logout of [sid: 1, target: iqn.2023-2.com.liangjiawei.www:lvm, portal: 192.168.75.110,3260] successful.相关文章:
ISCSI块存储-集群
ISCSI块存储-集群 1、ISCSI概述 ISCSI与SCSI原理对比 底层都是硬盘 ISCSI第二层就是通过gateway/网络获取–>SCSI:是直连获取 常见的用于ISCSI服务的网络拓扑类型 SAN:Storage Area Network:存储区域网络; 多采用告诉光纤…...
11.Maxwell 部署
Maxwell 部署 一、环境准备 1、确保服务器上已经安装好了zookeeper、kafka、MySQL软件; (1)启动zookeeper: /usr/app/zookeeper3.4/bin/zkServer.sh start(2)启动三台主题的kafka 启动:bin/kafka-serv…...
一文速学-GBDT模型算法原理以及实现+Python项目实战
目录 前言 一、GBDT算法概述 1.决策树 2.Boosting 3.梯度提升 使用梯度上升找到最佳参数 二、GBDT算法原理 1.计算原理 2.预测原理 三、实例算法实现 1.模型训练阶段 1)初始化弱学习器 2)对于建立M棵分类回归树: 四、Python实现 …...
前端——2.HTML基本结构标签
这篇文章我们从0来介绍一下HTML的相关标签内容 目录 1.HTML语法规范 1.1基本语法概述 1.2标签关系 2.HTML的基本结构标签 2.1第一个HTML网页 2.2基本结构标签总结 1.HTML语法规范 下面,我们来看一下HTML的语法规范的内容 1.1基本语法概述 首先,…...
OAK深度相机使用不同镜头和本地视频流进行模型推理
编辑:OAK中国 首发:oakchina.cn 喜欢的话,请多多👍⭐️✍ 内容可能会不定期更新,官网内容都是最新的,请查看首发地址链接。 ▌前言 Hello,大家好,这里是OAK中国,我是助手…...
[项目] Boost搜索引擎
目录 1.项目相关背景 2.项目宏观原理 3.技术栈和项目环境 4.正排索引&&倒排索引 5.去标签与数据清洗 6.构建索引模块Index 6.1正排索引 6.2 建立倒排 jiebacpp使用 建立分词 7.搜索引擎模块Searcher Jsoncpp -- 通过jsoncpp进行序列化和反序列化 处理Cont…...
解决新版QGIS找不到Georeferencer插件
目录1. 问题分析1.1 去 Raster 找,没找到1.2 去插件搜,未搜到1.3 插件库里也搜不到2. 解决办法在 QGIS 3.30中,按常规办法,找不到 Georeferencer插件,它并没有被安装,在库中也找不到它, 请问问题…...
c---冒泡排序模拟qsort
一、冒泡排序 二、冒泡排序优化排各种类型数据 文章目录一、冒泡排序二、冒泡排序优化排各种类型数据冒泡排序 冒泡排序原理:两两相邻元素进行比较 初级版 void bulle_sort(int* a, int sz) {int i 0;for (int i 0; i < sz-1; i){int j 0; for (j 0; j…...
Java知识复习(十四)JS
1、数据类型 基本数据类型:null、undefinde、boolean、string、number、symbol(ES6新增)引用数据类型:Function、Array、Object、Map和Set(ES6新增) 2、let、var和const的区别 var定义的变量,…...
代码随想录刷题-数组-移除元素
文章目录写在前面习题我的想法暴力解法双指针写在前面 本节对应代码随想录中:代码随想录 习题 题目链接: 27. 移除元素- 力扣(LeetCode) 给你一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素&a…...
聚观早报 |拼多多跨境电商业务正式登陆澳洲;中国加快6G网络研发
今日要闻:拼多多跨境电商业务正式登陆澳洲;全球自动驾驶公司排名特斯拉垫底;中国将加快 6G 网络研发;B站再次“崩”上热搜!已闪电修复;微软将必应AI聊天每次对话上限增加至8条拼多多跨境电商业务正式登陆澳…...
MDK Keil5 创建Stm32工程-理论篇(这里以Stm32F103Zet6为例)
一、文件夹创建与文件说明整个工程可以粗略的划分为几个文件夹:BSP底层驱动比如GPIO\Timer等驱动文件CMSIS内核相关的文件Firmware生成的固件下载文件Mycode用户编写的相关文件,主要编写的文件都在这个文件夹里Project工程文件startup芯片启动文件STM32F…...
应届大学生学什么技术好?哪些技术适合年轻人?
到了毕业季,应届大学生面临的就是就业问题,很多专业的大学生难以找到对口的工作,或是不得已随便就业,或者是学个技术高薪就业,那么,问题来了,应届大学生学什么技术好?哪些技术适合年…...
车企数据分类分级的实践指南出炉!“数据安全推进计划”发布,奇点云参编
日前,“数据安全推进计划”(DSI)正式发布《智能网联汽车数据分类分级实践指南》(下文简称“指南”),旨在以合规为主要导向,明确智能网联汽车数据分类分级的方法论,为数据全生命周期的…...
Nginx学习 (2) —— 虚拟主机配置
文章目录虚拟主机原理域名解析与泛域名解析(实践)配置文件中ServerName的匹配规则技术架构多用户二级域名短网址虚拟主机原理 为什么需要虚拟主机: 当一台主机充当服务器给用户提供资源的时候,并不是一直都有很大的用户量&#…...
Java 动态代理简述和实例
Java动态代理是一种在运行时动态创建代理对象的技术。它可以让我们在不修改原始代码的情况下,对原始对象进行增强或者添加额外的行为。这种代理方式可以用于很多场景,例如AOP编程、RPC框架等。动态代理是基于Java反射机制实现的,它允许程序在…...
Unity编译器扩展(Advanced Editor Scripting)
Untiy编译器扩展允许我们对编译器的增加自己编写的的功能菜单栏MenuItemContextMenu和ContextMenuItemContextMenuContextMenuItemMenuItem 该属性允许您将菜单项添加到主菜单和检查器窗口上下文菜单。 该属性将任何静态函数转换为菜单命令。只有静态函数可以使用该属性。 Men…...
AFR机制及流程介绍
AFR(Auto Fast Return)不符合3GPP协议标准,因此终端默认是disable状态。如果运营商有要求可以配置开启。 AFR有两种场景 2G或者3G AFR到4G4G AFR到5G3G AFR TO 4G AFR到LTE功能的作用就是终端从LTE Handover或者重定向到3G进行业务,等业务做完后能够快速回到LTE网络。...
9.Hbase 部署
9.Hbase部署 注意事项: 1:必须事先安装 Hadoop分布式集群,zookeeper分布式集群 2:查看版本号: hbase version1、解压文件并改名 tar -zxvf /opt/software/hbase-2.2.3-bin.tar.gz -C /usr/app/ mv hbase-2.2.3/ hba…...
【maven 学习记录】
maven 学习记录一、maven基础1. maven是什么2. maven的作用3. maven的下载安装4. maven仓库5. maven坐标6. 第一个maven项目 手工实现7. maven插件8. 依赖管理9. 生命周期二、maven进阶一、maven基础 1. maven是什么 maven的本质是一个项目管理工具,将项目开发和管…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...
Kafka主题运维全指南:从基础配置到故障处理
#作者:张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1:主题删除失败。常见错误2:__consumer_offsets占用太多的磁盘。 主题日常管理 …...
