当前位置: 首页 > news >正文

Rocky9-ISCSI块存储

一、存储类型概述

  • 块存储:直接将存储块进行网络共享,支持客户端进行分区、格式化、挂载操作
  • NAS:通过 NFS 或 SMB 协议以及iscsi协议实现共享。
  • SAN:块级存储网络,通常通过光纤通道(FC)或 iSCSI 实现。
  • iSCSI:基于 TCP/IP 的 SAN 实现途径,灵活且成本较低。

二、分区表类型

MBR分区表

MBR的起始扇区和结束扇区只能用4个字节表示00 00 00 00-FF FF FF FF,支持的最多的扇区数量是2^32个,那么所支持的最大磁盘大小为:2^32 x 512 ≈ 2TB

突破MBR 2TB限制方案:

修改磁盘的扇区大小,由原来的512byte修改为4KB,那么理论上可以突破到2TB x 8 = 16TB。

GPT分区表

GPT的起始扇区和结束扇区能够使用8个字节表示00 00 00 00 00 00 00 00 – FF FF FF FF FF FF FF FF,支持的最多的扇区数量是2^64个,那么GPT所支持的最大磁盘大小为:2^64 x 512 ≈ 9.44ZB ≈ 8ZiB

三、文件系统类型

四、ISCSI块存储实验

1.准备环境和工具安装

准备两台虚拟机,一台做服务器(4.150),一台做客户端(4.160)

2.创建逻辑卷

#创建物理卷
[root@localhost ~]# pvcreate /dev/nvme0n1Physical volume "/dev/nvme0n1" successfully created.Creating devices file /etc/lvm/devices/system.devices
#创建卷组
[root@localhost ~]# vgcreate sql_vg /dev/nvme0n1 Physical volume "/dev/nvme0n1" successfully created.Volume group "sql_vg" successfully created
#创建逻辑卷
[root@localhost ~]# lvcreate -L 19G -n sql_lv sql_vgLogical volume "sql_lv" created.
#查看物理卷
[root@localhost ~]# pvsPV           VG     Fmt  Attr PSize   PFree   /dev/nvme0n1        lvm2 ---   20.00g   20.00g/dev/nvme0n2 sql_vg lvm2 a--  <20.00g 1020.00m
#查看卷组
[root@localhost ~]# vgsVG     #PV #LV #SN Attr   VSize   VFree   sql_vg   1   1   0 wz--n- <20.00g 1020.00m
#查看逻辑卷
[root@localhost ~]# lvsLV     VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertsql_lv sql_vg -wi-a----- 19.00g   

注:因为要共享给客户端的是存储块,所以不需要继续进行格式化与挂载的操作

3.构建块存储共享

[root@localhost ~]# dnf -y install targetcli
#将共享设备绑定到共享标识符上
[root@localhost ~]# targetcli
targetcli shell version 2.1.57
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.
#创建块型后端存储
/> /backstores/block create nvme0n1_disk /dev/sql_vg/sql_lv
Created block storage object nvme0n1_disk using /dev/sql_vg/sql_lv.
#创建唯一标识符
/> /iscsi create iqn.2025-10.com.xxhf:sql
Created target iqn.2025-10.com.xxhf:sql.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.    #创建监听ip和监听端口
#绑定
/> /iscsi/iqn.2025-10.com.xxhf:sql/tpg1/luns create /backstores/block/nvme0n1_disk
Created LUN 0.
#之后的三条命令都是非必须的,只是设置了一些参数# 禁用认证(测试用),authentication=0: 无认证
/> /iscsi/iqn.2025-10.com.xxhf:sql/tpg1 set attribute authentication=0
Parameter authentication is now '0'.
# 允许写入,demo_mode_write_protect=0: 关闭写保护
/> /iscsi/iqn.2025-10.com.xxhf:sql/tpg1 set attribute demo_mode_write_protect=0
Parameter demo_mode_write_protect is now '0'.
# 自动生成访问控制,generate_node_acls=1: 简化权限
/> /iscsi/iqn.2025-10.com.xxhf:sql/tpg1 set attribute generate_node_acls=1
Parameter generate_node_acls is now '1'.
/> saveconfig    # 保存配置
Configuration saved to /etc/target/saveconfig.json
/> exit    # 退出 targetcli
Global pref auto_save_on_exit=true
Last 10 configs saved in /etc/target/backup/.
Configuration saved to /etc/target/saveconfig.json
#设为开机自启动
[root@localhost ~]# systemctl enable --now target

