Windows挂载Cephfs文件系统

一、Cephfs 概述

1.1 Cephfs 简介

CephFS 是 Ceph 分布式存储系统提供的 POSIX 兼容文件系统‌,它基于 RADOS 对象存储层构建,允许用户像访问本地文件一样访问分布式存储资源。作为 Ceph 三大存储接口之一(另外两个是块存储 RBD 和对象存储 RGW),CephFS 特别适合需要共享文件访问的场景,如高性能计算(HPC)和大数据分析。

  • 核心定位‌:CephFS 是一个‌分布式文件系统‌,旨在提供高可用、高性能且可扩展的文件存储服务,兼容标准的 POSIX 接口。

  • 主要优势‌: 1.‌ 统一存储‌:与 Ceph 的块存储和对象存储共享底层集群资源,无需单独维护一套文件存储硬件。 2. ‌弹性扩展‌:支持在线扩容,存储容量和性能可随节点增加而线性增长。 3. 高可靠性‌:数据自动多副本复制,具备自我修复能力,单点故障不影响服务。‌‌‌

  • 适用场景‌:常用于‌共享主目录‌、‌HPC 暂存空间‌、‌分布式工作流共享存储‌以及容器持久化存储等需要多客户端并发读写的场景。‌‌‌

二、将Cephfs 挂载到Windows系统中

2.1 Ceph 客户端相关软件下载

Ceph 客户端工具(ceph-dokan)和库(Dokany )可以在 Windows 上原生使用。这避免了在Windows系统上使用 Cephfs需要额外的层,如 iSCSI 网关或 SMB 共享,从而大幅提高性能。

Tips: 利用 Dokan(Windows 用户态文件系统框架)开发的 ceph-dokan 项目,它实现了基于 libcephfs 的 Windows CephFS 客户端,可直接在 Windows 上将 CephFS 挂载为一个盘符。

2.2 Ceph 客户端相关软件安装

  1. 安装 Dokany 驱动 ceph-dokan 依赖于 Dokany,需要先安装该驱动。双击上一步下载到的 DokanSetup.exe 安装程序,按照指引安装好 Dokany ,不要修改安装程序的默认安装目录。安装完成后,驱动程序将被安装到 C:\Program Files\Dokan 目录下
1
2
3
4
5
6
C:\Program Files\Dokan>dir
2026-06-12  15:54    <DIR>          .
2026-06-12  15:54    <DIR>          ..
2026-06-12  15:54    <DIR>          Dokan Library-2.0.6

C:\Program Files\Dokan>
  1. 安装ceph-dokan程序 双击上一步下载到的 ceph_reef_beta.msi 安装程序,按照指引安装(点击下一步),在 Custom Setup 安装页中只选择安装 Ceph Cli、不附带选择安装 Windows Ceph RDB driver(选中附带安装该启动将导致程序安装失败) 选项。 安装完成后,ceph-dokan 将被安装到 C:\Program Files\Ceph 目录下,同时创建 C:\ProgramData\Ceph 目录作为 ceph-dokan 的默认配置文件存放目录。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
C:\Users\ZCZY>ceph-dokan.exe --version
ceph version 18.5.4 (d7ec9bb28d2b4610d42fc247ff56a8acf9c3754a) reef (stable)

C:\Users\ZCZY>C:\Program Files\Ceph>

C:\Program Files\Ceph>dir
2026-06-12  15:54    <DIR>          .
2026-06-12  15:54    <DIR>          ..
2026-06-12  15:54    <DIR>          bin

C:\Program Files\Ceph> 

2.3 配置 ceph-dokan 挂载Cephfs

Tips: 以下配置总需将 user_name 换成实际的 cephfs 用户名

  1. Cephfs 密钥环文件(C:\ProgramData\Ceph\ceph.client.user_name.keyring),内容如下:
1
2
3
4
5
6
7
; user_name 换成实际的 cephfs 用户名
[client.user_name]
    ; 秘钥 key 换为 实际去 cephfs 秘钥
    key = AQB**************************
    caps mds = "allow rw"
    caps mon = "allow rw"
    caps ood = "allow rwx"
  1. ceph-dokan 配置文件(C:\ProgramData\Ceph\ceph.conf),内容如下:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
    log to stderr = false
    ; 如需使用 Windows 事件日志,可取消下行注释
    ; log to syslog = true
    run dir = C:/ProgramData/Ceph/out
    crash dir = C:/ProgramData/Ceph/out

    auth_cluster_required = cephx
    auth_service_required = cephx
    auth_client_required = cephx
