Size: a a a

Ceph — русскоговорящее сообщество

2020 June 25

ВН

Виталий На Заборе... in Ceph — русскоговорящее сообщество
Vyacheslav Olkhovchenkov
при этом
root@ceph-01:~# diff -u original.txt adjusted.txt
--- original.txt        2020-06-25 18:35:12.618730103 +0000
+++ adjusted.txt        2020-06-25 18:32:59.136606925 +0000
@@ -32,15 +32,15 @@

# buckets
host ubuntu-s-2vcpu-4gb-fra1-ceph-01 {
-       id -3           # do not change unnecessarily
-       id -4 class hdd         # do not change unnecessarily
+       id -15          # do not change unnecessarily
+       id -3 class hdd         # do not change unnecessarily
       # weight 0.000
       alg straw2
       hash 0  # rjenkins1
}
host ubuntu-s-2vcpu-4gb-fra1-ceph-02 {
-       id -5           # do not change unnecessarily
-       id -6 class hdd         # do not change unnecessarily
+       id -14          # do not change unnecessarily
+       id -5 class hdd         # do not change unnecessarily
       # weight 0.080
       alg straw2
       hash 0  # rjenkins1
@@ -48,8 +48,8 @@
       item osd.3 weight 0.040
}
host ubuntu-s-2vcpu-4gb-fra1-ceph-03 {
-       id -7           # do not change unnecessarily
-       id -8 class hdd         # do not change unnecessarily
+       id -13          # do not change unnecessarily
+       id -7 class hdd         # do not change unnecessarily
       # weight 0.080
       alg straw2
       hash 0  # rjenkins1
@@ -57,8 +57,8 @@
       item osd.5 weight 0.040
}
host ceph-01 {
-       id -9           # do not change unnecessarily
-       id -10 class hdd                # do not change unnecessarily
+       id -12          # do not change unnecessarily
+       id -9 class hdd         # do not change unnecessarily
       # weight 0.080
       alg straw2
       hash 0  # rjenkins1
@@ -66,8 +66,8 @@
       item osd.0 weight 0.040
}
root default {
-       id -1           # do not change unnecessarily
-       id -2 class hdd         # do not change unnecessarily
+       id -11          # do not change unnecessarily
+       id -1 class hdd         # do not change unnecessarily
       # weight 0.240
       alg straw2
       hash 0  # rjenkins1
@@ -83,7 +83,7 @@
       type replicated
       min_size 1
       max_size 10
-       step take default
+       step take default class hdd
       step chooseleaf firstn 0 type host
       step emit
}
Ну вот, да. Прикольно, что есть автоматика, не знал)
источник

VO

Vyacheslav Olkhovche... in Ceph — русскоговорящее сообщество
edo1
а в чём именно нжинкс проиграл? (тест был на пропускную способность или на процент хитов?)
на пропускную способность. брался достаточно слабый сервак, 10Г сетка и дальше смотрелось на каком размере объекта какая загрузка CPU (что бы засрать всю 10Г сеть) или сколько сумеет засрать (при 100% загрузке CPU). nginx нагружал cpu больше, ну или засирал меньше.

разница впрочем была не очень большая, процентов 25% кажется.
у меня вообще все записанно и даже стоит в обсуждении доклада на hl++.
источник

VO

Vyacheslav Olkhovche... in Ceph — русскоговорящее сообщество
Виталий На Заборе
Ну вот, да. Прикольно, что есть автоматика, не знал)
т.е. такое изменение id -- это без разницы?
источник

ВН

Виталий На Заборе... in Ceph — русскоговорящее сообщество
Vyacheslav Olkhovchenkov
т.е. такое изменение id -- это без разницы?
Так как раз же. У тебя старые id без класса равны новым с классом
источник

ВН

Виталий На Заборе... in Ceph — русскоговорящее сообщество
Выбирались без класса, стали выбираться с классом
источник

ВН

Виталий На Заборе... in Ceph — русскоговорящее сообщество
То есть выбирались и стали выбираться одни и те же
источник

ВН

Виталий На Заборе... in Ceph — русскоговорящее сообщество
Вот ребаланса и нет
источник

VO

Vyacheslav Olkhovche... in Ceph — русскоговорящее сообщество
edo1
ни разу не встречал на DC дисках.
ну а куда они денутся? не вечные же они.
у меня на l2arc вырабатывалось пачками, на интервалах 3+ лет.
в общем я ssd считаю расходником.
источник

