iSCSI存储挂载主机实验
以下是详细的iSCSI存储挂载主机实验步骤及命令说明,帮助您深入理解iSCSI协议的工作原理和配置流程:
实验环境
• Target服务器(存储提供端):IP 192.168.1.100
• Initiator客户端(存储挂载端):IP 192.168.1.200
• 操作系统:Ubuntu/CentOS(以Ubuntu为例)
• 确保防火墙开放3260端口(或临时关闭防火墙测试)
一、配置iSCSI Target(存储服务端)
- 安装必要软件包
sudo apt-get update
sudo apt-get install targetcli-fb -y # Ubuntu
# CentOS: yum install targetcli
- 创建虚拟存储设备(模拟磁盘)
# 创建一个1GB的虚拟磁盘文件(路径可自定义)
sudo dd if=/dev/zero of=/var/lib/iscsi_disks/disk1.img bs=1M count=1024
- 使用
targetcli配置iSCSI Target
sudo targetcli
进入交互式命令行后,按顺序执行以下操作:
# 创建块存储后端(backstore)
/> /backstores/block create name=disk1 dev=/var/lib/iscsi_disks/disk1.img
# 创建iSCSI Target IQN(格式:iqn.年月.域名反写:标识)
/> /iscsi create iqn.2024-06.com.example:storage.target1
# 创建LUN并关联存储设备
/> /iscsi/iqn.2024-06.com.example:storage.target1/tpg1/luns create /backstores/block/disk1
# 设置ACL(允许指定Initiator访问)
# 获取Initiator的IQN(需在客户端查看,见下文步骤)
/> /iscsi/iqn.2024-06.com.example:storage.target1/tpg1/acls create iqn.2024-06.com.example:client.initiator1
# 配置监听IP和端口
/> /iscsi/iqn.2024-06.com.example:storage.target1/tpg1/portals create 192.168.1.100
# 保存配置并退出
/> saveconfig
/> exit
- 启动服务并验证
sudo systemctl restart target
sudo systemctl enable target
二、配置iSCSI Initiator(存储客户端)
- 安装客户端工具
sudo apt-get install open-iscsi -y # Ubuntu
# CentOS: yum install iscsi-initiator-utils
- 设置Initiator名称(IQN)
# 编辑配置文件,设置与Target ACL匹配的IQN
sudo vim /etc/iscsi/initiatorname.iscsi
---
InitiatorName=iqn.2024-06.com.example:client.initiator1
- 发现Target存储
# 发现指定IP的Target
sudo iscsiadm -m discovery -t sendtargets -p 192.168.1.100
输出示例:
192.168.1.100:3260,1 iqn.2024-06.com.example:storage.target1
- 登录到Target
# 登录所有发现的Target
sudo iscsiadm -m node -L all
# 查看连接的磁盘设备
lsblk # 应看到新磁盘(如sdb、sdc等)
三、挂载并使用iSCSI磁盘
- 分区及格式化
# 对新磁盘分区(示例磁盘为/dev/sdb)
sudo fdisk /dev/sdb # 创建新分区(n→p→默认→w保存)
# 格式化分区为ext4
sudo mkfs.ext4 /dev/sdb1
- 挂载分区
# 创建挂载点并挂载
sudo mkdir /mnt/iscsi_disk
sudo mount /dev/sdb1 /mnt/iscsi_disk
# 验证挂载
df -h | grep iscsi_disk
- 配置开机自动挂载
# 获取磁盘UUID
sudo blkid /dev/sdb1
# 编辑/etc/fstab,添加以下内容(使用_netdev确保网络就绪后挂载)
UUID=xxxx-xxxx-xxxx /mnt/iscsi_disk ext4 _netdev 0 0
四、验证与维护
- 测试读写
sudo touch /mnt/iscsi_disk/testfile
echo "iSCSI test" | sudo tee /mnt/iscsi_disk/testfile
- 断开连接(可选)
# 卸载并登出
sudo umount /mnt/iscsi_disk
sudo iscsiadm -m node -U all # 登出所有Target
五、高级配置(可选)
启用CHAP认证
• Target端:
/> /iscsi/iqn.2024-06.com.example:storage.target1/tpg1/ set auth userid=myuser
/> /iscsi/iqn.2024-06.com.example:storage.target1/tpg1/ set auth password=mypassword
• Initiator端:
# 编辑CHAP配置文件
sudo vim /etc/iscsi/iscsid.conf
---
node.session.auth.authmethod = CHAP
node.session.auth.username = myuser
node.session.auth.password = mypassword
多路径配置(高可用)
安装multipath-tools并配置多路径策略,提升存储访问可靠性。
注意事项
- 防火墙:确保服务端3260/tcp端口开放。
- IQN格式:必须符合标准格式,否则连接失败。
- 数据安全:生产环境务必启用CHAP认证。
- 性能调优:根据网络条件调整MTU、队列深度等参数。
通过此实验,您将掌握iSCSI存储协议的配置流程,理解存储网络化的实现原理。
iSCSI存储挂载主机实验的更多相关文章
- iSCSI存储的3种连接方式
我们分析了iSCSI存储的系统结构,下面来看iSCSI是如何与服务器.工作站等主机设备来连接的,也就是我们如何建立一个iSCSI网络存储系统. iSCSI设备的主机接口一般默认都是IP接口,可以直接与 ...
- vSphere ESXi主机配置iSCSI存储
vSphere ESXi主机配置iSCSI存储 vSphere ESXi主机一般连接的存储类型有光纤存储.iSCSI存储两类.本次案例为iSCSI存储连接ESXi主机的配置. 案例环境:ESXi主机通 ...
- linux下挂载ISCSI存储设备
安装 首先要在存储设备上做好RAID,设置好iSCSI 目标方(target). 这里主要说明iSCSI initiator的安装. 不同的操作系统对应各自的iSCSI initiator,以Redh ...
- 有了iscsi存储怎么让主机识别以及使用创建lvm
1.查找安装包:rpm -ivh iscsi-initiator-utils去sf.net下载iscsitarget包make kernel,usr,install开启服务 (0)查看iscsi发现记 ...
- linux杂谈(十七):iscsi存储分离技术
1.iscsi简单介绍 iSCSI利用了TCP/IP的port 860 和 3260 作为沟通的渠道.透过两部计算机之间利用iSCSI的协议来交换SCSI命令,让计算机能够透过快速的局域网集线来 ...
- Linux FC/iSCSI存储设备管理系列(一):Linux系统设备驱动入门
Linux FC/iSCSI存储设备管理系列(一):Linux系统设备驱动入门 转载请在文首保留原文出处:EMC中文支持论坛 - https://community.emc.com/go/chines ...
- 配置软ISCSI存储
说明:这里是Linux服务综合搭建文章的一部分,本文可以作为单独使用RedHat Enterprise Linux 7搭建软ISCSI的参考. 注意:这里所有的标题都是根据主要的文章(Linux基础服 ...
- 通过SCVMM分配iSCSI存储
除了使用基于SMB3.0应用程序的文件共享外,还可以使用iSCSI目标服务器的SAN存储,然后在SCVMM控制台中添加基于SMI-S类型的存储,步骤如下: 1.将一台安装了 iSCSI目标 功能的Wi ...
- 通过Windows Server 2008 R2建立iSCSI存储
名词解释:iSCSI技术是一种由IBM公司研究开发的,是一个供硬件设备使用的可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行 SCSI协议,使其能够在诸如高速千兆以太网上 ...
- 基于使用ISCSI存储的ibmmq通过heartbeat实现HA方案以及碰到的问题总结
一.背景 ibmmq是一种传统架构的mq产品,运行稳定,有其自身优点,但在高可用(HA)这一块需要使用公司根据自身需求选用高可用(HA)产品,但由于市面HA商业产品较贵,所以使用linux操作系统级的 ...
随机推荐
- WPF 窗口 触摸失效 的一种场景
最近,生产线反馈,在执行生产大屏测试软件的时候,软件大概率出现不能触摸,但是可以用鼠标的的情况.刚好 这个软件又是WPF 做的,所以做了以下排查. .Net 环境: .NetFrameWork 4.8 ...
- Maven中dependencyManagement标签的正确使用方法
目录 前言 使用方法 结束语 前言 Maven中的dependencyManagement元素提供了一种管理依赖版本号的方式,她用于声明所依赖的jar包的版本号等信息.当所有子项目再次引入这些ja ...
- InheritableThreadLocal父子线程变量共享实现原理
概述 我们知道ThreadLocal 的设计初衷是为了解决多线程并发导致的线程安全问题,向每一个线程提供一个自己的变量副本,实现变量隔离.那如何在不同线程之间共享变量呢?InheritableTh ...
- 【非对称加密】详解及Java实现
非对称加密详解及Java实现 一.非对称加密概述 非对称加密(Asymmetric Cryptography),也称为公钥加密,是一种使用一对密钥(公钥和私钥)进行加密和解密的加密方法.它与对称加密的 ...
- Kubernetes配置管理
Kubernetes配置管理 ConfigMap 对于应用的可变配置在 Kubernetes 中是通过一个 ConfigMap 资源对象来实现的,许多应用经常会有从配置文件.命令行参数或者环境变量中读 ...
- Ant Design 的 a-input-number 组件限制最小值和最大值以及限制输入为数值型
1.限制输入最大小值 <a-input-number v-model="form.deviceCpuThreshold" placeholder="请输入CPU阈值 ...
- 五、kernel修改屏幕配置
2.3.修改屏幕配置 2.3.1.配置 gpio 修改 ./rk_linux_sdk/kernel/arch/arm64/boot/dts/rockchip/rk3566-evb2-lp4x-v10. ...
- Blazor学习之旅(8)MudBlazor组件库介绍
大家好,我是Edison. 为了实现一个Web应用系统,需要有个看起来不丑的UI,而对于.NET程序员来说要做全栈开发还是有点难,而本篇介绍的这个UI组件库正好可以帮助我们解决这个问题! MudBla ...
- 深入掌握iostat:运维必备的I/O性能分析利器
在Linux系统运维中,磁盘I/O性能往往是系统瓶颈的关键来源.iostat作为sysstat工具包中的核心命令,能够实时监控CPU使用率和磁盘I/O统计,是性能诊断不可或缺的工具.本文将全面解析io ...
- C# WinForm 窗体/控件移动
#region 窗体移动 [System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "Re ...