[client]
    keyring = C:\ProgramData\Ceph\ceph.client.user_name.keyring
    ; log file = C:/ProgramData/ceph/out/$name.$pid.log
    ; admin socket = C:/ProgramData/ceph/out/$name.$pid.asok
    client_permissions = true
    client_mount_uid = 1000
    client_mount_gid = 1000

[global]
    ; ceph_monitor_addresses 替换为实际的 ip端口, 格式为: ip1:6879,ip2:6879,ip3:6879
    mon host = ceph_monitor_addresses
  1. 创建 C:/ProgramData/Ceph/out 目录

2.4 挂载 Cepsfs 到Windows X盘

以管理员身份打开 Windows cmd 或 PowerShell,在命令行执行如下命令:

1
2
3
; user_name 换成实际的 cephfs 用户名
ceph-dokan.exe -name client.user_name -l x -d   # 使用默认目录下的配置文件
ceph-dokan.exe -name client.user_name -c C:\ProgramData\Ceph\ceph.conf -l x -d  # -c 指定配置文件

执行上述命令成功后,在Windows 文件资源管理器总的 “此电脑” 下面将出现 Ceph(X:) 盘。

Tips: ceph-dokan.exe 只是一个Windows 命令行工具程序, 一般情况下关闭cmd 或 重启Windows 后 启动的 ceph-dokan.exe 进程间退休,上述命令挂载好的Cephfs 文件系统(X盘)即将自动卸载(失效)。

三、将 ceph-dokan.exe 配置为Windows 服务

Tips 将 ceph-dokan.exe 配置为Windows 服务, 让 ceph-dokan.exe 进程在Windows 后台运行,无需每次在cmd 窗口启动并保持cmd窗口开着, 在重启Windows 后 ceph-dokan.exe 可以自动挂载Cephfs 到Windows 上, 无需每次手动挂载。

3.1 下载 WinSW

WinSW 下载地址:https://github.com/winsw/winsw/releases/download/v2.12.0/WinSW.NET461.exe WinSW 配置文件下载地址:https://github.com/winsw/winsw/releases/download/v2.12.0/sample-allOptions.xml

3.2 配置文件

CephFsClientService.xml

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<service>
  <id>CephFsClientService</id>
  <name>CephFs Client Service(Powered by WinSW)</name>
  <description>Ceph Dokan 文件系统服务 (client.admin)</description>

  <!-- 可执行文件完整路径 -->
  <executable>C:\Program Files\Ceph\bin\ceph-dokan.exe</executable>

  <!-- 启动参数,多个参数间用空格分隔即可, user_name 换成实际的 cephfs 用户名 -->
  <arguments>-name client.user_name -c C:\ProgramData\Ceph\ceph.conf -l x -d</arguments>

  <!-- 工作目录,确保相对路径 ceph.conf 能被找到 -->
  <workingdirectory>C:\Program Files\Ceph</workingdirectory>

  <!-- 网络就绪后自动启动 -->
  <startmode>AutoStart</startmode>
  <depend>Tcpip</depend>
  <depend>Dhcp</depend>

  <!-- 可选日志 -->
  <logpath>C:\ProgramData\CephDokanService\logs</logpath>
  <log mode="roll-by-size">
    <sizeThreshold>10240</sizeThreshold>
    <keepFiles>8</keepFiles>
  </log>
</service>

3.3 注册为Windows 服务

将3.1小节下载的 WinSW.NET461.exe 改为 CephFsClientService.exe ,并将 CephFsClientService.exeCephFsClientService.xml 放置到 C:/ProgramData/Ceph/ 目录下。使用Windows管理员身份打开 cmd, 日志如下命令

1
2
3
4
5
6
7
C:\Windows\system32>cd C:\ProgramData\Ceph

C:\ProgramData\Ceph>CephFsClientService.exe install     # 注册为Windows服务
C:\ProgramData\Ceph>CephFsClientService.exe uninstall   # 注销(卸载)Windows服务, 修改 CephFsClientService.xml 配置文件后需 uninstall -> install 才能生效
C:\ProgramData\Ceph>CephFsClientService.exe status      # 查看服务状态
C:\ProgramData\Ceph>CephFsClientService.exe start       # 启动服务
C:\ProgramData\Ceph>CephFsClientService.exe restart     # 重启服务