Linux挂载SAN存储详解
在当今企业级应用中,存储区域网络(SAN)因其高性能、高可靠性和可扩展性而被广泛采用,Linux系统作为服务器操作系统的主流选择,其与SAN存储的挂载技术是保障数据存储和管理的关键环节,本文将从SAN存储的基本概念、Linux挂载SAN的准备工作、具体操作步骤、常见问题及解决方案等方面,全面介绍Linux挂载SAN存储的实践方法。

SAN存储与Linux挂载概述
SAN(Storage Area Network)是一种通过专用网络(通常是光纤通道iSCSI或FC)将存储设备与服务器连接起来的架构,与传统的直接附加存储(DAS)或网络附加存储(NAS)不同,SAN提供块级访问,适用于需要高性能、低延迟的应用场景,如数据库虚拟化等。
在Linux系统中,挂载SAN存储通常涉及两种主要技术:光纤通道(Fibre Channel)和iSCSI,光纤通道通过专用的HBA(主机总线适配器)和光纤交换机连接,而iSCSI则基于TCP/IP网络,通过以太网传输SCSI指令,本文将重点介绍iSCSI在Linux环境下的挂载流程,因其成本较低且部署灵活,更适合中小型企业环境。
挂载前的准备工作
在开始挂载SAN存储之前,需要确保以下准备工作就绪:
-
硬件与网络环境
- 确保Linux服务器已正确安装网卡或HBA卡,且与SAN存储设备(如存储阵列)的网络连接正常。
- 对于iSCSI,需确保服务器与存储设备在同一子网中,或网络配置支持跨子网通信。
-
存储设备配置
- 在存储设备端(如SAN阵列控制器)创建LUN(逻辑单元号),并将其分配给目标Linux服务器。
- 记录LUN的WWN(世界 wide 名称)或iSCSI目标器的IP地址、端口号及认证信息(如CHAP)。
-
Linux系统环境
- 确认Linux内核版本支持iSCSI或光纤通道模块(如
iscsiadm、multipath工具)。 - 安装必要的软件包,例如在基于RHEL/CentOS的系统中可通过
yum install iscsi-initiator-utils multipath-tools安装。
- 确认Linux内核版本支持iSCSI或光纤通道模块(如
Linux挂载iSCSI存储的详细步骤
发现iSCSI目标器
使用iscsiadm工具发现存储设备提供的iSCSI目标器,假设目标器IP为168.1.100,端口为3260,执行以下命令:
iscsiadm -m discovery -t st -p 192.168.1.100:3260
该命令会列出可用的目标器,并将其信息保存到/var/lib/iscsi/nodes目录下。

登录iSCSI会话
发现目标器后,登录以建立与LUN的连接:
iscsiadm -m node -T iqn.2001-04.com.example:storage.target1 -p 192.168.1.100:3260 --login
其中-T参数指定目标器的IQN(iSCSI限定名称),-p参数指定目标器地址。
识别多路径(可选)
为确保高可用性和负载均衡,建议配置多路径(Multipathing),安装multipath-tools后,编辑/etc/multipath.conf文件,添加多路径规则。
defaults {
user_friendly_names yes
path_grouping_policy multibus
}
blacklist {
devnode "^(sda|sdb)$"
}
启动并启用多路径服务:
systemctl enable multipathd systemctl start multipathd
执行multipath -ll可查看多路径设备及其映射关系。
创建文件系统并挂载
识别到新的块设备后(如/dev/sdb或/dev/mapper/mpath0),使用fdisk或parted进行分区(可选),然后创建文件系统:
mkfs.xfs /dev/mapper/mpath0
创建挂载点并挂载设备:
mkdir -p /data/san_storage mount /dev/mapper/mpath0 /data/san_storage
为实现开机自动挂载,需将挂载信息写入/etc/fstab:

/dev/mapper/mpath0 /data/san_storage xfs defaults,_netdev 0 0
注意_netdev选项表示该设备为网络设备,需在网络服务启动后挂载。
常见问题与解决方案
-
无法发现目标器
- 检查网络连通性(如
ping 192.168.1.100)及防火墙设置。 - 确认存储设备端的LUN是否已正确分配给服务器。
- 检查网络连通性(如
-
登录失败
- 验证CHAP认证信息(用户名、密码)是否正确。
- 检查目标器的IQN是否与服务器配置一致。
-
多路径设备未识别
- 确认
multipathd服务已启动,且/etc/multipath.conf配置正确。 - 检查SCSI设备的
sysfs信息,确认路径是否正常。
- 确认
-
挂载后性能不佳
- 检查网络带宽及交换机配置,建议启用Jumbo Frame(巨型帧)以提升iSCSI性能。
- 优化文件系统挂载选项(如
noatime、data=writeback)。
Linux挂载SAN存储是企业级存储管理的核心技能,通过合理的配置和优化,可充分发挥SAN存储的高性能与高可靠性优势,从目标器发现、多路径配置到文件系统挂载,每一步都需要细致的操作和验证,面对常见问题时,需结合日志(如/var/log/messages)和工具(如iscsiadm、multipath)快速定位并解决,随着云计算和分布式存储的发展,Linux与SAN存储的集成技术仍将持续演进,为企业的数据存储需求提供更强大的支持。