e

edo1 in Ceph — русскоговорящее сообщество
не вечные. но просто так не дохнут (дохнут, но редко). и ресурс выбрать обычно постараться надо (тем более, что он обычно с хорошим запасом указан). если, конечно, не брать диски с 0.3 DWPD под нагрузку 3 DWPD
источник

e

edo1 in Ceph — русскоговорящее сообщество
Vyacheslav Olkhovchenkov
на пропускную способность. брался достаточно слабый сервак, 10Г сетка и дальше смотрелось на каком размере объекта какая загрузка CPU (что бы засрать всю 10Г сеть) или сколько сумеет засрать (при 100% загрузке CPU). nginx нагружал cpu больше, ну или засирал меньше.

разница впрочем была не очень большая, процентов 25% кажется.
у меня вообще все записанно и даже стоит в обсуждении доклада на hl++.
ссыль можно?
источник

VO

Vyacheslav Olkhovche... in Ceph — русскоговорящее сообщество
Виталий На Заборе
То есть выбирались и стали выбираться одни и те же
а. т.е. хотя у меня osd и были исходно размеченны классом hdd, но из-за того что правило было без класса -- выбирались без классовые?

а после того как я поменял правило на классовое, то стало выбраться хоть и тоже самое, но классовое, и хоть раньше был бы другой id, но сейчас id подправлены так что бы ничего не изменилось.

а все правильно понял?
источник

VO

Vyacheslav Olkhovche... in Ceph — русскоговорящее сообщество
edo1
ссыль можно?
публично не доступно.
источник

e

edo1 in Ceph — русскоговорящее сообщество
ну и ладно, меня процент хитов интересует больше, мест, где nginx упирается в проц, у меня нет )
источник

VO

Vyacheslav Olkhovche... in Ceph — русскоговорящее сообщество
процент хитов мне было не протестирвать, да и было мне не актуально. вообще тут заруба-то была что у nginx типа потребление cpu в разы меньше
источник

VO

Vyacheslav Olkhovche... in Ceph — русскоговорящее сообщество
с хитами возможно лучше тебе varnish смотреть, там можно такого наворотить
источник

VO

Vyacheslav Olkhovche... in Ceph — русскоговорящее сообщество
но они все расчитаны на то, что кеш хранится в памяти, а не на диске.
источник

ВН

Виталий На Заборе... in Ceph — русскоговорящее сообщество
Vyacheslav Olkhovchenkov
а. т.е. хотя у меня osd и были исходно размеченны классом hdd, но из-за того что правило было без класса -- выбирались без классовые?

а после того как я поменял правило на классовое, то стало выбраться хоть и тоже самое, но классовое, и хоть раньше был бы другой id, но сейчас id подправлены так что бы ничего не изменилось.

а все правильно понял?
Осд выбирались из одного и того же множества. Но выбор в краше иерархический, сначала выбирает бакет. Выбирает, считая хеш от имени объекта + id бакета и умножая на вес бакета. Это дает консистентность хеша. Но эта консистентность, соответственно, ломается, если id бакета меняется
источник

ВН

Виталий На Заборе... in Ceph — русскоговорящее сообщество
Vyacheslav Olkhovchenkov
а. т.е. хотя у меня osd и были исходно размеченны классом hdd, но из-за того что правило было без класса -- выбирались без классовые?

а после того как я поменял правило на классовое, то стало выбраться хоть и тоже самое, но классовое, и хоть раньше был бы другой id, но сейчас id подправлены так что бы ничего не изменилось.

а все правильно понял?
Но примерно, короче, да
источник

ВН

Виталий На Заборе... in Ceph — русскоговорящее сообщество
А ты сделал что да, id остались те же, хоть и стали выбираться классовые бакеты
источник

VO

Vyacheslav Olkhovche... in Ceph — русскоговорящее сообщество
Виталий На Заборе
Осд выбирались из одного и того же множества. Но выбор в краше иерархический, сначала выбирает бакет. Выбирает, считая хеш от имени объекта + id бакета и умножая на вес бакета. Это дает консистентность хеша. Но эта консистентность, соответственно, ломается, если id бакета меняется
а вот на продакшене там id бакетов поменялись, если я правильно понимаю. тул правда говорит что ничего не изменится, но я пока ничего не риемнял
источник