cephfs client读写流程

以cephfuse为例

读流程:

fuse_ll_read() -> ll_read() -> Client::_read() -> _read_async() (带缓存) -> ObjectCacher::file_read() -> readx() -> _readx() -> bh_read() -> read_trunc() -> op_submit() -> _op_submit_with_budget() -> _op_submit() -> _send_op() -> send_message()

### PVE CephFS 配置与集成 在 Proxmox Virtual Environment (PVE) 中配置和集成 CephFS 可能会遇到一些特定的挑战。以下是关于如何处理这些问题以及实现成功配置的方法。 #### 安装必要的组件 为了使 PVE 能够访问并挂载 Ceph 文件系统,需要安装 `ceph-common` 和其他依赖项: ```bash apt-get update && apt-get install ceph-common -y ``` 这一步骤确保了环境中具备运行 CephFS 所需的基础工具和支持库[^1]。 #### 创建 Ceph 用户用于 NFS 或直接挂载 对于安全性和权限管理而言,在 Ceph 集群上创建专门供 PVE 使用的新用户是非常重要的操作之一。通过命令行可以轻松完成此过程: ```bash ceph auth get-or-create client.<name> mon 'allow r' mds 'allow rw' osd 'allow rw tag cephfs data=<filesystem>' ``` 这里的 `<name>` 是自定义用户名,而 `<filesystem>` 则代表目标文件系统的名称。上述指令授予该客户端读写指定路径下的数据的权利。 #### 修改 `/etc/hosts` 添加集群节点 IP 地址映射 为了让 PVE 更好地识别各个 Ceph 存储服务器的位置信息,建议编辑主机名解析表来加入这些设备对应的网络地址记录。例如: ``` <IP Address of Monitor Node 1> monitor-node-01 ... ``` 这样做的好处是可以简化后续连接字符串中的书写方式,并提高整体稳定性。 #### 编辑存储配置文件以支持新的卷类型 接下来要修改位于 `/etc/pve/storage.cfg` 的全局设置文档,以便让虚拟化平台知道怎样去发现新类型的持久化介质。添加如下所示的一节内容即可满足需求: ``` cephfs name=your_cephfs_id pool=data server=monitor-node-01 port=6789 user=client.<name> ``` 其中 `your_cephfs_id` 应当替换为你所期望使用的唯一标识符;其余参数则依据实际情况调整至合适状态。 #### 测试挂载功能正常与否 最后一步就是验证整个流程是否顺畅无误——尝试手动执行一次临时性的装载动作看看能否顺利达成预期效果: ```bash mount -t ceph <Monitor IP>:/<Path> /mnt/test -o name=admin,secret='admin secret' ``` 如果一切顺利的话,则说明之前所做的准备工作均已完成得恰到好处!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值