Post on 05-Aug-2015
transcript
Ceph-Dokan A Native Windows Ceph Client
Meng Shengzhi @UnitedStack d.ketor@gmail.com
2015-6-6
Overview
Why Ceph-Dokan
Ceph-Dokan Developing
How to use Ceph-Dokan
Roadmap
Why Ceph-DokanCeph now run on Linux
No way to access Ceph directly on Win32
librbd, libcephfs, librados is needed on Win32
Samba is too slow
What is Ceph-DokanAll code compiled to Win32 platform
No translation dll is needed
Use Dokan like linux fuse
Directly mount CephFS like a local drive
libcephfs, librbd, librados
How to run Ceph Code on Windows
MSVC
Cygwin
MinGW32
How to run Ceph Code on Windows
ceph-mingw-types.h
pthread
mutex
memory mgmt
How to run Ceph Code on Windows
boost library
poll -> select
linux socket -> winsock2
other system call (backtrace, Sleep, etc)
Linux POSIX to Win32 FS
Dokan implements Win32 FS API
Ceph implements Linux POSIX API
Win32 and POSIX is very different
Linux POSIX to Win32 FS
open -> CreateFile
readdir, stat -> FindFiles
char* <-> wchar
UTF8 <-> GBK
Compile Ceph-DokanDownload MinGW from http://ceph.com/misc/MinGW-20150115.zip
Unzip the MinGW-20150115.zip to C:\
Open C:\MinGW\msys\1.0\msys.bat you will get a MINGW32 bash shell.
Git clone the ceph-dokan
Make
Use Ceph-Dokan Install Dokan 0.6.0 on your Windows.Thread model
Dokan 0.6.0 support Windows XP/Vista/7/2008/8/2012
If you use Win8 or Win2012, you need install Dokan in Windows 7 compatibility mode.
Compile Ceph-Dokan
Mount:
Using Ceph-Dokan
Using Ceph-Dokan
Roadmap
cephx
librados.dll
librbd.dll
merge to upstream