在 macOS 上挂载 OpenStack Swift — NetDrive 驱动器设置

阅读时间 6 分钟 provider-guide openstack macos
Robin
RobinDeveloper Advocate
使用 NetDrive 3.18+ 将 OpenStack Swift 对象存储挂载为原生 macOS 卷。Keystone v2/v3 身份验证与 Finder 集成的分步设置指南。

一个在本地 OpenStack 集群上运行 60 TB 模型训练数据的数据科学团队,希望在 macOS 上获得与 Linux 上相同的体验:一个直接指向 Swift 的文件系统路径,让 Python 脚本可以直接引用 /Volumes/swift-data/,而无需任何额外的抽象层。NetDrive 自 3.1 版本起就支持 OpenStack Swift,在 macOS 14 Sonoma 或更高版本上,整个设置过程不到五分钟。

NetDrive drive manager showing Google Drive, S3 and pCloud mounted as drive lettersMounted clouds appearing as native drives in Windows File Explorer

在 macOS Finder 中直接挂载 OpenStack Swift

NetDrive 让 Google Drive、OneDrive、S3、SFTP、WebDAV 等在 Windows 和 macOS 上显示为本地驱动器 — 无需同步,无需完整下载。

  • 在 Finder 中以原生 /Volumes/ 条目形式访问 Swift 容器
  • 支持 Keystone v2 和 v3 身份验证
  • 原生 Apple Silicon 支持 — macOS 14 Sonoma 及更高版本
WindowsmacOS
下载 macOS 版 NetDrive →

免费试用。提供终身与订阅方案。

你需要准备的凭据

在打开 NetDrive 之前,请从你的 OpenStack 管理员或 Horizon 控制面板收集以下信息:

  • Auth URL — Keystone 身份端点,例如 https://keystone.example.org:5000/v3。请按管理员提供的原样包含版本路径(/v2.0/v3);NetDrive 会原样使用该地址。
  • Username 与 Password — 你的 OpenStack 用户凭据。部分部署会签发应用凭据而非用户密码;两种形式在 NetDrive 的凭据字段中都可以使用。
  • Project / Tenant Name — 拥有目标容器的 OpenStack 项目(Keystone v3)或租户(Keystone v2)。即使你是集群上唯一的用户,该字段也是必填的。
  • Region — 如果你的集群是多区域的,填写区域名称(例如 RegionOne)。单区域部署可留空。
  • Container Name — 要作为驱动器根目录挂载的具体 Swift 容器。留空则以账户级别挂载,Finder 中会将所有容器显示为顶层文件夹;填写名称则直接指向某个容器。

默认使用 HTTPS,并强烈建议保持此设置 — Swift 认证令牌绝不应通过明文 HTTP 传输。

OpenStack Swift 徽标 — OpenStack 私有云平台的对象存储组件

macOS 版本说明: OpenStack Swift 支持自 NetDrive 3.1 版本起就已存在。在 macOS 14 Sonoma 或更高版本上,你需要 NetDrive 3.18 或更高版本。如果你仍在使用 macOS 13 Ventura,NetDrive 3.17 是最新的兼容版本 — 下面的 Swift 设置步骤完全相同。

在 NetDrive 中添加 Swift 驱动器

  1. 在你的 Mac 上 打开 NetDrive — 安装后它会驻留在菜单栏中。
  2. 点击 Add Drive(驱动器管理窗口中的 + 按钮)。
  3. 从提供商列表中选择 OpenStack Swift
  4. 填写凭据字段:Auth URLUsernamePasswordProject/Tenant Name。如适用,添加 RegionContainer Name
  5. 为驱动器指定一个显示名称 — 这将成为 Finder 中 /Volumes/ 下可见的卷名称。
  6. Mount Type 设置为 Network Drive 以获得完整的读写权限,或设置为 Read-only Drive 以防止从这台 Mac 向集群写回数据。
  7. 点击 Mount

卷会在几秒钟内出现在 Finder 的侧边栏中。引用 /Volumes/swift-data/ 的脚本可以立即运行 — 无需更改任何路径。

macOS 上的 NetDrive 驱动器管理器,显示包括 OpenStack Swift 在内的多个云提供商已挂载为原生卷

在 Finder 中操作 Swift 文件

挂载完成后,Swift 容器在 Finder 中的外观和行为都与本地驱动器无异。你可以在任何应用中直接打开文件 — 将 TIFF 拖入 Photoshop、在 VS Code 中打开 JSON、用 QuickLook 预览视频 — 保存操作会自动写回对象存储。NetDrive 按需获取文件内容;挂载时不会将整个容器下载到你的 Mac 上。

在平面命名空间中包含数万个对象的大型容器,首次打开时列出速度会较慢。如果遇到这种情况,在 Swift 一侧按前缀组织对象会有显著帮助 — NetDrive 会将前缀渲染为文件夹并增量加载它们,而不是一次性请求全部对象的平面列表。

Spotlight 搜索可与已挂载的 NetDrive 卷配合使用。如果你的团队需要按文件名或元数据在 Swift 容器中查找文件,这项功能无需任何额外配置即可使用。

OpenStack Swift 容器内容作为原生 macOS 卷在 Finder 中可访问,与本地驱动器并列显示

登录时自动挂载

对于长期开机并作为共享中继连接 Swift 集群的 Mac,可在驱动器设置中将 Auto Mount 设为 On Login。每次用户登录时,该卷都会自动重新连接,无需任何手动操作。

凭据存储在 macOS 钥匙串中,因此重新连接是静默进行的,不需要输入密码。如果你需要在任何用户登录之前就挂载该驱动器 — 例如作为无人值守文件中继的 Mac mini — 请改为设置成 On Boot

NetDrive 挂载状态指示器,显示一个已连接且状态健康的 OpenStack Swift 卷,运行于 macOS

总结

在 macOS 上使用 NetDrive 挂载 OpenStack Swift,能让你获得一个由私有云支撑的 /Volumes/ 条目 — 现有脚本无需更改路径、无需额外管理守护进程,并且对任何主流 OpenStack 发行版的 Keystone 认证集群都开箱即用 HTTPS 连接。

若要在同一集群中的 Windows 工作站上实现相同的工作流,在 Windows 上使用 NetDrive 挂载 OpenStack Swift 介绍了相同的凭据设置,只是以盘符分配取代了 Finder 卷。如果你的混合基础设施还包含兼容 S3 的存储,你可以从同一个 NetDrive 安装中同时挂载两者 — 相关设置请参阅在 macOS 上使用 NetDrive 挂载 Amazon S3

— Robin, NetDrive