Мы планируем создать решение NAS, которое будет в основном использоваться через NFS и CIFS и с различными рабочими нагрузками, от различных архивных приложений до более «обработки в реальном времени». NAS не будет использоваться в качестве блочного хранилища для виртуальных машин, поэтому доступ действительно всегда будет файловым.
Мы рассматриваем в первую очередь два дизайна, и я хотел бы попросить вас поделиться любыми мыслями, взглядами, идеями, опытом.
Обе конструкции используют «программное обеспечение распределенного хранения на определенном уровне». Оба проекта будут построены на базе обычных серверов и будут масштабироваться по мере нашего роста. Обе конструкции включают виртуализацию для создания экземпляров «виртуальных машин доступа», которые будут обслуживать протоколы NFS и CIFS, поэтому в этом смысле уровень доступа отделен от самого уровня данных.
Первый дизайн основан на распределенной файловой системе, такой как Gluster или CephFS. Мы развернем это программное обеспечение на этих обычных серверах и смонтируем полученную файловую систему на «виртуальных машинах доступа», и они будут обслуживать смонтированную файловую систему через NFS / CIFS.
Второй вариант основан на распределенном блочном хранилище с использованием CEPH. Таким образом, мы бы построили распределенное блочное хранилище на этих обычных серверах, а затем с помощью виртуализации (например, OpenStack Cinder) выделили бы блочное хранилище в виртуальной машине доступа. Внутри виртуальной машины доступа мы развернем ZFS, которая объединит блочное хранилище в единую файловую систему. И эта файловая система будет обслуживаться через NFS / CIFS с той же самой виртуальной машины.
Мы высоко ценим любые советы и идеи. Я также должен сказать, что мы внутренне склонны к подходу «монстр-ВМ» из-за кажущейся более простой архитектуры (распределение данных на уровне блоков, а не на уровне файловой системы).
Ура, Према
Первый дизайн:
Gluster + (NFS ИЛИ GaneshaNFS) в кластере
Нет доступа к ВМ. В этом случае Gluster имеет более простую архитектуру, чем CephFS. В Gluster есть несколько правил относительно добавления узлов и емкости. Это нормально, просто спланируйте это с самого начала.
Второй дизайн:
Если ваша цель - иметь виртуальную машину с единым доступом для обеспечения NFS / CIFS, Linux может смонтировать Ceph как блочное устройство. Итак, у вас есть такой стек:
NFS / CIFS в Linux - Ceph RBD
Если вам требуется HA для доступа к виртуальной машине, добавьте кластер HA:
NFS / CIFS в Linux HA-кластере - Ceph RBD
Или вместо Ceph RBD вы можете использовать Шлюз Ceph iSCSI.
Что следует учитывать: