飞牛 fnOS iSCSI 配置完全指南:为 Mac Studio 扩容存储
适用场景:旧 Intel NUC 安装飞牛 fnOS 作为 NAS,通过 iSCSI 协议为 Mac Studio 提供块级存储扩容。支持 macOS、Windows、Linux 多平台挂载。
一、方案概述
Section titled “一、方案概述”1.1 什么是 iSCSI
Section titled “1.1 什么是 iSCSI”iSCSI(Internet Small Computer Systems Interface,互联网小型计算机系统接口)是一种基于 IP 网络的块级存储协议。它将 SCSI 命令封装在 IP 数据包中传输,使存储设备可以通过标准以太网网络提供块设备服务。
与 SMB/NFS 文件级共享的区别:
| 对比项 | iSCSI | SMB/NFS |
|---|---|---|
| 协议层级 | 块级(Block Level) | 文件级(File Level) |
| 操作系统视角 | 本地硬盘 | 网络共享文件夹 |
| 适用场景 | 数据库、虚拟机、Time Machine | 文件共享、媒体库 |
| 性能开销 | 更低(无文件系统转换) | 较高 |
| 多设备同时挂载 | 不支持(需集群文件系统) | 支持 |
| NAS 端文件查看 | 不可直接查看 | 可以直接浏览文件 |
1.2 本方案架构
Section titled “1.2 本方案架构”┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Mac Studio │ ←──── │ 千兆局域网 │ ←──── │ Intel NUC │
│ (iSCSI Initiator)│ iSCSI │ (建议千兆+) │ iSCSI │ (fnOS Target) │
│ │ │ │ │ │
│ - 本地 SSD │ │ 端口: 3260 │ │ - SATA SSD/HDD │
│ - iSCSI 磁盘 │ │ 协议: TCP/IP │ │ - LUN 虚拟磁盘 │
│ (Time Machine)│ │ │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
1.3 前置要求
Section titled “1.3 前置要求”| 项目 | 要求 |
|---|---|
| 网络 | 千兆以太网(推荐),最低百兆 |
| IP 地址 | NUC 和 Mac Studio 在同一局域网 |
| 存储空间 | fnOS 上 Btrfs 或 EXT4 文件系统的存储空间 |
| 系统版本 | fnOS 最新版,macOS 12+ |
二、fnOS 服务端配置
Section titled “二、fnOS 服务端配置”2.1 安装 iSCSI Manager 应用
Section titled “2.1 安装 iSCSI Manager 应用”- 登录 fnOS Web 管理界面(
http://NUC-IP:8000) - 进入 应用中心
- 搜索 iSCSI Manager 并安装
- 安装完成后点击打开
2.2 创建 LUN(逻辑单元号)
Section titled “2.2 创建 LUN(逻辑单元号)”LUN 是 iSCSI 提供的虚拟磁盘单元。
操作步骤:
- 进入 iSCSI Manager → LUN
- 点击 新建 LUN
- 配置参数:
| 参数 | 说明 | 建议值 |
|---|---|---|
| 存储空间 | 选择 fnOS 上的存储池 | 选择容量充足的存储空间 |
| 容量 | LUN 虚拟磁盘大小 | 根据需求设置,最低 5 GB |
| 类型 | 空间分配方式 | Thick Provisioning(厚置备) |
| 名称 | LUN 标识名称 | 如 mac-studio-timemachine |
⚠️ 注意事项:
- LUN 最低容量需 ≥ 5 GB
- 建议 LUN 容量不超过 2 TB
- Thick Provisioning 性能更好,Thin Provisioning 更省空间
- 创建 Target 映射:
- 选择 创建新 Target 或映射已有 Target
- 点击 确定 完成创建
- 创建过程约需 3-5 秒
2.3 配置用户组权限(可选但推荐)
Section titled “2.3 配置用户组权限(可选但推荐)”为了安全,建议限制哪些设备可以连接 iSCSI。
2.3.1 获取 Mac Studio 的 IQN
Section titled “2.3.1 获取 Mac Studio 的 IQN”IQN(iSCSI Qualified Name)是 iSCSI 启动器的唯一标识符。
在 macOS 上获取 IQN:
由于 macOS 原生不支持 iSCSI,需要使用第三方软件获取。先安装 DAEMON Tools(见第三章),然后在软件中查看本机 IQN。
临时获取方式(使用命令行工具):
# 安装 open-iscsi 工具(需 Homebrew) brew install open-iscsi
# 查看本机 IQN
iscsi-iname
IQN 格式示例:
com.vendor.iscsi:mac-studio-001
iqn.1993-08.org.debian:01:client
2.3.2 在 fnOS 上创建用户组
Section titled “2.3.2 在 fnOS 上创建用户组”- 进入 iSCSI Manager → 用户组
- 点击 新建用户组
- 输入用户组名称(如
mac-studio-group) - 在 启动器 IQN 中输入 Mac Studio 的 IQN
- 可添加多个 IQN(多台设备)
- 点击 确定
2.3.3 设置 LUN 权限
Section titled “2.3.3 设置 LUN 权限”- 进入 iSCSI Manager → LUN
- 选择要设置权限的 LUN,点击 设置权限
- 为用户组分配权限:
| 权限 | 说明 |
|---|---|
| 读写 | 允许读取和写入(默认推荐) |
| 只读 | 仅允许读取 |
| 禁止访问 | 拒绝访问(默认) |
- 点击 确定 保存
注意:创建用户组后,默认权限为 禁止访问,需要显式设置权限。
2.4 配置 CHAP 认证(可选,增强安全性)
Section titled “2.4 配置 CHAP 认证(可选,增强安全性)”CHAP(Challenge-Handshake Authentication Protocol)提供单向或双向认证。
2.4.1 配置默认 CHAP(所有 Target 共用)
Section titled “2.4.1 配置默认 CHAP(所有 Target 共用)”- 进入 iSCSI Manager → 设置
- 开启 CHAP
- 配置:
- 名称:CHAP 用户名(如
iscsi-user) - 密码:12-16 位字符密码
- 可选:启用 相互 CHAP(需客户端也支持)
- 相互 CHAP 密码不能与 CHAP 密码相同
- 点击 保存
2.4.2 为特定 Target 配置专属 CHAP
Section titled “2.4.2 为特定 Target 配置专属 CHAP”- 进入 iSCSI Manager → Target
- 选择 Target,点击 编辑
- 在属性中开启 CHAP
- 选择 自定义,输入专属的用户名和密码
- 点击 确定
2.4.3 连接配置 CHAP 的 Target
Section titled “2.4.3 连接配置 CHAP 的 Target”客户端连接时需要输入 CHAP 凭据:
- 用户名:CHAP 名称
- 密码:CHAP 密码
- 相互 CHAP:如启用,需额外配置相互认证
三、macOS 客户端配置
Section titled “三、macOS 客户端配置”3.1 重要说明:macOS 原生不支持 iSCSI
Section titled “3.1 重要说明:macOS 原生不支持 iSCSI”macOS 没有内置 iSCSI Initiator,必须通过第三方软件实现。以下是经过验证的方案:
3.2 方案一:DAEMON Tools iSCSI Initiator(推荐)
Section titled “3.2 方案一:DAEMON Tools iSCSI Initiator(推荐)”3.2.1 下载安装
Section titled “3.2.1 下载安装”官网下载:
- 官方网站:https://www.daemon-tools.cc/products/iscsi
- 直接下载:https://www.daemon-tools.cc/downloads/iscsi-target/platform/mac?direct=1
安装步骤:
1. 下载 DAEMON Tools-*.dmg
2. 双击挂载 DMG 文件
3. 将 DAEMON Tools 拖到 应用程序 文件夹
4. 首次运行需在 系统设置 → 隐私与安全性 中允许
3.2.2 连接 iSCSI Target
Section titled “3.2.2 连接 iSCSI Target”- 打开 DAEMON Tools
- 选择左侧 iSCSI → 远程设备
- 在右侧空白处 右键 → 添加
- 输入配置:
| 参数 | 值 | 说明 |
|---|---|---|
| 服务器地址 | NUC 的 IP | 如 192.168.1.100 |
| 端口 | 3260 |
默认端口 |
| CHAP | 如启用则勾选 | 输入用户名密码 |
- 点击 确定
- 在列表中看到发现的 Target IQN
- 右键 Target → 连接
- 状态变为 已连接
3.2.3 格式化磁盘
Section titled “3.2.3 格式化磁盘”- 打开 磁盘工具(Disk Utility)
- 找到新挂载的未初始化磁盘
- 选择 抹掉(Erase)
- 配置格式:
| 用途 | 格式 | 方案 |
|---|---|---|
| Time Machine | APFS | GUID 分区图 |
| 跨平台共享 | exFAT | GUID 分区图 |
| 仅 macOS | APFS | GUID 分区图 |
- 点击 抹掉 完成格式化
- 磁盘将出现在桌面和 Finder 中
3.2.4 设置开机自动挂载
Section titled “3.2.4 设置开机自动挂载”- 在 DAEMON Tools 中设置 自动连接
- 或在 系统设置 → 用户与群组 → 登录项 中添加 DAEMON Tools
3.3 方案二:globalSAN iSCSI Initiator(经典方案)
Section titled “3.3 方案二:globalSAN iSCSI Initiator(经典方案)”3.3.1 下载安装
Section titled “3.3.1 下载安装”官网:http://www.globalsan.net(可能需要代理访问)
特点:
- 老牌 iSCSI 软件,稳定可靠
- 支持 macOS 10.12 - 12.x
- 有免费试用版
安装步骤:
1. 下载 globalSAN-*.dmg
2. 安装软件
3. 重启 Mac
3.3.2 配置连接
Section titled “3.3.2 配置连接”- 打开 System Preferences → globalSAN iSCSI
- 点击 + 添加新连接
- 输入:
- Name:连接名称(如
fnOS-iSCSI) - Portal:NUC IP:3260
- Target IQN:从 fnOS 获取
- 如启用 CHAP,点击 Authentication 输入凭据
- 点击 Connect
3.4 方案三:命令行工具(高级用户)
Section titled “3.4 方案三:命令行工具(高级用户)”3.4.1 使用 open-iscsi(通过 Homebrew)
Section titled “3.4.1 使用 open-iscsi(通过 Homebrew)”# 安装 open-iscsi brew install open-iscsi
# 发现 Target iscsiadm -m discovery -t sendtargets -p 192.168.1.100:3260
# 连接 Target iscsiadm -m node -T iqn.2024-01.com.fnnas:target-1 -p 192.168.1.100:3260 --login
# 查看连接状态 iscsiadm -m session
# 断开连接 iscsiadm -m node -T iqn.2024-01.com.fnnas:target-1 -p 192.168.1.100:3260 --logout
注意:open-iscsi 在 macOS 上的支持有限,可能需要手动编译内核模块。
四、Windows 客户端配置(参考)
Section titled “四、Windows 客户端配置(参考)”4.1 使用内置 iSCSI Initiator
Section titled “4.1 使用内置 iSCSI Initiator”Windows 自带 iSCSI 客户端,无需额外安装软件。
# 1. 打开 iSCSI Initiator # 按 Win+R,输入 iscsicpl,回车 # 2. 发现 Target # 选择"发现"选项卡 → 发现门户 → 输入 NAS IP 和端口 3260 # 3. 连接 Target # 选择"目标"选项卡 → 选择 IQN → 点击"连接" # 4. 初始化磁盘 # 按 Win+R,输入 diskmgmt.msc # 右键新磁盘 → 初始化 → 新建简单卷 → 格式化
4.2 使用 PowerShell 命令
Section titled “4.2 使用 PowerShell 命令”# 连接 iSCSI Target New-IscsiTargetPortal -TargetPortalAddress "192.168.1.100" -TargetPortalPort 3260 Connect-IscsiTarget -NodeAddress "iqn.2024-01.com.fnnas:target-1" # 查看连接 Get-IscsiSession # 断开连接 Disconnect-IscsiTarget -NodeAddress "iqn.2024-01.com.fnnas:target-1" -Confirm:$false
五、Linux 客户端配置(参考)
Section titled “五、Linux 客户端配置(参考)”5.1 安装 open-iscsi
Section titled “5.1 安装 open-iscsi”# Ubuntu/Debian sudo apt update
sudo apt install -y open-iscsi
# 启动服务 sudo systemctl enable iscsid
sudo systemctl start iscsid
5.2 连接配置
Section titled “5.2 连接配置”# 发现 Target sudo iscsiadm -m discovery -t sendtargets -p 192.168.1.100:3260
# 连接(使用默认 CHAP) sudo iscsiadm -m node -T <TARGET_IQN> -p 192.168.1.100:3260 --login
# 配置 CHAP 认证(如启用) sudo iscsiadm -m node -T <TARGET_IQN> -p 192.168.1.100:3260 \ --op=update --name node.session.auth.authmethod --value=CHAP
sudo iscsiadm -m node -T <TARGET_IQN> -p 192.168.1.100:3260 \ --op=update --name node.session.auth.username --value=your_username
sudo iscsiadm -m node -T <TARGET_IQN> -p 192.168.1.100:3260 \ --op=update --name node.session.auth.password --value=your_password
# 查看已连接磁盘
lsblk
# 格式化(首次使用) sudo mkfs.ext4 /dev/sdb
# 挂载 sudo mkdir -p /mnt/iscsi
sudo mount /dev/sdb /mnt/iscsi
# 开机自动挂载(/etc/fstab) echo '/dev/sdb /mnt/iscsi ext4 defaults,_netdev 0 0' | sudo tee -a /etc/fstab
六、Time Machine 配置(macOS)
Section titled “六、Time Machine 配置(macOS)”6.1 使用 iSCSI 磁盘作为 Time Machine 备份盘
Section titled “6.1 使用 iSCSI 磁盘作为 Time Machine 备份盘”- 完成 iSCSI 挂载和格式化(APFS 格式)
- 打开 系统设置 → 通用 → Time Machine
- 点击 添加备份磁盘
- 选择 iSCSI 磁盘
- 如需要,勾选 加密备份
- 点击 设置磁盘
6.2 优化 Time Machine 性能
Section titled “6.2 优化 Time Machine 性能”# 排除不需要备份的大型文件夹 sudo tmutil addexclusion /path/to/large-folder
# 查看备份状态 tmutil status
# 手动触发备份 tmutil startbackup
6.3 注意事项
Section titled “6.3 注意事项”| 注意点 | 说明 |
|---|---|
| 网络稳定性 | Time Machine 需要稳定的网络连接,断网会导致备份失败 |
| 磁盘容量 | 建议备份盘容量 ≥ 备份数据量的 2-3 倍 |
| 首次备份 | 首次完整备份耗时较长,建议夜间进行 |
| iSCSI 保持连接 | 确保 DAEMON Tools 设置为自动连接 |
七、常见问题排查
Section titled “七、常见问题排查”7.1 无法发现 Target
Section titled “7.1 无法发现 Target”| 检查项 | 操作 |
|---|---|
| IP 和端口 | 确认输入的 NUC IP 和端口 3260 正确 |
| fnOS 应用 | 确认 iSCSI Manager 应用已启用 |
| 网络连通 | ping NUC-IP 测试网络连通性 |
| 防火墙 | 检查 macOS/Windows 防火墙是否放行 3260 端口 |
| 同一局域网 | 确认设备和 NUC 在同一网段 |
7.2 发现 Target 但无法连接
Section titled “7.2 发现 Target 但无法连接”| 检查项 | 操作 |
|---|---|
| CHAP 配置 | 确认 CHAP 用户名密码正确 |
| 相互 CHAP | 如启用,确保客户端也勾选相互认证 |
| 用户组权限 | 确认 IQN 已加入用户组且权限为读写 |
| LUN 映射 | 确认 LUN 已正确映射到 Target |
7.3 连接成功但看不到磁盘
Section titled “7.3 连接成功但看不到磁盘”| 检查项 | 操作 |
|---|---|
| LUN 权限 | 确认 LUN 权限不是“禁止访问” |
| 磁盘初始化 | 在磁盘工具中初始化并格式化 |
| 格式兼容性 | macOS 使用 APFS/exFAT,Windows 使用 NTFS |
7.4 删除文件后空间不释放
Section titled “7.4 删除文件后空间不释放”这是正常现象:
- iSCSI 提供的是块设备,文件系统由客户端管理
- 删除文件后,NAS 端无法感知空间释放
- 如需释放空间,需要:
1. 备份数据
2. 在客户端重新格式化磁盘
3. 恢复数据
7.5 NAS 端无法查看 LUN 文件
Section titled “7.5 NAS 端无法查看 LUN 文件”这是设计特性:
- LUN 是块设备,被客户端格式化为专有文件系统
- NAS 无法直接识别客户端文件系统(APFS、NTFS 等)
- 如需 NAS 端访问,请使用 SMB/NFS 文件共享
八、性能优化
Section titled “八、性能优化”8.1 网络优化
Section titled “8.1 网络优化”| 优化项 | 建议 |
|---|---|
| 有线连接 | 优先使用有线以太网,避免 WiFi |
| 千兆网络 | 使用千兆交换机,确保全链路千兆 |
| 独立网段 | 考虑为 iSCSI 配置独立 VLAN |
| 巨型帧 | 如交换机支持,启用 MTU 9000(Jumbo Frames) |
8.2 fnOS 端优化
Section titled “8.2 fnOS 端优化”| 优化项 | 建议 |
|---|---|
| SSD 缓存 | 为存储空间启用 SSD 缓存加速 |
| Thick Provisioning | 性能优于 Thin Provisioning |
| RAID 类型 | RAID 0/10 性能优于 RAID 5/6 |
| 磁盘休眠 | 关闭 iSCSI LUN 所在存储池的磁盘休眠 |
8.3 客户端优化
Section titled “8.3 客户端优化”| 优化项 | 建议 |
|---|---|
| APFS 格式 | macOS 使用 APFS 获得最佳性能 |
| 禁用 Spotlight | 对 iSCSI 磁盘禁用 Spotlight 索引 |
| 排除 Time Machine | 如非备份盘,排除 Time Machine 索引 |
九、软件下载链接汇总
Section titled “九、软件下载链接汇总”| 软件 | 平台 | 下载链接 | 价格 |
|---|---|---|---|
| DAEMON Tools iSCSI | macOS | https://www.daemon-tools.cc/downloads/iscsi-target/platform/mac?direct=1 | 免费版/付费版 |
| globalSAN iSCSI | macOS | http://www.globalsan.net | 付费(有试用) |
| open-iscsi | Linux | apt install open-iscsi |
开源免费 |
| iSCSI Initiator | Windows | 系统自带 | 免费 |
十、命令速查表
Section titled “十、命令速查表”10.1 macOS 命令
Section titled “10.1 macOS 命令”# 查看已挂载磁盘 diskutil list
# 格式化磁盘(APFS) diskutil eraseDisk APFS "iSCSI-Disk" /dev/disk2
# 格式化磁盘(exFAT) diskutil eraseDisk ExFAT "iSCSI-Share" /dev/disk2
# 弹出磁盘 diskutil eject /dev/disk2
10.2 Linux 命令
Section titled “10.2 Linux 命令”# 发现 Target sudo iscsiadm -m discovery -t sendtargets -p 192.168.1.100:3260
# 连接 sudo iscsiadm -m node -T <IQN> -p 192.168.1.100:3260 --login
# 断开 sudo iscsiadm -m node -T <IQN> -p 192.168.1.100:3260 --logout
# 查看会话 sudo iscsiadm -m session
10.3 Windows PowerShell
Section titled “10.3 Windows PowerShell”# 发现 Target New-IscsiTargetPortal -TargetPortalAddress "192.168.1.100" # 连接 Connect-IscsiTarget -NodeAddress "<IQN>" # 断开 Disconnect-IscsiTarget -NodeAddress "<IQN>" -Confirm:$false # 查看会话 Get-IscsiSession
| 步骤 | 操作 | 位置 |
|---|---|---|
| 1 | 安装 iSCSI Manager 应用 | fnOS 应用中心 |
| 2 | 创建 LUN(≥5GB,Thick Provisioning) | iSCSI Manager → LUN |
| 3 | 创建 Target 并映射 LUN | iSCSI Manager → Target |
| 4 | 配置用户组权限(获取 Mac IQN) | iSCSI Manager → 用户组 |
| 5 | 可选:配置 CHAP 认证 | iSCSI Manager → 设置 |
| 6 | 安装 DAEMON Tools | Mac Studio |
| 7 | 连接 iSCSI Target | DAEMON Tools |
| 8 | 格式化磁盘(APFS/exFAT) | 磁盘工具 |
| 9 | 设置为 Time Machine 备份盘 | 系统设置 |
提示:iSCSI 提供块级存储,适合需要本地硬盘体验的场景(如 Time Machine、虚拟机、数据库)。如需多设备同时访问文件,建议使用 fnOS 的 SMB/NFS 文件共享功能。
参考文档:飞牛 fnOS 官方帮助中心 https://help.fnnas.com
整理时间:2025年6月