问题标签 [cephfs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mount - 我无法将 cephfs 挂载到我的计算机上。我怎么解决这个问题?
我有一个 cephfs,我需要挂载这个文件系统。
我有两个池 cephfs_data 和 cephfs_meta。
ceph -s 输出为:
我创建了一个具有以下属性的用户:
当我尝试运行此命令时:
sudo mount -t fuse.ceph conf=/etc/ceph/ceph.conf /mnt/cephfs/
有时候是这样的:
或者
当我尝试运行此命令时:
sudo mount.ceph mon1:6789:/ /mnt/cephfs/
有时候是这样的:
或者
当我尝试运行此命令时:
sudo ceph-fuse -n client.foo /mnt/cephfs/
有时候是这样的:
和无限的未决。我看不到“启动保险丝”。
我的错在哪里?我应该遵循哪种方式?
kubernetes - CephFS 无法在 Kubernetes 上挂载
我设置了一个 Ceph 集群并使用sudo mount -t
官方文档中的命令手动挂载,我检查了我的 Ceph 集群的状态——那里没有问题。现在我正在尝试在 Kubernetes 上挂载我的 CephFS,但是当我运行 kubectl create 命令时,我的 pod 卡在了 ContainerCreating 中,因为它无法挂载。我在网上查看了许多相关的问题/解决方案,但没有任何效果。
作为参考,我正在遵循本指南:https ://medium.com/velotio-perspectives/an-innovators-guide-to-kubernetes-storage-using-ceph-a4b919f4e469
我的设置由 5 个 AWS 实例组成,它们如下:
节点 1:Ceph Mon
节点 2:OSD1 + MDS
节点 3:OSD2 + K8s Master
节点 4:OSD3 + K8s Worker1
节点 5:CephFS + K8s Worker2
可以将 K8s 堆叠在与 Ceph 相同的实例之上吗?我很确定这是允许的,但如果不允许,请告诉我。
在描述 pod 日志中,这是错误/警告:
这些是我的 .yaml 文件:
供应商:
存储类:
PVC:
输出kubectl get pv
并kubectl get pvc
显示卷被绑定和声明,没有错误。供应商 pod 日志的输出都显示成功/无错误。
请帮忙!
kubernetes - 使用 rook 卷时 kubernetes 节点不断重启
几天前,当我的节点不断重启时,我遇到了一个问题
我的堆栈:
1 个 master,2 个 worker 用 kubeadm (v1.17.1-00) 构建的 k8s-cluster
Ubuntu 18.04 x86_64 4.15.0-74-generic
法兰绒 cni 插件 (v0.11.0)
用于存储的 Rook (v1.2) cephfs。Ceph 部署在我的应用程序所在的同一个集群中
我能够运行 ceph 集群,但是当我尝试部署使用我的 rook-volumes 的应用程序时,突然我的 pod 开始死亡
kubectl describe pods/name
使用命令时收到此消息:
Pod sandbox changed, it will be killed and re-created
在我得到的 k8s 事件中:
<Node name> has been rebooted
一段时间后,节点会复活,但最终会在 2-3 分钟内死亡。
我试图耗尽我的节点并连接回我的集群,但之后另一个节点出现了这个错误。
我通过命令查看了失败节点的系统错误日志journalctl -p 3
。
并发现,日志中充斥着这些消息:kernel: cache_from_obj: Wrong slab cache. inode_cache but object is from ceph_inode_info
.
谷歌搜索这个问题后,我发现了这个问题: https ://github.com/coreos/bugs/issues/2616
事实证明,cephfs 只是不适用于某些版本的 Linux 内核!对我来说,这些都不起作用:
- Ubuntu 19.04 x86_64 5.0.0-32-generic
- Ubuntu 18.04 x86_64 4.15.0-74-generic
kubernetes - CephFS:挂载失败:挂载失败:退出状态 1
挂载命令:systemd-run 挂载参数:--description=Kubernetes 临时挂载 /var/lib/kubelet/pods/3a4bc496-b994-49d2-96f4-bfd966824674/volumes/kubernetes.io~cephfs/pvc-947a7e07-b8fa- 48d1-ae11-89ac949ac3a8 --scope -- mount -t ceph -o name=kubernetes-dynamic-user-41748797-4ea2-11ea-b682-defbd1d056a0,secret=AQA5tkVedrrdORAAWtrhAYBMNJBXsDqgSgWv0g== ceph-mon.ceph.svc.cluster.local。 :6789:/volumes/kubernetes/kubernetes/kubernetes-dynamic-pvc-4174871a-4ea2-11ea-b682-defbd1d056a0 /var/lib/kubelet/pods/3a4bc496-b994-49d2-96f4-bfd966824674/volumes/kubernetes.io~ cephfs/pvc-947a7e07-b8fa-48d1-ae11-89ac949ac3a8 输出:以单位运行范围:run-r4a7962524413479a861d0cdc02f9592b.scope 无法完成选项:-34 警告 FailedMount 9m35s kubelet, minikube MountVolume.SetUp failed for volume “pvc-947a7e07-b8fa-48d1-ae11-89ac949ac3a8":CephFS:挂载失败:挂载失败:退出状态 1 挂载命令:systemd-run 挂载参数:--description=Kubernetes 临时挂载 /var/lib/kubelet/pods/ 3a4bc496-b994-49d2-96f4-bfd966824674/volumes/kubernetes.io~cephfs/pvc-947a7e07-b8fa-48d1-ae11-89ac949ac3a8 --scope -- mount -t ceph -o name=kubernetes-dynamic-user-41748797- 4ea2-11ea-b682-defbd1d056a0,secret=AQA5tkVedrrdORAAWtrhAYBMNJBXsDqgSgWv0g== ceph-mon.ceph.svc.cluster.local:6789:/volumes/kubernetes/kubernetes/kubernetes-dynamic-pvc-4174871a-4-defea2-11ea-b602/d var/lib/kubelet/pods/3a4bc496-b994-49d2-96f4-bfd966824674/volumes/kubernetes.io~cephfs/pvc-947a7e07-b8fa-48d1-ae11-89ac949ac3a8 输出:运行范围为单位:run-r15199da4f3c242acbbffc 't 最终确定选项:-34 警告 FailedMount 9m3s kubelet, minikube MountVolume.SetUp failed for volume "pvc-947a7e07-b8fa-48d1-ae11-89ac949ac3a8" : CephFS: mount failed: mount failed: exit status 1 挂载命令:systemd-run 挂载参数:--描述 = /var/lib/kubelet/pods/3a4bc496-b994-49d2-96f4-bfd966824674/volumes/kubernetes.io~cephfs/pvc-947a7e07-b8fa-48d1-ae11-89ac949ac3a8 --scope -- mount 的 Kubernetes 临时挂载-t ceph -o name=kubernetes-dynamic-user-41748797-4ea2-11ea-b682-defbd1d056a0,secret=AQA5tkVedrrdORAAWtrhAYBMNJBXsDqgSgWv0g== ceph-mon.ceph.svc.cluster.local:6789:/volumes/kubernetes/kubernetes/kubernetes -dynamic-pvc-4174871a-4ea2-11ea-b682-defbd1d056a0 /var/lib/kubelet/pods/3a4bc496-b994-49d2-96f4-bfd966824674/volumes/kubernetes.io~cephfs/pvc-947a7e07-b8fa-48d1-ae11 -89ac949ac3a8 输出:运行范围为单位:run-rd0eba6d627054dbe9ca488f05bb603cf.scope 无法完成选项:-34 警告 FailedMount 5m48s (x2 over 8m4s) kubelet, minikube 无法附加或安装卷:未安装的卷=[pvc],未附加的卷=[pvc default-token-rc9k2 ceph- cm-test]: timed out waiting for the condition Warning FailedMount 112s (x5 over 7m59s) kubelet, minikube(结合类似事件): MountVolume.SetUp failed for volume "pvc-947a7e07-b8fa-48d1-ae11-89ac949ac3a8" : CephFS :挂载失败:挂载失败:退出状态 1 挂载命令:systemd-run 挂载参数:--description=Kubernetes 临时挂载 /var/lib/kubelet/pods/3a4bc496-b994-49d2-96f4-bfd966824674/volumes/kubernetes。 io~cephfs/pvc-947a7e07-b8fa-48d1-ae11-89ac949ac3a8 --scope -- mount -t ceph -o name=kubernetes-dynamic-user-41748797-4ea2-11ea-b682-defbd1d056a0,秘密=AQA5tkVedrrdORAAWtrhAYBMNJBXsDqgSgWv0g== ceph-mon.ceph.svc.cluster.local:6789:/volumes/kubernetes/kubernetes/kubernetes-dynamic-pvc-4174871a-4ea2-11ea-b682-defbd1d056a0 /var/lib/kubelet/pods/ 3a4bc496-b994-49d2-96f4-bfd966824674/volumes/kubernetes.io~cephfs/pvc-947a7e07-b8fa-48d1-ae11-89ac949ac3a8 输出:运行范围为单位:run-r56f5716008b14ca19520fc6b9ebb39 选项:-4't
ceph - 健康:HEALTH_ERR - 如何在不丢失数据的情况下修复它?
获得ceph状态:
以下是 OSD 状态:
我试过这些命令:
但这也无济于事。我认为 pg_num 32 对于我的 OSD 计数来说太小了,但不确定在健康状态错误时将其设置得更大是否安全
kubernetes-helm - 如何修复通过 helm-rook 安装的 Operator pod 的 dial tcp 10.96.0.1:443: i/o timeout 错误?
我几乎用这个命令添加了 repo
然后我运行命令
运算符首先创建,但随后变成 crashloopbackoff 错误。
下面是日志。
关于如何解决这个问题的任何想法?
openstack - Ceph 中缓存层的最佳大小是多少?
我有一个容量为 500 TB 的 Ceph 集群。我想为它创建缓存层。
我有一个 20TB 固态硬盘。这足以使用 20 TB 缓存 500 TB 吗?计算它的最佳方法是什么?
amazon-web-services - 将数据从 AWS 存储桶复制到 Ceph 存储桶
我有一个 ceph 对象存储桶和一个 AWS 存储桶。我想将数据从 AWS 存储桶复制到 ceph 存储桶,而不将数据复制到任何中间系统本地系统。有没有办法做到这一点,因为需要单独的端点,单独的键。
ansible - 使用 kolla-ansible 安装 ceph 进行多合一设置
我正在尝试使用启用 ceph 的 kolla-ansible 部署一体化配置
而且,我的设置包括一个带有 Ubuntu 18.04.4 桌面版本的 Virtual Box VM,具有 2 个 CPU 内核、30 GB 磁盘(单磁盘)、2GB RAM,分区类型是 msdos。
ansible 版本==2.9.7
kolla-ansible 版本==9.1.0
为了使用 kolla-ansible 安装 ceph OSD,我读到一个分区的名称应该是 KOLLA_CEPH_OSD_BOOTSTRAP_BS。
因此,我创建了 20 GB 的根分区,即 /dev/sda1,然后为其余 20 GB 创建了扩展分区 /dev/sda2,然后是两个逻辑分区(/dev/sda5 和 /dev/sda6),每个 10 GB 用于 OSD。但是在 msdos 类型的分区中,没有为分区分配名称的功能。
所以我的问题是:
- 如果是 msdos 类型的分区,我该如何标记分区,以便 kolla-ansible 识别 /dev/sda5 和 /dev/sda6 是为 Ceph-OSD 指定的?
- 是否必须拥有一个单独的存储驱动器而不是包含 Ceph OSD 操作系统的存储驱动器(我知道不建议将所有驱动器都放在单个磁盘中)?
- 为了使用 kolla-ansible 安装 Ceph-OSD,我必须如何配置我的单驱动器 HD 空间?
PS:我还尝试使用 kolla-ansible 使用 OpenStack VM(4 个 CPU 内核,80GB 磁盘空间 - 单个驱动器,因为我没有在我的 OpenStack 基础设施中安装 Cinder。)和 Ubuntu 18.04.4 Cloud 映像安装 ceph,其中有GPT分区类型,支持命名分区,分区如下:
/dev/vda1 用于根分区
/dev/vda2 用于 ceph OSD
/dev/vda3 用于 ceph OSD
但缺点是,kolla-ansible 清空了整个磁盘,导致安装失败。
非常感谢任何帮助。提前非常感谢。
ceph - cephfs 出现“只读文件系统”错误,如何处理?
如此处所述完全恢复后
https://docs.ceph.com/docs/master/cephfs/disaster-recovery-experts/#disaster-recovery-experts
文件系统仍然存在问题。
“loaded dup inode”错误日志消息将我带到 /lost+found 文件夹
loaded dup inode 0x10000ed6c1a [head,head] v1 at /lost+found/10000ed6c1a, but inode 0x10000ed6c1a.head v493 already exists at ...
我试图删除 /lost+found 中的文件并收到错误“只读文件系统”
rm: cannot remove '10000ed02dc': Read-only file system
scrub start / repair
失败了
{
"performed_validation": true,
"passed_validation": false,
"backtrace": {
"checked": true,
"passed": true,
"read_ret_val": 0,
"ondisk_value": "(2)0x1:[]//",
"memoryvalue": "(2)0x1:[]//",
"error_str": ""
},
"raw_stats": {
"checked": true,
"passed": false,
"read_ret_val": 0,
"ondisk_value.dirstat": "f(v0 m2020-05-31T06:04:03.924797+0000 2=0+2)",
"ondisk_value.rstat": "n(v0 rc2020-06-01T12:00:00.000000+0000 b397013380709 5466639=3777584+1689055)",
"memory_value.dirrstat": "f(v0 m2020-05-31T06:04:03.924797+0000 2=0+2)",
"memory_value.rstat": "n(v19075 rc2020-06-01T12:00:00.000000+0000 b397013380709 5466639=3777584+1689055)",
"error_str": "dirfrag(*) has bad stats; "
},
"return_code": 0
}
scrub start /lost+found repair
也没有帮助
{
"performed_validation": true,
"passed_validation": false,
"backtrace": {
"checked": true,
"passed": true,
"read_ret_val": 0,
"ondisk_value": "(2)0x4:[<0x1/lost+found v1>]//",
"memoryvalue": "(2)0x4:[<0x1/lost+found v454066>]//",
"error_str": ""
},
"raw_stats": {
"checked": true,
"passed": false,
"read_ret_val": 0,
"ondisk_value.dirstat": "f(v0 1=1+0)",
"ondisk_value.rstat": "n(v0 rc2020-05-31T06:07:50.359058+0000 1=0+1)",
"memory_value.dirrstat": "f(v1 1=1+0)",
"memory_value.rstat": "n(v1 rc2020-05-31T06:07:50.359058+0000 1=0+1)",
"error_str": "dirfrag(*) has bad stats; "
},
"return_code": 0
}
我该如何修复这个?