iSCSI远程块存储配置实验:从基础到实战的完整指南
2025.09.19 10:40浏览量:4简介:本文详细阐述了iSCSI远程块存储的配置实验过程,涵盖环境准备、iSCSI目标端与发起端配置、存储卷挂载及性能调优,为开发者提供实用指南。
iSCSI远程块存储配置实验:从基础到实战的完整指南
引言
在分布式存储与云计算快速发展的今天,iSCSI(Internet Small Computer System Interface)作为一种基于IP网络的块级存储协议,因其低成本、高扩展性和跨平台兼容性,成为企业构建远程存储解决方案的首选。本文通过完整的实验流程,详细解析iSCSI远程块存储的配置方法,涵盖环境准备、目标端(Target)与发起端(Initiator)配置、存储卷挂载及性能调优,帮助开发者快速掌握这一核心技术。
一、实验环境准备
1.1 硬件与软件需求
- 服务器端:Linux系统(推荐CentOS 7/8或Ubuntu 20.04 LTS),配备至少1块独立磁盘(用于创建LUN)。
- 客户端:Windows/Linux主机,需安装iSCSI发起端软件。
- 网络:千兆以太网,确保低延迟与高带宽。
1.2 软件安装
目标端(Target Server):安装
targetcli-fb(Linux下通用iSCSI目标管理工具)。# CentOS/RHELsudo yum install targetcli-fb# Ubuntu/Debiansudo apt-get install targetcli-fb
- 发起端(Initiator):
- Linux:安装
open-iscsi。sudo apt-get install open-iscsi # Ubuntu/Debiansudo yum install iscsi-initiator-utils # CentOS/RHEL
- Windows:通过“控制面板”启用“Microsoft iSCSI发起程序”。
- Linux:安装
二、iSCSI目标端配置
2.1 创建存储后端(Backstore)
使用targetcli命令行工具创建块设备后端(LUN):
sudo targetcli
进入交互界面后,依次执行:
# 创建块设备后端(假设/dev/sdb为空闲磁盘)/backstores/block create name=lun0 dev=/dev/sdb
2.2 配置ACL与目标门户
创建ACL:绑定客户端IQN(iSCSI Qualified Name),限制访问权限。
# 生成客户端IQN(示例,实际需替换为客户端真实IQN)client_iqn="iqn.1994-05.com.example:client.12345"# 创建ACL/iscsi create iqn.2023-06.com.example:storage.target0/iscsi/iqn.2023-06.com.example:storage.target0/tpg1/acls create $client_iqn
- 配置门户:绑定服务器IP与端口(默认3260)。
/iscsi/iqn.2023-06.com.example:storage.target0/tpg1/portals create 192.168.1.100
2.3 映射LUN到目标
将之前创建的块设备(lun0)映射到目标:
/iscsi/iqn.2023-06.com.example:storage.target0/tpg1/luns create /backstores/block/lun0
2.4 保存配置并退出
saveconfigexit
三、iSCSI发起端配置
3.1 Linux客户端配置
- 发现目标:
sudo iscsiadm -m discovery -t st -p 192.168.1.100
- 登录目标:
sudo iscsiadm -m node --login -T iqn.2023-06.com.example:storage.target0
- 验证挂载:
lsblk # 查看新出现的磁盘(如/dev/sdb)
3.2 Windows客户端配置
- 打开“iSCSI发起程序”,输入目标IP(192.168.1.100)。
- 点击“快速连接”,选择发现的LUN。
- 初始化磁盘并创建分区(通过“磁盘管理”工具)。
四、存储卷挂载与文件系统创建
4.1 Linux文件系统创建
- 格式化磁盘(以ext4为例):
sudo mkfs.ext4 /dev/sdb
- 挂载到本地目录:
sudo mkdir /mnt/iscsi_volumesudo mount /dev/sdb /mnt/iscsi_volume
- 永久挂载:编辑
/etc/fstab,添加:/dev/sdb /mnt/iscsi_volume ext4 defaults 0 0
4.2 Windows文件系统创建
通过“磁盘管理”工具初始化磁盘,选择NTFS或ReFS文件系统,分配驱动器号(如D:)。
五、性能调优与故障排查
5.1 性能优化建议
- 多路径配置:使用
dm-multipath实现链路冗余与负载均衡。sudo yum install device-mapper-multipath # CentOS/RHELsudo apt-get install multipath-tools # Ubuntu/Debiansudo mpathconf --enable
- 调整iSCSI参数:
- 修改
/etc/iscsi/iscsid.conf,增大node.session.iscsi.InitialR2T和node.conn[0].timeo.noop_out_interval值以适应高延迟网络。 - 启用
node.conn[0].iscsi.FastAbort加速错误恢复。
- 修改
5.2 常见故障排查
- 连接失败:检查防火墙是否放行3260端口,验证IQN与ACL配置。
sudo firewall-cmd --add-port=3260/tcp --permanentsudo firewall-cmd --reload
- 性能瓶颈:使用
iostat或sar监控磁盘I/O,调整块设备队列深度(通过targetcli修改LUN参数)。
六、实验总结与扩展应用
6.1 实验成果验证
- 通过
dd命令测试存储读写性能:sudo dd if=/dev/zero of=/mnt/iscsi_volume/testfile bs=1G count=1 oflag=direct
- 使用
fio进行综合基准测试:sudo apt-get install fio # Ubuntu/Debianfio --name=randread --ioengine=libaio --iodepth=32 --rw=randread --bs=4k --direct=1 --size=1G --filename=/mnt/iscsi_volume/testfile
6.2 扩展应用场景
- 高可用集群:结合DRBD(Distributed Replicated Block Device)实现跨节点数据同步。
- 容器化存储:在Kubernetes中通过
iSCSI类型的StorageClass动态分配PV(Persistent Volume)。
结语
通过本实验,开发者已掌握iSCSI远程块存储的核心配置流程,从环境搭建到性能调优均具备可操作性。iSCSI的低成本与灵活性使其成为中小型企业构建私有云存储的理想选择,而深入理解其工作原理与调优技巧,则能进一步释放存储系统的潜力。未来,随着NVMe-oF(NVMe over Fabrics)技术的普及,iSCSI或将与新兴协议形成互补,共同推动存储架构的演进。

发表评论
登录后可评论,请前往 登录 或 注册