Logan
коллеги, есть ли тут те, кто используют ceph rbd (именно rbd) как хранилище для kubernetes?
Михаил
Logan
не создается image. Симптоматика:
- provider создается успешно
- volume создается успешно (ошибок нет)
- claim создается успешно
- при попытке создать контейнер, который будет использовать volume - контейнер вылетает с ошибкой такого вида: Error: MountVolume.SetUp failed for volume [...] with: rbd: image ceph-rbd-pv-test is locked by other nodes
rbd ls не показывает image, так что я подозреваю, что он не создается вовсе
Михаил
давай с простого, глянь логи монитора ceph
Михаил
rbd ls ты же в нужном пуле делаешь?
Logan
я проверял во всех. В логах mon пустота
Михаил
хм
Михаил
- volume создается успешно (ошибок нет)
Михаил
как ты создаешь?
Logan
kubectl create, как обычно. Пример конфига:
kind: PersistentVolume
metadata:
name: ceph-rbd-pv
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
rbd:
monitors:
- 172.16.0.1:6789
pool: kube
image: ceph-rbd-pv-test
user: admin
secretRef:
name: ceph-secret-user
fsType: ext4
readOnly: false
persistentVolumeReclaimPolicy: Recycle
Михаил
я подозреваю проблему с драйверами куба для ceph
попробуй вручную создать вольюм и указать его
емнип это можно сделать
Михаил
ну и да
доступ до монитора по порту 6789 с хоста с кубом у тебя есть?
Logan
есть
Михаил
ок, тогда давай вольюм руками
Logan
как ни странно, создался, но с ухищрением: в качестве фич при создании нужно указать исключительно --image-feature layering
Logan
при этом сам он не создается ни в какую. Это явно проблема драйвера куба, спасибо
Михаил
Mark ☢️
Mark ☢️
Где прочитать за каждую из этих фич ?
Mark ☢️
особенно про производительность
Logan
создать-то вручную можно. Подмонтировать будет нельзя
Logan
этот баг описан вот тут: http://tracker.ceph.com/issues/15448
Михаил
допиши в конфиг ceph rbd_default_features = 12
и всё перезапусти.
оно будет по умолчанию создаваться с параметром layering в таком случае
Logan
это секция global?
Михаил
да
Logan
не сработало
Михаил
а попробуй просто создать, через rbd create без указания feature
Logan
именно так и сделал:
root@app1 ~ # rbd create kube/test2 --size 1G
root@app1 ~ # rbd map kube/test2
rbd: sysfs write failed
RBD image feature set mismatch. You can disable features unsupported by the kernel with "rbd feature disable".
In some cases useful info is found in syslog - try "dmesg | tail" or so.
rbd: map failed: (6) No such device or address
Михаил
что-то тут не так
Михаил
rbd info images/ceph-rbd-pv-test
rbd image 'ceph-rbd-pv-test':
size 10240 MB in 2560 objects
order 22 (4096 kB objects)
block_name_prefix: rbd_data.1d8c1e238e1f29
format: 2
features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
flags:
Logan
root@app1 ~ # rbd create kube/test2 --size 1G
root@app1 ~ # rbd info kube/test2
rbd image 'test2':
size 1024 MB in 256 objects
order 22 (4096 kB objects)
block_name_prefix: rbd_data.34469238e1f29
format: 2
features: exclusive-lock, object-map
flags:
Михаил
ось? как ceph ставил? конфиг на пастебин
Logan
точно 12?
Михаил
ты сколько сейчас поставил?
Logan
Михаил
странно, попробуй 11
Михаил
если нет, то 13
Logan
11 - 2017-04-12 15:54:46.766085 7f7de7942100 -1 librbd: cannot use object map without exclusive lock
Logan
13: rbd image 'test2':
size 10240 kB in 3 objects
order 22 (4096 kB objects)
block_name_prefix: rbd_data.34481238e1f29
format: 2
features: layering, exclusive-lock, object-map
flags:
Михаил
во
Михаил
теперь с кубиком)
Михаил
собственно rbd feature
http://www.zphj1987.com/2016/03/24/ceph%E6%9F%A5%E8%AF%A2rbd%E7%9A%84%E4%BD%BF%E7%94%A8%E5%AE%B9%E9%87%8F%EF%BC%88%E5%BF%AB%E9%80%9F%EF%BC%89/
Mike
Разрабы используют coverty. В рассылке каждую неделю письмо с отчетом.
Mike
Кто хоть раз удалял rbd image на несколько терабайт, очень хочет иметь включенными fastdiff и object map
Pavel
Pavel
Особенно весело на несколько десятков ТБ. Поставил на удаление и домой пошел
Михаил
Pavel
При удалении имеджа не слишком
Pavel
Вот при удалении снапшота пиздец
Logan
Михаил
Михаил
https://www.sebastien-han.fr/blog/2015/07/06/ceph-enable-the-object-map-feature/
Pavel
Man rbd же
Михаил
на те сэба)
Михаил
на китайском просто табличка полезная
Михаил
более полная
Михаил
Pavel
Там у китайцев, насколько я помню, еще journaling не указан (64)
Михаил
Dmitry
Dmitry
Базы на кюкоу сосут хуйца
Dmitry
Тут написано почему сосут
Dmitry
У нас базы, которые живут только на ссд
Dmitry
В кюкоу там было ощутимо медленнее
Dmitry
Цифер не будет - я лев толстой
Dmitry
Но самому проверить не сложно
Mark ☢️
Прост цеф и так умеет в спарсе образы и снапшоты. Нах кукоу нужен ? Вот в чем дело
Vlad
Mark ☢️
Dmitry
Мы сделали тебе возможность делать снапшот пока снапшотятся снапшоты