注意
本文档适用于 Ceph 开发版本。
在 Windows 上排除 Ceph 问题
MSI 安装程序
可以在此处查阅 MSI 源代码:https://github.com/cloudbase/ceph-windows-installer
可以使用以下命令生成 MSI 日志
msiexec.exe /i $msi_full_path /l*v! $log_file
WNBD 驱动安装失败将被记录在此处:C:\Windows\inf\setupapi.dev.log
.
Wnbd
对于WNBD
排除问题,请查看此页面:https://github.com/cloudbase/wnbd#troubleshooting
权限
大多数rbd-wnbd
和rbd device
命令需要特权权限。确保使用提升的 PowerShell 或 CMD 命令提示符。
崩溃转储
用户空间崩溃转储可以放置在可配置的位置,并针对所有应用程序或预定义的应用程序启用,如以下所述:https://docs.microsoft.com/en-us/windows/win32/wer/collecting-user-mode-dumps.
每当 Windows 应用程序崩溃时,都会向Application
Windows 事件日志提交一个事件,具有事件 ID 1000。该条目还将包括进程 ID、故障模块名称和路径以及异常代码。
请注意,为了分析崩溃转储,需要调试符号。我们目前使用MinGW
构建了 Ceph,因此默认情况下DWARF
符号将被嵌入到二进制文件中。windbg
不支持此类符号,但gdb
可以使用。
gdb
可以调试正在运行的 Windows 进程,但它无法打开 Windows 小型转储文件。gdb
分支可在此功能合并到上游之前使用:https://github.com/ssbssa/gdb/releases。作为替代方案,DWARF
符号可以使用cv2pdb
进行转换,但请注意该工具对 C++ 的支持有限。
ceph 工具
The ceph
Python 工具目前还不能在 Windows 上原生使用。通过一些小的修改它可能可以运行,但主要问题是 Python 目前不允许在 Windows 上使用AF_UNIX
:https://bugs.python.org/issue33408
作为替代方案,可以通过 Windows 子系统 for Linux (WSL) 使用ceph
工具。例如,可以通过使用以下方式联系 Windows RBD 守护进程:
ceph daemon /mnt/c/ProgramData/ceph/out/ceph-client.admin.61436.1209215304.asok help
IO 计数器
除了标准的 RBD 性能计数器外,还可以使用以下方式获取libwnbd
IO 计数器:
rbd-wnbd stats $imageName
同时,可以使用以下方式获取 WNBD 驱动计数器:
wnbd-client stats $mappingId
注意,该wnbd-client
映射标识符将是完整的 RBD 图像规范(即device
输出的rbd device list
列)。
缺少库
如果缺少或不受支持所需的 DLL 之一,Ceph 工具可能会静默退出,并返回 -1073741515 退出代码。
The 依赖项查看器工具可用于确定缺少的库。
由 Ceph 基金会带给您
Ceph 文档是一个社区资源,由非盈利的 Ceph 基金会资助和托管Ceph Foundation. 如果您想支持这一点和我们的其他工作,请考虑加入现在加入.