Size: a a a

SDS и Кластерные FS

2020 September 25

ВН

Виталий На Заборе... in SDS и Кластерные FS
но не сказать что прям СИЛЬНО тормозит
источник

ВН

Виталий На Заборе... in SDS и Кластерные FS
можно ещё свой таки напилить для проверки, может чуть быстрее будет
источник

k

kvaps in SDS и Кластерные FS
Виталий На Заборе
латенси чуть хуже конечно - fio напрямую получается 0.14мс, а fio через qemu-nbd получается 0.18мс. Q=64 иопсы через qemu-nbd - примерно 45к
оно ещё немного нестабильное, переодически отваливается если юзать постоянно
источник

ВН

Виталий На Заборе... in SDS и Кластерные FS
kvaps
оно ещё немного нестабильное, переодически отваливается если юзать постоянно
отваливается это как?
источник

ВН

Виталий На Заборе... in SDS и Кластерные FS
NBD вообще забавно оказывается сделано - ты типа сам открываешь сокет, сам делаешь хендшейк, а потом просто отдаёшь сокет ядру, дёргаешь ioctl и ядро через него передаёт данные само
источник

ВН

Виталий На Заборе... in SDS и Кластерные FS
то есть таким образом никто не мешает просто сделать socketpair(), один конец отдать ядру, а с вторым работать в юзерспейсе. то есть таки NBD всё-таки практически "block device in userspace" и есть
источник

k

kvaps in SDS и Кластерные FS
на вскидку было что-то подобное
https://github.com/sheepdog/sheepdog/issues/431#issue-324881644
источник

k

kvaps in SDS и Кластерные FS
совершенно точно не стоит юзать nbd over tcp
источник

k

kvaps in SDS и Кластерные FS
в смысле remotely
источник

ВН

Виталий На Заборе... in SDS и Кластерные FS
ну оно локально-то не remotely
источник

ВН

Виталий На Заборе... in SDS и Кластерные FS
фиг знает, NBD по идее дохрена лет. странно, если оно нестабильное
источник

ВН

Виталий На Заборе... in SDS и Кластерные FS
там ещё в хедере лицензия написано GPL 1.0 + syscall note
источник

ВН

Виталий На Заборе... in SDS и Кластерные FS
это ж какого оно года, если лицензия GPL 1.0
источник

DV

Dmitry Vylegzhanin in SDS и Кластерные FS
Плюс nbd, в том что он простой (сервер на питоне в 20 строк), остальное минусы - однопоточный, по tcp..
источник

ВН

Виталий На Заборе... in SDS и Кластерные FS
Dmitry Vylegzhanin
Плюс nbd, в том что он простой (сервер на питоне в 20 строк), остальное минусы - однопоточный, по tcp..
вот именно что он не по tcp. он в ядре реализован так, что ты можешь в него скормить любой сокет
источник

ВН

Виталий На Заборе... in SDS и Кластерные FS
делаешь socketpair и скармливаешь ядру
источник

DV

Dmitry Vylegzhanin in SDS и Кластерные FS
Давно смотрел, может уже и очереди завезли? (>1 запроса в полете?)
источник

ВН

Виталий На Заборе... in SDS и Кластерные FS
Dmitry Vylegzhanin
Давно смотрел, может уже и очереди завезли? (>1 запроса в полете?)
как я понимаю, они с самого начала там были - это в ущербных реализациях серверов их только нет
источник

ВН

Виталий На Заборе... in SDS и Кластерные FS
Dmitry Vylegzhanin
Давно смотрел, может уже и очереди завезли? (>1 запроса в полете?)
ну т.е. там в запросе есть ID запроса. клиент срёт запросами в любом порядке, сервер отвечает в любом порядке
источник

ВН

Виталий На Заборе... in SDS и Кластерные FS
главное чтобы ID сохранялся
источник