mirror of
https://github.com/ceph/ceph
synced 2024-12-26 21:43:10 +00:00
0cb56e0f13
RTD does not support installing system packages, the only ways to install dependencies are setuptools and pip. while ditaa is a tool written in Java. so we need to find a native python tool allowing us to render ditaa images. plantweb is able to the web service for rendering the ditaa diagram. so let's use it as a fallback if "ditaa" is not around. also start a new line after the directive, otherwise planweb server will return 500 at seeing the diagram. Signed-off-by: Kefu Chai <kchai@redhat.com>
51 lines
2.4 KiB
ReStructuredText
51 lines
2.4 KiB
ReStructuredText
=========================
|
|
Ceph File System IO Path
|
|
=========================
|
|
|
|
All file data in CephFS is stored as RADOS objects. CephFS clients can directly
|
|
access RADOS to operate on file data. MDS only handles metadata operations.
|
|
|
|
To read/write a CephFS file, client needs to have 'file read/write' capabilities
|
|
for corresponding inode. If client does not have required capabilities, it sends
|
|
a 'cap message' to MDS, telling MDS what it wants. MDS will issue capabilities
|
|
to client when it is possible. Once client has 'file read/write' capabilities,
|
|
it can directly access RADOS to read/write file data. File data are stored as
|
|
RADOS objects in the form of <inode number>.<object index>. See 'Data Striping'
|
|
section of `Architecture`_ for more information. If the file is only opened by
|
|
one client, MDS also issues 'file cache/buffer' capabilities to the only client.
|
|
The 'file cache' capability means that file read can be satisfied by client
|
|
cache. The 'file buffer' capability means that file write can be buffered in
|
|
client cache.
|
|
|
|
|
|
.. ditaa::
|
|
|
|
+---------------------+
|
|
| Application |
|
|
+---------------------+
|
|
|
|
|
V
|
|
+---------------------+ Data IOs +--------------------+
|
|
| CephFS Library | ---------> | LibRados |
|
|
+---------------------+ +--------------------+
|
|
| |
|
|
| Metadata Operations | Objects Read/Write
|
|
V V
|
|
+---------------------+ +--------------------+
|
|
| MDSs | -=-------> | OSDs |
|
|
+---------------------+ +--------------------+
|
|
|
|
|
|
+----------------------+ +---------------------+
|
|
| CephFS kernel client | Data IOs | Ceph kernel library |
|
|
| (ceph.ko) | --------> | (libceph.ko) |
|
|
+----------------------+ +---------------------+
|
|
| |
|
|
| Metadata Operations | Objects Read/Write
|
|
v v
|
|
+---------------------+ +--------------------+
|
|
| MDSs | -=-------> | OSDs |
|
|
+---------------------+ +--------------------+
|
|
|
|
.. _Architecture: ../architecture
|