У меня есть простая виртуальная лаборатория KVM, в которой в качестве серверной части хранилища используется Synology. Первоначально я просто работал с простой моделью хранения, где каждая цель указывает на один LUN, который используется одной гостевой виртуальной машиной. Но затем я столкнулся с лимитом Synology (для моей относительно недорогой модели) в 10 общих целей и 10 общих LUN.
Итак, есть ли разумный способ обойти это? Мне понадобится несколько серверов, использующих один и тот же iSCSI LUN. Это возможно? Если да, то как, и широко ли это используется?
Если вам действительно нужна живая миграция и настоящая высокая доступность, одного устройства Synology просто недостаточно. В вашем случае это превратилось бы в единую точку отказа. Кроме того, Synology - отличное решение для хранения резервных копий или использования файлового сервера, но на самом деле оно не подходит для основного производственного хранилища.
Существует множество программно-определяемых решений, которые могут помочь вам создать надлежащее избыточное хранилище для вашего кластера. Например, вы можете взять пару хостов гипервизора, заполнить их необходимым объемом хранилища и использовать что-то из этого списка:
HPE VSA - Решение для хранения высокой доступности на базе Linux. Требуется 2 физических узла и 1 свидетель.
StarWind Virtual SAN - Решение для хранения высокой доступности на базе Windows. Требуется 2 узла.
Unity VSA - Решение для хранения высокой доступности на базе Linux. Требуется 3 узла.
Для всех вышеперечисленных решений также доступны бесплатные версии.
Вместо того, чтобы создавать кластер высокой доступности с нуля с помощью KVM, DRBD, cLVM и Pacemaker (или чего угодно, что вам больше нравится), я бы порекомендовал вам взглянуть на Citrix XenServer который является бесплатным и имеет большинство необходимых функций, которые уже предустановлены и готовы к использованию.
Если вы хотите использовать блочные устройства с iSCSI для KVM, обойдите это ограничение и при этом сохраните простоту, вы можете использовать LVM2.
Если вам не нужно разделять логические тома между гипервизорами, вы можете сделать это с помощью ванильного LVM2 (без кластеризации через cLVM). Используя это, вы должны предоставить один LUN большего размера для каждого гипервизора и присоединить его к новой «группе томов» через vgcreate
команду или путем определения пулов через libvirt. Группа томов служит эластичным пулом хранения для каждого гипервизора, обеспечивая логические тома, которые ведут себя как разделы с дополнительными функциями, такими как возможность перемещения или изменения размера без особых усилий.
В интересах дедупликации усилий это Руководство администратора хранилища RHEL подробно описано, как это сделать с помощью обычных графических средств и оболочки через virsh
.