We’ve just pushed the final part of the Windows PR series[1], allowing RBD images as well as CephFS to be mounted on Windows.


There’s a comprehensive guide[2], describing the build, installation, configuration and usage steps.


2 out of 12 PRs have been merged already, we look forward to merging the others as well.


Lucian Petrut

Cloudbase Solutions


[1] https://github.com/ceph/ceph/pull/34859

[2] https://github.com/petrutlucian94/ceph/blob/windows.12/README.windows.rst



From: Lucian Petrut
Sent: Monday, December 16, 2019 10:12 AM
To: dev@ceph.io
Subject: Windows port




We're happy to announce that a couple of weeks ago, we've submitted a few Github pull requests[1][2][3] adding initial Windows support. A big thank you to the people that have already reviewed the patches.


To bring some context about the scope and current status of our work: we're mostly targeting the client side, allowing Windows hosts to consume rados, rbd and cephfs resources.


We have Windows binaries capable of writing to rados pools[4]. We're using mingw to build the ceph components, mostly due to the fact that it requires the minimum amount of changes to cross compile ceph for Windows. However, we're soon going to switch to MSVC/Clang due to mingw limitations and long standing bugs[5][6]. Porting the unit tests is also something that we're currently working on.


The next step will be implementing a virtual miniport driver so that RBD volumes can be exposed to Windows hosts and Hyper-V guests. We're hoping to leverage librbd as much as possible as part of a daemon that will communicate with the driver. We're also aiming at cephfs and considering using Dokan, which is FUSE compatible.


Merging the open PRs would allow us to move forward, focusing on the drivers and avoiding rebase issues. Any help on that is greatly appreciated.


Last but not least, I'd like to thank Suse, who's sponsoring this effort!


Lucian Petrut

Cloudbase Solutions


[1] https://github.com/ceph/ceph/pull/31981

[2] https://github.com/ceph/ceph/pull/32027

[3] https://github.com/ceph/rocksdb/pull/42

[4] http://paste.openstack.org/raw/787534/

[5] https://sourceforge.net/p/mingw-w64/bugs/816/

[6] https://sourceforge.net/p/mingw-w64/bugs/527/