Я купил Dell Poweredge на местном аукционе, главным образом потому, что это было слишком выгодной сделкой, чтобы отказаться от нее, но у меня есть опыт работы с виртуальными серверами только через AWS и Linode (т.е. я новичок, так что это может не иметь большого смысла. ).
Я планирую установить KVM поверх ubuntu, чтобы развернуть множество виртуальных серверов Linux, чтобы заменить множество моих платных экземпляров VPS, но я не уверен, как лучше всего использовать все ресурсы серверного оборудования. В частности, характеристики: Dell R720, 2x E5-2640, 12 ядер (2,5 ГГц), 1 карта RAID (PERC H710P Mini - Embedded), 128 ГБ ОЗУ, 8,2 ТБ дискового пространства (2 SSD по 185 ГБ каждый; 13 жестких дисков по 558 ГБ каждый).. Из того немногого, что я знаю, похоже, что создание виртуального диска с использованием как SSD, так и HDD не рекомендуется. Лучшим вариантом, о котором я мог подумать, было отказаться от производительности двух SSD и просто использовать все диски для создания одного виртуального диска, затем установить и запустить один экземпляр ubuntu (выбранный произвольно), на котором я устанавливаю KVM, а затем раскручиваю виртуальные серверы через KVM.
Опять же, я не уверен, что я вообще понимаю здесь, но если бы кто-то мог помогите мне найти хороший способ максимально использовать мое оборудование с помощью KVM, Буду признателен.
Изменить: самое близкое, что я мог найти на serverfault, был этот вопрос: может-я-микс-SSD-со шпинделем-жесткими дисками
Edit2: или, может быть, сам KVM предоставляет способы обнаружения, подключения и / или управления аппаратными ресурсами?
Я согласен с тем, что вам не следует смешивать SSD и HDD в одном массиве (контроллеры PERC не даже допускаю, если не ошибаюсь).
Я бы создал два массива: SSD для ОС и кеширования и HDD для хранения необработанных изображений. Я вижу две разные настройки:
В любом случае, воспринимайте приведенное выше только как общие предложения: вы можете (и должны) адаптировать их на основе вашей конкретной избыточности и уровня производительности (которые не описаны в вашем исходном сообщении).
Это полностью зависит от вас в соответствии с вашими требованиями в отношении количества хранилищ, производительности и избыточности.
Вы можете догадаться, что можно назначить несколько виртуальных дисков одной виртуальной машине. Виртуальная машина видит каждый виртуальный диск как отдельный блок (например, / dev / vda и / dev / vdb).
Допустим, ваши виртуальные машины должны иметь производительность SSD для загрузки системы и выполнения программ, а также иметь более медленное, но большее хранилище для хранения файлов (например, медиа).
Вы можете собрать два SSD в массив RAID-1, установить хост-систему на этом массиве. Вы можете выбрать: использовать весь массив для вашей хост-системы и хранить SSD-диски виртуальных машин в каталоге (не рекомендуется) или установить хост-систему в меньшем разделе (как можно меньшем, но с запасом) и использовать оставшееся пространство для другой раздел, смонтированный в / mnt / guest-ssd / (рекомендуется).
Вы можете собрать все жесткие диски в один массив RAID-10 или RAID-5, создать один, но очень большой раздел на массиве RAID и смонтировать его в / mnt / guest-hdd / в качестве примера.
Оба RAID-массива получат выгоду от избыточности. Массив RAID-10 или RAID-5, сделанный из жестких дисков, получит лучшую производительность чтения / записи по сравнению с одним жестким диском.
Первое преимущество этой архитектуры: гостевые диски хранятся в виде файлов в двух разделах / каталогах: / mnt / guest-ssd / и / mnt / guest-hdd /. Образы можно легко перенести для резервного копирования или миграции. Второе преимущество состоит в том, что существует абстракция от реальной емкости жестких дисков. Виртуальные диски в / mnt / guest-hdd / могут быть меньше или больше 558 ГБ.
Недостатком этого сценария является то, что у вас не так много емкости SSD. Если твердотельные накопители находятся в массиве RAID-1, вы получите только 185 ГБ в качестве хранилища SSD для хост-систем и гостевых систем. Это не так много относительно количества виртуальных машин, которые вы можете создать с таким большим объемом оперативной памяти. Между вашими ресурсами может быть несоответствие (RAM, SSD или HDD), но это зависит от ваших потребностей. Если вы хотите создать несколько виртуальных машин для хранения, им потребуется небольшой SSD (только для ОС + NFS / FTP / ...) и большой жесткий диск. Если вам нужно много виртуальных машин с базами данных (много операций ввода-вывода в секунду) или других приложений, интенсивно использующих диск, вам следует заменить два SSD на более крупные и, возможно, заменить несколько жестких дисков на SSD. Или используйте решения для кеширования, предложенные здесь другими людьми.
Зная, что вы можете передавать блочные устройства виртуальным машинам и что массивы RAID представлены хост-системе как блочные устройства, вы можете предоставить своим виртуальным машинам прямой доступ к массиву RAID. ВМ не будет знать о механизме RAID за этим блоком, но этот метод менее гибкий, чем предыдущий: размер блока будет кратен размеру жесткого диска.
Если для одной виртуальной машины требуется носитель (500 ГиБ), вы можете создать массив RAID-1 из 2 жестких дисков и передать этот блок / массив виртуальной машине.
Если для одной виртуальной машины требуется большое хранилище, вы можете построить массив RAID-10 с 4 жесткими дисками, чтобы получить виртуальный диск 1,1 ТиБ с избыточностью и улучшенной производительностью чтения / записи (в 2 раза быстрее по сравнению с одним жестким диском).
Если для одной виртуальной машины требуется хранилище XL, вы можете построить массив RAID-10 с 8 жесткими дисками, чтобы получить блок 2,2 ТиБ с избыточностью и улучшенной производительностью чтения / записи (в 4 раза быстрее по сравнению с одним жестким диском)
Вы можете видеть, что есть больше вариантов, которые нужно сделать, и больше настроек. Существует очень мало сценариев, требующих такой настройки.
или, может быть, сам KVM предоставляет способы обнаружения, подключения и / или управления аппаратными ресурсами?
KVM не управляет хранилищем / дисками на хосте. Libvirt позволяет настраивать пулы хранения (локальные, по сети и т. Д.), Но он не настраивает RAID (аппаратный или программный) и не будет строить вашу архитектуру за вас, он не будет принимать решения вместо вас относительно того, как вы спланируйте свое хранилище, сеть, узлы и другие ресурсы.
С этим зверьком можно только повеселиться, играя с KVM / libvirt;)