carina
carina copied to clipboard
bcache创建逻辑
请问bcache是如何创建的?我在代码中没有在找到这块逻辑。 测试环境无法成功创建bcache。
0.10版本,helm部署,部署时已启用bcache。
[root@182 ~]# lsmod | grep bcache
bcache 274432 0
crc64 16384 1 bcache
carina-ndoe 报错
Create with no support type failed to create LV name pvc-5b074f0d-c0ff-46b5-b0b5-7c658e4980d4
{"level":"error","ts":1654150765.6952772,"logger":"controller.logicvolume","msg":"Reconciler error","reconciler group":"carina.storage.io","reconciler kind":"LogicVolume","name":"pvc-5b074f0d-c0ff-46b5-b0b5-7c658e4980d4","namespace":"default","error":"Create with no support type ","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/workspace/github.com/carina-io/carina/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/workspace/github.com/carina-io/carina/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:227"}
这里是bcache的代码
- https://github.com/carina-io/carina/blob/main/pkg/devicemanager/bcache/bcache.go
bcache并不需要特别指定,只需要在sc中配置缓存比例以及缓存盘所在vg卷组即可
- https://github.com/carina-io/carina/blob/main/examples/kubernetes/storageclass.yaml.bcache
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: csi-carina-test
provisioner: carina.storage.io
parameters:
# file system
csi.storage.k8s.io/fstype: xfs
# disk group
carina.storage.io/backend-disk-group-name: carina-raw-ssd/vdd
carina.storage.io/cache-disk-group-name: carina-vg-ssd
# 1-100 Cache Capacity Ratio
carina.storage.io/cache-disk-ratio: "50"
# writethrough/writeback/writearound
carina.storage.io/cache-policy: writethrough
reclaimPolicy: Delete
allowVolumeExpansion: true
# WaitForFirstConsumer表示被容器绑定调度后再创建pv
volumeBindingMode: WaitForFirstConsumer
mountOptions: