mirror of
https://github.com/cubefs/cubefs.git
synced 2026-08-02 10:06:14 +00:00
Notice: the kernel client support replica volume only. The EC volume is not supported yet. Signed-off-by: Wu Huocheng <wuhuocheng@oppo.com> |
||
|---|---|---|
| .. | ||
| rdma | ||
| .clang-format | ||
| .gitignore | ||
| btree.c | ||
| btree.h | ||
| cfs_buffer.c | ||
| cfs_buffer.h | ||
| cfs_common.c | ||
| cfs_common.h | ||
| cfs_core.c | ||
| cfs_extent_cache.c | ||
| cfs_extent_client.c | ||
| cfs_extent_reader.c | ||
| cfs_extent_stream.c | ||
| cfs_extent_writer.c | ||
| cfs_extent.h | ||
| cfs_fs.c | ||
| cfs_fs.h | ||
| cfs_json.c | ||
| cfs_json.h | ||
| cfs_log.c | ||
| cfs_log.h | ||
| cfs_logtail.py | ||
| cfs_master.c | ||
| cfs_master.h | ||
| cfs_meta.c | ||
| cfs_meta.h | ||
| cfs_option.c | ||
| cfs_option.h | ||
| cfs_packet.c | ||
| cfs_packet.h | ||
| cfs_page.c | ||
| cfs_page.h | ||
| cfs_rdma_socket.c | ||
| cfs_rdma_socket.h | ||
| cfs_socket.c | ||
| cfs_socket.h | ||
| Chinese_readme.txt | ||
| configure | ||
| iov_iter.h | ||
| jsmn.h | ||
| Makefile | ||
| ReadMe.txt | ||
Note: Currently, kernel-mode clients only support replica volumes, not EC volumes. 1. The compiled suceessed system platform includes: centos 8.5, rocky 9.2, ubuntu 20 2. Compile commands: cd client_kernel ./configure make If you only use TCP network connections and do not use RDMA, you can compile: make no_rdma This will produce a cubefs.ko that does not include the RDMA interface, thereby avoiding errors when loading it. Currently, the RDMA interface only supports interfacing with code implemented natively in the kernel. On CentOS 7.6, you can use the following commands to install and load the rdma-core module: # Install the dependency modules sudo yum install -y rdma-core librdmacm libibverbs rdma-core-devel # Load the rdma_cm module sudo modprobe rdma_cm 3. Usage example: modprobe rdma_cm insmod cubefs.ko The write path by tcp: mount -t cubefs -o owner=whc,dentry_cache_valid_ms=5000,attr_cache_valid_ms=30000 //10.177.182.171:17010,10.177.80.10:17010,10.177.80.11:17010/whc /mnt/cubefs The write path with rdma: mount -t cubefs -o owner=whc,dentry_cache_valid_ms=5000,attr_cache_valid_ms=30000,enable_rdma=true,rdma_port=17360 //10.177.182.171:17010,10.177.80.10:17010,10.177.80.11:17010/whc /mnt/cubefs Notify: The rdma module is linux kernel's embed one. Please don't install MLNX_OFED_LINUX kernel module. Before inserting cubefs.ko, it requires to run command: modprobe rdma_cm. FQA: 1. If can't find the kernel depended module, it can be added by such command: export KBUILD_EXTRA_SYMBOLS=/usr/src/kernels/4.18.0-348.7.1.el8_5.x86_64/Module.symvers The 4.18.0-348.7.1.el8_5.x86_64 is kernel version. 2. Why not install MLNX_OFED_LINUX kernel module? The rdma api is linked to kernel's. If install others, it will over write the kernel's. Then rdam api version will be mismatch. 3. CentOS 7.6 can't works. Why? Please check whether the rdma device under /dev/infiniband/. If not, please try the commands: yum install -y rdma-core librdmacm libibverbs modprobe rdma_cm modprobe mlx5_ib