Мое название, вероятно, не охватывает всего того, что мне нужно, поэтому я расскажу, чего я хочу достичь.
У меня есть два Linux-сервера с большими дисковыми массивами, несколькими процессорами и большим объемом оперативной памяти. У меня есть то, что будет основным массивом хранения файлов на отдельной RAID-карте от ОС на каждом сервере. Серверы также имеют карту Infiniband 40 Гбит / с для подключения друг к другу и 4-портовую карту LAN 1 Гбит / с для подключения виртуальных машин к сети.
Моя цель такая:
Я хочу избавиться от некоторых старых физических серверов, виртуализируя их функции (с помощью Qemu-KVM). Я хочу, чтобы два больших сервера обрабатывали виртуальные машины, но я хочу иметь возможность их переключать. Не обязательно быть автоматическим. Если в ServerA произойдет сбой оборудования, я хочу иметь возможность войти в ServerB, запустить виртуальные серверы на этой машине и продолжить работу.
Некоторые из физических серверов, которые я хочу виртуализировать, являются файловыми серверами. Я бы хотел, чтобы массивы хранения на больших серверах действовали как своего рода SAN для виртуальных машин, поэтому мне не нужно создавать образ виртуального диска для хранения файлов. Я, конечно, хотел бы, чтобы массив хранения на ServerA должен быть зеркалирован на ServerB, чтобы снова обеспечить отработку отказа.
Я решил использовать что-то вроде Gluster of Ceph для обработки файлового хранилища и зеркалирования виртуальных образов с ServerA на ServerB. Мое замешательство связано с перегрузкой информации. Как виртуальные машины получат доступ к распределенной файловой системе на том же хосте, на котором они работают? Будет ли узкое место? Должен ли виртуальный хост выходить из сетевого адаптера 1 Гбит / с и затем возвращаться обратно, или они могут каким-то образом взаимодействовать внутри? У меня все наоборот?
Я не жду пошагового ответа, но я буду очень признателен за общие рекомендации со ссылками, указывающими мне в правильном направлении.
Для пары узлов ни Ceph, ни ClusterFS не имеют смысла. Придерживайтесь DRBD, и все будет хорошо.
https://www.linbit.com/en/products-and-services/drbd/
Ceph имеет смысл с большим количеством узлов, поскольку вам нужно несколько OSD, чтобы распределить ваши данные между несколькими довольно медленными «строительными блоками». GlusterFS с этой точки зрения немного «лучше», но не кардинально.