在 Linux 系统中,LUN(Logical Unit Number,逻辑单元号)是存储领域的一个重要概念,主要用于标识和管理存储设备(如 SAN、iSCSI、FC 等)中的逻辑单元。以下是详细解释:
当 Linux 系统连接到存储设备(如通过 iSCSI、FC、FCoE)时,LUN 通常会被映射为本地设备文件:
- SCSI/SAN 环境:LUN 显示为 /dev/sdX
(如 /dev/sdb
、/dev/sdc
)。
- iSCSI 环境:LUN 可能显示为 /dev/sdX
或通过 iSCSI 目标名称标识。
- 多路径环境:LUN 可能对应多个路径设备(如 /dev/mapper/mpathX
)。
lsblk
或 fdisk
lsblk # 列出所有块设备(包括 LUN)
fdisk -l # 查看磁盘和分区信息
cat /proc/scsi/scsi # 查看已连接的 SCSI 设备(旧版内核)
lsscsi # 列出所有 SCSI 设备(需安装工具)
iscsiadm -m session -P 3 # 查看 iSCSI 会话和 LUN(iSCSI 环境)
systool -c fc_host -v # 查看光纤通道设备(FC 环境)
multipath -ll # 查看多路径聚合后的 LUN
当存储端分配了新 LUN,需在 Linux 主机上触发扫描:
# 扫描 SCSI 总线(适用于直接连接的 SAN)
echo 1 > /sys/class/scsi_device/*/device/rescan
# 或针对特定主机总线适配器(HBA):
echo "- - -" > /sys/class/scsi_host/hostX/scan
mkfs.ext4 /dev/sdX # 格式化 LUN
mount /dev/sdX /mnt # 挂载到目录
multipathd
避免单点故障。在 Linux 中,LUN 是存储网络中的逻辑磁盘单元,通过 SCSI 或块设备接口(如 /dev/sdX
)暴露给系统。管理员需掌握 LUN 的识别、扫描和管理方法,以高效配置存储资源。