ISCSI:后端卷以LVM 的方式配置 ISCSI 目标启动器
写在前面
- 准备考试整理相关笔记
- 博文内容涉及使用 LVM 做ISCSI 目标后端块存储 Demo
- 理解不足小伙伴帮忙指正
对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波逐流,是对内心的恐惧 ——赫尔曼·黑塞《德米安》
目标端配置
配置 servera
提供一个 iSCSI 服务,磁盘名为 iqn.2014-11.com.example:servera
,并符合下列
要求:
- 服务端口为
3260
- 使用
iscsi_store
作其后端卷 其大小为3G
- 此服务只能被
serverb.lab.example.com
访问 - 后端卷为
LVM
形式
LVM 准备
查看磁盘情况
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 252:0 0 20G 0 disk
└─vda1 252:1 0 10G 0 part /
vdb 252:16 0 5G 0 disk
给 vda 做一个分区
[root@servera iscsi-review]# fdisk /dev/vdaWelcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.Command (m for help): n
Partition typep primary (1 primary, 0 extended, 3 free)e extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2):
First sector (20971487-41943039, default 20971520):
Last sector, +sectors or +size{K,M,G,T,P} (20971520-41943039, default 41943039):Created a new partition 2 of type 'Linux' and of size 10 GiB.Command (m for help): w
The partition table has been altered.
Syncing disks.[root@servera iscsi-review]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 252:0 0 20G 0 disk
├─vda1 252:1 0 10G 0 part /
└─vda2 252:2 0 10G 0 part
vdb 252:16 0 5G 0 disk
创建 物理卷,卷组,逻辑卷
在卷组 myvg 中创建一个名为 myvg 的逻辑卷(Logical Volume),大小为 3GB
[root@servera iscsi-review]# pvcreate /dev/vd
vda vda1 vda2 vdb
[root@servera iscsi-review]# pvcreate /dev/vda2Physical volume "/dev/vda2" successfully created.
[root@servera iscsi-review]# vgcreate myvg /dev/vda2Volume group "myvg" successfully created
[root@servera iscsi-review]# lvcreate -n myvg -L 3G myvgLogical volume "myvg" created.
ISCSI 相关配置
安装 targetcli 软件包并启用 target 服务。
[root@servera iscsi-review]# yum -y install targetcli >> /dev/null
[root@servera iscsi-review]# systemctl enable --now target.service
Created symlink /etc/systemd/system/multi-user.target.wants/target.service → /usr/lib/systemd/system/target.service.
[root@servera iscsi-review]#
- 使用 targetcli 工具进入交互式命令行界面。
- 创建了一个块存储对象 iscsi_store,并将 /dev/myvg/myvg 分配给它。
- 创建了一个名为 iqn.2014-11.com.example:servera 的 iSCSI 目标。
- 在 iqn.2014-11.com.example:servera 目标的 TPG1 下创建了一个 LUN,并将 iscsi_store 块存储对+ 象映射到该 LUN。
- 创建了一个 ACL,允许名为 iqn.2014-11.com.example:serverb 的 iSCSI Initiator 访问上述目标。
- 删除了一个名为 0.0.0.0:3260 的网络端口。
- 创建了一个新的网络端口 172.25.250.10:3260。
[root@servera ~]# targetcli
Warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell version 2.1.fb49
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'./> /backstores/block create iscsi_store /dev/myvg/myvg
Created block storage object iscsi_store using /dev/myvg/myvg.
/> /iscsi create iqn.2014-11.com.example:servera
Created target iqn.2014-11.com.example:servera.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/> /iscsi/iqn.2014-11.com.example:servera/tpg1/luns create /backstores/block/iscsi_store
Created LUN 0.
/> /iscsi/iqn.2014-11.com.example:servera/tpg1/acls create iqn.2014-11.com.example:serverb
Created Node ACL for iqn.2014-11.com.example:serverb
Created mapped LUN 0.
/> /iscsi/iqn.2014-11.com.example:servera/tpg1/portals delete 0.0.0.0 3260
Deleted network portal 0.0.0.0:3260
/> /iscsi/iqn.2014-11.com.example:servera/tpg1/portals create 172.25.250.10 3260
Using default IP port 3260
Created network portal 172.25.250.10:3260.
查看配置情况
/> ls /
o- / ............................................................................................ [...]o- backstores ................................................................................. [...]| o- block ..................................................................... [Storage Objects: 1]| | o- iscsi_store ................................... [/dev/myvg/myvg (3.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.2014-11.com.example:servera ...................................................... [TPGs: 1]| o- tpg1 .................................................................. [no-gen-acls, no-auth]| o- acls ............................................................................. [ACLs: 1]| | o- iqn.2014-11.com.example:serverb ......................................... [Mapped LUNs: 1]| | o- mapped_lun0 .............................................. [lun0 block/iscsi_store (rw)]| o- luns ............................................................................. [LUNs: 1]| | o- lun0 ............................. [block/iscsi_store (/dev/myvg/myvg) (default_tg_pt_gp)]| o- portals ....................................................................... [Portals: 1]| o- 172.25.250.10:3260 .................................................................. [OK]o- loopback ............................................................................ [Targets: 0]
/> exit
Global pref auto_save_on_exit=true
Configuration saved to /etc/target/saveconfig.json
使用 systemctl 命令重启 target 服务。这将重新启动 iSCSI 目标服务,以应用任何配置更改或修复可能的问题。使用 firewall-cmd 命令将 iscsi-target 服务添加到防火墙的永久规则中
[root@servera ~]# systemctl restart target.service
[root@servera ~]# firewall-cmd --permanent --add-service=iscsi-target
success
[root@servera ~]# firewall-cmd --reload
success
启动器配置
配置 serverb 使其能连接 在node1上提供的 iqn.2014-11.com.example:servera 并符合以下要
求:
- iSCSI设备在系统启动的期间自动加载
- 块设备iSCSI上包含一个大小为 2100MiB 的分区,并格式化为 ext4
- 此分区挂载在 /mnt/data 上,同时在系统启动的期间自动挂载
[root@serverb ~]# yum search iscsi
[root@serverb ~]# yum -y install iscsi-initiator-utils
[root@serverb ~]# cat /etc/iscsi/initiatorname.iscsi
[root@serverb ~]# echo "InitiatorName=iqn.2014-11.com.example:servera" > /etc/iscsi/initiatorname.iscsi[root@serverb ~]# cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2014-11.com.example:servera
[root@serverb ~]# systemctl enable --now iscsid.service
Created symlink /etc/systemd/system/multi-user.target.wants/iscsid.service → /usr/lib/systemd/system/iscsid.service.
[root@serverb ~]# man iscsiadm
通过 iSCSI 发现操作找到了目标服务器的 IP 地址和名称,并使用 iscsiadm 命令登录到该目标。然后使用 lsblk 命令确认已连接的块设备
[root@serverb ~]# iscsiadm --mode discoverydb --type sendtargets --portal 172.25.250.10 --discover
172.25.250.10:3260,1 iqn.2014-11.com.example:servera
[root@serverb ~]# man iscsiadm
[root@serverb ~]# iscsiadm --mode node --targetname iqn.2014-11.com.example:servera --portal 172.25.
250.10:3260 -l
Logging in to [iface: default, target: iqn.2014-11.com.example:servera, portal: 172.25.250.10,3260]
Login to [iface: default, target: iqn.2014-11.com.example:servera, portal: 172.25.250.10,3260] successful.
[root@serverb ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 3G 0 disk
vda 252:0 0 20G 0 disk
└─vda1 252:1 0 10G 0 part /
vdb 252:16 0 5G 0 disk
[root@serverb ~]# lsblk --fs /dev/sda
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
通过 fdisk 命令创建了一个新的分区表,并在 /dev/sda 上创建了一个 2.1GB 大小的主分区 /dev/sda1。然后使用 mkfs.ext4 命令在该分区上创建了 ext4 文件系统,验证分区和文件系统的创建情况。
[root@serverb ~]# fdisk /dev/sdaWelcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0xf9fbdda4.Command (m for help): n
Partition typep primary (0 primary, 0 extended, 4 free)e extended (container for logical partitions)
Select (default p):Using default response p.
Partition number (1-4, default 1):
First sector (2048-6291455, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-6291455, default 6291455): +2100MCreated a new partition 1 of type 'Linux' and of size 2.1 GiB.Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.[root@serverb ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 3G 0 disk
└─sda1 8:1 0 2.1G 0 part
vda 252:0 0 20G 0 disk
└─vda1 252:1 0 10G 0 part /
vdb 252:16 0 5G 0 disk
[root@serverb ~]# mkfs.ext4 /dev/sda1
mke2fs 1.44.6 (5-Mar-2019)
Creating filesystem with 537600 4k blocks and 134640 inodes
Filesystem UUID: 74d0c4f2-cc5f-46cc-a80d-5750690b5f56
Superblock backups stored on blocks:32768, 98304, 163840, 229376, 294912Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done[root@serverb ~]# lsblk --fs /dev/sda1
NAME FSTYPE LABEL UUID MOUNTPOINT
sda1 ext4 74d0c4f2-cc5f-46cc-a80d-5750690b5f56
将 /dev/sda1 分区(文件系统类型为 ext4)挂载到 /mnt/data 目录,并将该挂载配置添加到 /etc/fstab 文件中,以便在系统启动时自动挂载该文件系统。
[root@serverb ~]# blkid /dev/sda1
/dev/sda1: UUID="74d0c4f2-cc5f-46cc-a80d-5750690b5f56" TYPE="ext4" PARTUUID="f9fbdda4-01"
[root@serverb ~]# mkdir /mnt/data
[root@serverb ~]# echo "UUID='74d0c4f2-cc5f-46cc-a80d-5750690b5f56' /mnt/data ext4 _netdev 0 0" >> /
etc/fstab
[root@serverb ~]# cat /etc/fstab#
# /etc/fstab
# Created by anaconda on Tue Oct 29 16:26:01 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
UUID=f7614c41-2835-4125-bb13-50772dc2f30c / xfs defaults 0 0
servera.lab.example.com:/nfsshare /share nfs defaults 0 0
UUID='74d0c4f2-cc5f-46cc-a80d-5750690b5f56' /mnt/data ext4 _netdev 0 0
[root@serverb ~]# mount /mnt/data
[root@serverb ~]# df -ht ext4
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 2.0G 6.2M 1.9G 1% /mnt/data
[root@serverb ~]#
博文部分内容参考
© 文中涉及参考链接内容版权归原作者所有,如有侵权请告知
红帽服务管理与自动化(RH358)
授课笔记
© 2018-2023 liruilonger@gmail.com, All rights reserved. 保持署名-非商用-相同方式共享(CC BY-NC-SA 4.0)
相关文章:
ISCSI:后端卷以LVM 的方式配置 ISCSI 目标启动器
写在前面 准备考试整理相关笔记博文内容涉及使用 LVM 做ISCSI 目标后端块存储 Demo理解不足小伙伴帮忙指正 对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的&#…...
八公山豆腐发展现状与销售对策研究
1.引言 八公山豆腐作为中国传统特色食品之一,一直以来备受人们的喜爱。然而,在现代社会中,由于消费者对于营养健康的追求以及市场竞争的加剧,八公山豆腐的市场份额逐渐缩小。因此,为了更好地推广和发展八公山豆腐&…...
排序算法-插入排序
属性 当插入第i(i>1)个元素时,前面的array[0],array[1],…,array[i-1]已经排好序,此时用array[i]的排序码与array[i1],array[i-2],…的排序码顺序进行比较,找到插入位置即将array[i]插入,原来位置上的元素顺序后移 直接插入排序…...
多位数按键操作(闪烁)数码管显示
/*----------------------------------------------- 内容:按键加减数字,多个数码管显示 ------------------------------------------------*/ #include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存…...

MyEclipse项目导入与导出
一、项目导出 1、右键选择项目名称,弹出菜单中选择“export”,如下图所示 2、选择“恶心“export”,弹出菜单如下;在“General“选项中,选择“File System”选项 3、点击“next”,进入保存位置选择界面&am…...

ArrayList和LinkedList
最近在刷回溯算法时,遇见了List<Integer> A new ArrayList<>(); LinkedList<Integer> B new LinkedList<>();这类型的表达方式 很好奇的问题是: 1、List<Integer> A new ArrayList<>();为什么是正确的写法 2…...
Linux 配置 Nginx 服务完整详细版
目录 前言 配置Nginx监听端口和服务器块 # 防DDoS配置 # 日志配置 # 设置服务器块 监听端口 网站根目录 默认文件 静态文件目录 图像文件目录 # 自定义错误页面 # 反向代理配置 # 配置SSL/TLS 1、获取SSL/TLS证书 2、安装证书 3、配置SSL/TLS # 配置SSL协议版本…...

Python实现猎人猎物优化算法(HPO)优化LightGBM回归模型(LGBMRegressor算法)项目实战
说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 猎人猎物优化搜索算法(Hunter–prey optimizer, HPO)是由Naruei& Keynia于2022年提出的一种最新的…...

无涯教程-JavaScript - ODD函数
描述 ODD函数返回四舍五入到最接近的奇数整数的数字。 ODD函数是Excel中的15个舍入函数之一。 语法 ODD (number)争论 Argument描述Required/OptionalNumberThe value to round.Required Notes 无论数字的符号如何,值都将从零舍入到下一个奇数。如果number是一个奇数整数…...

Easyui里的datagrid嵌入select下拉框
问题: 想使用datagird里嵌入select下拉框,并在提交form表单时获取datagrid选中的每行数据里的每个下拉框选中的值。 解决方案: 其中economicIssuesSelect使用下拉框,重点关注 initEconomicIssues(row)方法。这里的方法需要传递ro…...

计算机专业毕业设计项目推荐03-Wiki系统设计与实现(JavaSpring+Vue+Mysql)
Wiki系统设计与实现(JavaSpringVueMysql) **介绍****系统总体开发情况-功能模块****各部分模块实现** 介绍 本系列(后期可能博主会统一为专栏)博文献给即将毕业的计算机专业同学们,因为博主自身本科和硕士也是科班出生,所以也比较了解计算机专业的毕业设…...

微服务的艺术:构建可扩展和弹性的分布式应用
文章目录 什么是微服务架构?微服务的设计原则1. 基于业务边界划分服务2. 松耦合和强内聚3. 自动化测试和部署4. 监控和日志5. 弹性设计 微服务的实施细节1. 服务发现示例代码:使用Consul进行服务发现 2. 负载均衡示例代码:Nginx配置负载均衡 …...

在PHP8中对数组进行排序-PHP8知识详解
在php8中,提供了丰富的排序函数,可以对数组进行排序操作。常见的排序函数如下几个:sort() 函数、rsort() 函数、asort() 函数、arsort() 函数、ksort() 函数、krsort() 函数、natsort()函数和natcascsort()函数。 1、sort() 函数:…...

Redis混合模式持久化原理
前言 前面文章中我们也介绍过Redis的持久化方式有两种:rdb持久化和aof持久化,具体详情可查看之前文章redis持久化。rdb持久化还是aof持久化它们都有各自的缺点。 rdb和aof缺点 rdb持久化:由于是定期对内存数据快照进行持久化,因此…...
《BPF Performance Tools —— 洞悉Linux系统和应用性能》学习笔记 —— 第一章 介绍(2)
接前一篇文章:《BPF Performance Tools —— 洞悉Linux系统和应用性能》学习笔记 —— 第一章 介绍(1) 1.2 Tracing、Snooping、Sampling、Profiling和Observability是什么? 这些都是用于对分析技术和工具进行分类的术语。 Trac…...
【计算机网络】网络编程接口 Socket API 解读(7)
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。…...

crypto++下载、安装(VS2017)及加解密使用
crpto 下载按个人喜好下载,我使用了图中框选的8.8.0 Release.解压 安装打开修改以适应本机配置整理至标准库 调用加解密使用 Crypto(也称为Crypto Library或Crypto STL)是一个C密码学库,它提供了各种密码学算法和安全编程工具&…...

R语言画图
简单记录一下 plot(lad_profile_relative$lad, lad_profile_relative$height, type"l", lwd1.5, xlabexpression(paste("LAD ", "(", m^2, m^-3, ")" )), ylab"Height (m)")X轴数据, Y轴数据 type, 标记类型 lw…...

redis 核心数据结构
一、简述 redis是一个开源的使用C语言编写的一个kv存储系统,是一个速度非常快的非关系远程内存数据库。它支持包括String、List、Set、Zset、hash五种数据结构。 除此之外,通过复制、持久化和客户端分片等特性,用户可以很方便地将redis扩展…...

RabbitMQ消息可靠性(一)-- 生产者消息确认
前言 在项目中,引入了RabbitMQ这一中间件,必然也需要在业务中增加对数据安全性的一层考虑,来保证RabbitMQ消息的可靠性,否则一个个消息丢失可能导致整个业务的数据出现不一致等问题,对系统带来巨大的影响,…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...

算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...

20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
Bean 作用域有哪些?如何答出技术深度?
导语: Spring 面试绕不开 Bean 的作用域问题,这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开,结合典型面试题及实战场景,帮你厘清重点,打破模板式回答,…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准
城市路内停车管理常因行道树遮挡、高位设备盲区等问题,导致车牌识别率低、逃费率高,传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法,正成为破局关键。该设备安装于车位侧方0.5-0.7米高度,直接规避树枝遮…...

认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...

jdbc查询mysql数据库时,出现id顺序错误的情况
我在repository中的查询语句如下所示,即传入一个List<intager>的数据,返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致,会导致返回的id是从小到大排列的,但我不希望这样。 Query("SELECT NEW com…...

数据结构:泰勒展开式:霍纳法则(Horner‘s Rule)
目录 🔍 若用递归计算每一项,会发生什么? Horners Rule(霍纳法则) 第一步:我们从最原始的泰勒公式出发 第二步:从形式上重新观察展开式 🌟 第三步:引出霍纳法则&…...