4.客户端安装共享软件

[root@localhost ~]# dnf -y install iscsi-initiator-utils#扫描服务器共享
[root@localhost ~]# iscsiadm -m discovery -t sendtargets -p 192.168.4.150
192.168.4.150:3260,1 iqn.2025-10.com.xxhf:sql    #通过标签连接
#连接服务器共享
[root@localhost ~]# iscsiadm -m node -T iqn.2025-10.com.xxhf:sql --login
Logging in to [iface: default, target: iqn.2025-10.com.xxhf:sql, portal: 192.168.4.150,3260]
Login to [iface: default, target: iqn.2025-10.com.xxhf:sql, portal: 192.168.4.150,3260] successful.

共享前:

共享后:

5.对磁盘进行分区格式化挂载

# 分区——全部默认
[root@localhost ~]# gdisk /dev/sdb 
# 格式化
[root@localhost ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=1245119 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=1, sparse=1, rmapbt=0=                       reflink=1    bigtime=1 inobtcount=1 nrext64=0
data     =                       bsize=4096   blocks=4980475, imaxpct=25=                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=16384, version=2=                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
# 挂载
[root@localhost ~]# mkdir /mysql
[root@localhost ~]# mount /dev/sdb1 /mysql/
[root@localhost ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        4.0M     0  4.0M   0% /dev
tmpfs           871M     0  871M   0% /dev/shm
tmpfs           349M  5.2M  344M   2% /run
/dev/sda3        17G  1.5G   16G   9% /
/dev/sda1       960M  269M  692M  28% /boot
tmpfs           175M     0  175M   0% /run/user/0
/dev/sr0         11G   11G     0 100% /media
/dev/sdb1        19G  168M   19G   1% /mysql

6.对块存储共享扩容

(1)先卸载,再断开连接

[root@localhost ~]# umount /mysql/
[root@localhost ~]# iscsiadm -m node -T iqn.2025-10.com.xxhf:sql --logout

(2)服务器端扩容逻辑卷

[root@localhost ~]# vgextend sql_vg /dev/nvme0n2
[root@localhost ~]# vgsVG     #PV #LV #SN Attr   VSize  VFree sql_vg   2   1   0 wz--n- 39.99g 20.99g
[root@localhost ~]# lvresize -L +20G /dev/sql_vg/sql_lv

(3)客户端连接共享服务

[root@localhost ~]# iscsiadm -m node -T iqn.2025-10.com.xxhf:sql --login

(4)客户端扩容

[root@localhost ~]# parted /dev/sdb
GNU Parted 3.5
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p    #查看                                                               
Warning: Not all of the space available to /dev/sdb appears to be used, you can fix the GPT to use all of the space (an extra
41943040 blocks) or continue with the current setting? 
Fix/Ignore? Fix    #修复                                                           
Model: LIO-ORG nvme0n1_disk (scsi)
Disk /dev/sdb: 41.9GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: Number  Start   End     Size    File system  Name              Flags1      1049kB  20.4GB  20.4GB  xfs          Linux filesystem(parted) resizepart 1                                                     
End?  [20.4GB]? 41.9GB    #扩容                                                    
(parted) p                                                                
Model: LIO-ORG nvme0n1_disk (scsi)
Disk /dev/sdb: 41.9GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: Number  Start   End     Size    File system  Name              Flags1      1049kB  41.9GB  41.9GB  xfs          Linux filesystem(parted) q    #退出                                                                
Information: You may need to update /etc/fstab.[root@localhost ~]# lsblk                                                 
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda      8:0    0   20G  0 disk 
├─sda1   8:1    0    1G  0 part /boot
├─sda2   8:2    0    2G  0 part [SWAP]
└─sda3   8:3    0   17G  0 part /
sdb      8:16   0   39G  0 disk 
└─sdb1   8:17   0   39G  0 part    #成功扩容 
sr0     11:0    1 10.2G  0 rom  /media

(5)重新格式化文件系统

[root@localhost ~]# mount /dev/sdb1 /mysql/
[root@localhost ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        4.0M     0  4.0M   0% /dev
tmpfs           871M     0  871M   0% /dev/shm
tmpfs           349M  5.2M  344M   2% /run
/dev/sda3        17G  1.5G   16G   9% /
/dev/sda1       960M  269M  692M  28% /boot
tmpfs           175M     0  175M   0% /run/user/0
/dev/sr0         11G   11G     0 100% /media
/dev/sdb1        19G  168M   19G   1% /mysql
#重新格式化
[root@localhost ~]# xfs_growfs /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=1245119 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=1, sparse=1, rmapbt=0=                       reflink=1    bigtime=1 inobtcount=1 nrext64=0
data     =                       bsize=4096   blocks=4980475, imaxpct=25=                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=16384, version=2=                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 4980475 to 10223355
[root@localhost ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        4.0M     0  4.0M   0% /dev
tmpfs           871M     0  871M   0% /dev/shm
tmpfs           349M  5.2M  344M   2% /run
/dev/sda3        17G  1.5G   16G   9% /
/dev/sda1       960M  269M  692M  28% /boot
tmpfs           175M     0  175M   0% /run/user/0
/dev/sr0         11G   11G     0 100% /media
/dev/sdb1        39G  311M   39G   1% /mysql

7.列出共享配置

http://www.dtcms.com/a/465993.html

相关文章:

  • 做定制旅游最好的网站公司网站建设流程图
  • NVIDIA CUDA 镜像 Docker 容器化部署全流程
  • 免费成品网站下载湖南省住房和城乡建设厅网站
  • 传输层协议之UDP协议
  • 做电影网站怎么降低内存免费的oa办公系统排名
  • JAVA算法练习题day36
  • 【C++】 结构体(struct)
  • 西部计划资源合集
  • 微信导购网站怎么做视频教学怎么快速优化网站排名
  • 网址导航网站简单制作divi wordpress主题
  • Pytorch autoload机制自动加载树外扩展(Autoload Device Extension)
  • 网站关键词在哪设置WordPress瀑布流图片站
  • 东莞网站建设备案关于建设网站的情况说明书
  • 格式工厂转换视频很慢、Pr视频剪辑导出很慢的优化设置(就用显卡的默认设置即可)
  • 有哪些网站做的符合企业风格公司网站建设怎么做
  • 高端大气的网站青岛软件开发公司排名
  • Skywalking从部署集成到动态调优(上)
  • Skywalking从部署集成到动态调优(下)
  • 游戏大规模数据存储与数据量增加之后扩容的思考
  • 电脑上做网站的软件网站建设中的服务器搭建方式
  • 「机器学习笔记9」回归分析:从理论到实践的全面指南
  • 如何起手做网站项目提高索引量的方法
  • JDBC初识
  • 用已存在的虚拟环境建立一个新项目(配置解释器)
  • 湖南省住房和城乡建设厅门户网站seo排名优化软件价格
  • Linux 系统启动过程详解
  • 死信队列vs延迟队列
  • 给实体店老板做的网站怎么网站排名seo
  • 商务网站建设毕业设计成都网站建设公司排行
  • 基于体素密度的几何重要性剔除(Voxel Density Culling)