Как запустить MySQL (или другую базу данных) на Ceph, используя KRBD?
Спасибо за чтение моих вопросов!
Я хочу запустить MySQL на Ceph, используя KRBD, потому что KRBD работает быстрее, чем librbd. И я знаю, что KRBD - это модуль ядра, и мы можем использовать KRBD для монтирования устройства RBD в операционных системах.
Это простой в использовании инструмент командной строки для установки устройства RBD в операционной системе. Есть ли другие способы использования модуля RBD, такие как изменение интерфейса ввода-вывода MySQL с помощью интерфейса krbd?
Я увидел krbd.h и обнаружил, что есть несколько функциональных интерфейсов. В то время как librdb предлагает нам множество интерфейсов, таких как создание, клонирование устройства RBD.
И я хочу проверить, что моя гипотеза не оправдалась:
1. Librbd предоставляет более богатые интерфейсы, чем krbd, и некоторые функции не могут быть реализованы через krdb.
2. Приложения могут использовать krbd только через инструмент командной строки вместо интерфейсов кода.
Большое спасибо!!!
//interfaces in krbd.h
int krbd_create_from_context(rados_config_t cct, struct krbd_ctx **pctx);
void krbd_destroy(struct krbd_ctx *ctx);
int krbd_map(struct krbd_ctx *ctx, const char *pool, const char *image,
const char *snap, const char *options, char **pdevnode);
int krbd_is_mapped(struct krbd_ctx *ctx, const char *pool, const char *image,
const char *snap, char **pdevnode);
int krbd_unmap(struct krbd_ctx *ctx, const char *devnode,
const char *options);
int krbd_unmap_by_spec(struct krbd_ctx *ctx, const char *pool,
const char *image, const char *snap,
const char *options);