В настоящее время у нас установлено 6 физических хост-компьютеров с Proxmox VE. На этих хостах запущено несколько виртуальных машин. В основном Windows Server 2008 R2. Хосты представляют собой блейд-серверы Intel с центральным хранилищем RAID5 и имеют доступ к Intel Shared LUN. Центральное хранилище физически связано с одним из блейд-серверов и содержит все образы дисков виртуальных машин. Образы дисков этих виртуальных машин доступны для виртуальных машин через центральное хранилище NFS. Поскольку этот NFS-хост - это всего лишь одна машина, мы непреднамеренно создали единую точку отказа. Например, если NFS-хост не может запуститься по какой-либо причине, все виртуальные машины не смогут получить доступ к своим дискам и не будут работать.
Главный вопрос заключается в том, как и с помощью какого программного обеспечения преобразовать это местоположение NFS-хранилища в избыточное, возможно, синхронизирующееся с другим устройством хранения, не нанося никакого вреда существующим образам дисков ВМ. Это может быть отказоустойчивая система, когда один NFS-хост отключен, а другой NFS-хост берет на себя управление. Какое решение было бы оптимальным для устранения этого SPoF?
Резервный NFS (по сути, любой избыточное хранилище) нетривиально.
Планируйте потратить на это много времени (и капитала), если вы действительно хотите, чтобы все работало хорошо.
Обычно вам доступны два варианта:
Это самый быстрый (и обычно самый дорогой) вариант. Выберите поставщика, который делает запоминающее устройство с функциями резервирования, отвечающими вашим потребностям, дайте ему кредитную карту компании и постарайтесь не пролить слезы на счет-фактуру.
Два основных преимущества этого маршрута заключаются в том, что он быстрый (вы получаете готовое решение, которое можно просто развернуть, следуя руководству), и он поддерживается (если у вас есть проблема, вы звоните поставщику и кричите, пока он не исправит ее).
На этом сайте есть хорошая схема создания избыточного кластера iSCSI / NFS с использованием Debian Linux.. Это с 2009 года, но принципы верны.
Конкретные пошаговые инструкции по созданию такой среды выходят за рамки Server Fault, но я могу дать вам приблизительный обзор того, что вам понадобится:
Создание собственного избыточного хранилища обычно занимает больше времени, чем решение от поставщика, и вы сами поддерживаете его (что означает, что вам нужно хорошо разбираться в задействованной технологии).
Основными преимуществами являются стоимость (часто вы можете создать среду дешевле, чем решения, предоставляемые поставщиком) и гибкость (вы можете адаптировать решение в соответствии со своими потребностями и интегрировать его с другими частями вашей среды, например, с вашей системой резервного копирования).
Тебе понадобится план тестирования * перед запуском в производство.
В идеале он должен быть у вас еще до того, как вы начнете сборку (знание того, от каких сбоев вы защищаетесь, поможет вам спроектировать свою систему).
Ваша цель в тестировании - продемонстрировать, что наихудшее сочетание сбоев не приведет к потере данных (и, в идеале, не вызовет сбоя из-за недоступности хранилища).
Вы не можете найти или протестировать каждый возможный сценарий отказа, но запишите все, что вы можете придумать, и обязательно протестируйте их. Вы не хотите ждать первого дня использования в реальном времени, чтобы обнаружить, что потеря одного диска на резервной машине может привести к сбою основного - в этот момент уже слишком поздно исправлять.