Anton
# cat ceph.conf [global] fsid = 18094459-4e66-4053-9ce8-67795ce08b3f run dir = /var/lib/rook/rook-ceph-mon2 mon initial members = rook-ceph-mon2 rook-ceph-mon3 rook-ceph-mon4 mon host = 10.233.14.36:6790,10.233.37.79:6790,10.233.30.26:6790 log file = /dev/stdout mon cluster log file = /dev/stdout public addr = 10.233.14.36 cluster addr = 10.233.100.233 mon keyvaluedb = rocksdb mon_allow_pool_delete = true mon_max_pg_per_osd = 1000 debug default = 0 debug rados = 0 debug mon = 0 debug osd = 0 debug bluestore = 0 debug filestore = 0 debug journal = 0 debug leveldb = 0 filestore_omap_backend = rocksdb osd pg bits = 11 osd pgp bits = 11 osd pool default size = 1 osd pool default min size = 1 osd pool default pg num = 100 osd pool default pgp num = 100 rbd_default_features = 3 fatal signal handlers = false [client.admin] keyring = /var/lib/rook/rook-ceph-mon2/keyring
Anton
это на монах
Anton
на osd подах чо-то нет такого конфига
Anton
# ls -1 /etc/ceph rbdmap
Aleksey
что за процессы на подах с осд?
Aleksey
может конфиг передан через аргумент
Anton
там довольно длинный список, выглядит как процессы с самой ноды
Anton
потому что там и nginx, и чего только нет
Anton
я вот что заметил. В конфиге мона (выше): public addr = 10.233.14.36 cluster addr = 10.233.100.233
Aleksey
ищи что-то вроде /usr/bin/ceph-osd
Aleksey
там полюбому должны быть адреса монов
Vadim
conn(0x558ff8a52800 :6790 s=STATE_ACCEPTING_WAIT_BANNER_ADDR pgs=0 cs=0 l=0)._process_connection accept peer addr is really 10.233.102.128:0/4132407686 (socket is -) выглядит странно, подозреваю что у вас нет hostNetwork: true
Anton
что тебя смущает?
я где-то находил в параметрах цеф процессов, что public и cluster ip совпадают и они равны cluster addr
Anton
я в конфиге мона они разные
Aleksey
я в конфиге мона они разные
паблик- это сеть по которой клиенты ходят в ОСД и моны класте- используется для репликации и прочего
Vadim
а зачем hostnetwork ему?
не знаю, но с hostnetwork у меня работает
Aleksey
я в конфиге мона они разные
а какие IP есть у подов?
Anton
https://pastebin.com/8cq5NePH — список процессов osd
Anton
а какие IP есть у подов?
rook-ceph-mon2-shqz7 10.233.100.233 rook-ceph-mon4-n8rnr 10.233.72.171 rook-ceph-mon5-ljqgp 10.233.102.210 rook-ceph-osd-id-0-6d4fcb9c4-8mt9b 10.233.72.134 rook-ceph-osd-id-1-6cd588475c-7g5m9 10.233.102.218 rook-ceph-osd-id-2-785b48995-tp45g 10.233.100.245
Anton
еще есть сервисы
Aleksey
что вот тут? /var/lib/rook/osd2/rook-ceph.config
Aleksey
это адрес сервиса? 10.233.14.36
Anton
$ kubectl -n rook-ceph get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE rook-ceph-mgr ClusterIP 10.233.5.141 <none> 9283/TCP 68d rook-ceph-mgr-dashboard ClusterIP 10.233.55.224 <none> 7000/TCP 68d rook-ceph-mon2 ClusterIP 10.233.14.36 <none> 6790/TCP 68d rook-ceph-mon4 ClusterIP 10.233.30.26 <none> 6790/TCP 2d rook-ceph-mon5 ClusterIP 10.233.26.179 <none> 6790/TCP 1d
Aleksey
так а чего у вас адреса монов разнрые ?
Aleksey
стоп а почему у мона другие ip в конфиге?
Aleksey
ебать они наркоманы
Anton
mon host — это?
Aleksey
т.е. по сервису для монитора, да ещё у каждого мона в конфиге прописан ip сервиса соседнего мона, а свой прямой
Aleksey
ну тогда надо смотреть почему osd не репортит в mon что она хорошая и готова работать
Anton
mon initial members = rook-ceph-mon2 rook-ceph-mon3 rook-ceph-mon4 mon host = 10.233.14.36:6790,10.233.37.79:6790,10.233.30.26:6790вот это вот не совпадает на 100% с реальным положением дел
Aleksey
совпадает
Anton
3-его нет уже, есть 5-й
Aleksey
ну тогда я не знаю
Aleksey
херня какая-то
Anton
я попробую актуализировать этот конфиг вручную
Vadim
оператор вообще-то это должен делать, но без хостнетворка (чтобы эти самые ipшники не менялись) у меня не поднялось
Vadim
думаете просто так рук ругали? :)
Zhyhanov
Ребят, как можно отловить проблему, есть деплойментс и сделан сервис с NodePort, и приходя по порту который пробросил в svc, на любой айпишник с кластера он откликается по порту кроме одной ноды
Zhyhanov
и что самое странное что до этого работало
Aleksey
думаете просто так рук ругали? :)
да конечно же не просто так, но было интересно 🙂 тут просто ceph поднять уже приключение, а в куб его запихивать надо быть отмороженым
Aleksey
ну ладно, поднять просто, нормально его эксплуатировать
Anton
а чем нужно пользоваться для стораджа (на bm, конечно)?
Gleb
сторадж не нужон
Семён
если печёт - стройте кластер ceph рядом с кубернетесом
Семён
и не смешивайте
Aleksey
а чем нужно пользоваться для стораджа (на bm, конечно)?
поставь просто ceph и уже мучайся с ним
Семён
взбалтывать можно
Aleksey
но перед взбалтыванием лучше сделать бэкапы 🙂 и да за size 2 min-size 1 можно гореть в аду
Семён
Anton
это дефолты rook'а ?
я ничего не трогал
Aleksey
это дефолты rook'а ?
я не знать, рук не трогать . Но любители цефа на коленках любят 2-1
Anton
актуализация конфигов не помогла
Anton
если печёт - стройте кластер ceph рядом с кубернетесом
в смысле печет? ну вот приложению нужно хранить какие-то данные. Не много, базу тащить нет смысла. Приложение обучено писать их на диск в файл. Приложение может умереть или переехать на другую ноду вследствие потери ноды. Кейсы, вобщем-то, простые и ежедневные.
Aleksey
актуализация конфигов не помогла
реально попробуй с осд-пода сделать телнет на мон по 6790
Aleksey
# telnet 10.233.14.36:6790 ceph v027 $
выглядит хорошо, ну проверь на всякий тогда ключи
Anton
а как?😳
Andor
думаете просто так рук ругали? :)
Как обычно, проблема не в руке, а в руках
Aleksey
ceph auth list и что лежит в ключе /var/lib/rook/osd2/keyring
Vadim
Как обычно, проблема не в руке, а в руках
ну какбы с их стороны было бы неплохо подпилить дефолты и добавить документации - но им-то тоже хочется кушать
Михаил
Как обычно, проблема не в руке, а в руках
Есть категория решений, которые можно сравнить с обоюдоострым ножем без рукояти. С одной стороны то что бы порезался говорит о твоих кривых руках, другой вопрос нахуй ты вообще пытался что-то делать таким ножиком? Что не отменяет факта его успешного применения другими людьми.
Anton
был бы где ножик с рукояткой, а еще лучше ножницы
Anton
Могу тебе продать s3
"приложение обучено писать в файл"
Михаил
"приложение обучено писать в файл"
А зачем вы пытаетесь накрыть легаси кубом?
Anton
ceph auth list и что лежит в ключе /var/lib/rook/osd2/keyring
1. в кейринге одного из мон-подов ключ из секции client.admin совпадает с ключом той же секции вывода ceph auth list 2. ключ из секции mon кейринга, на совпадает ни с одним ключом вывода ceph auth list
Aleksey
админ это админ, а вот у каждой сущности: мон, осд, юзер должен быть свой кейринг
Anton
# cat keyring [mon.] key = <redacted> caps mon = "allow *" [client.admin] key = <redacted> auid = 0 caps mds = "allow" caps mon = "allow *" caps osd = "allow *" caps mgr = "allow *"
Anton
это на моне
Aleksey
нужен на осд
Aleksey
что-то у себя в древнем цефе не вижу ключей для мона, хотя вроде в люминусе они были….
Aleksey
хотя вот тут тоже их в выводе нет: http://docs.ceph.com/docs/mimic/rados/operations/user-management/