vSphere Datastore для определенных типов данных: NFS или iSCSI
Я смотрю на повышение производительности в моей среде vSphere. Мы используем устройство NetApp со всеми виртуальными машинами, хранящимися в хранилищах данных, которые монтируются через NFS.
Мне было предложено, чтобы для некоторых конкретных рабочих нагрузок (таких как данные SQL или файловый сервер) для производительности дискового ввода-вывода было бы лучше использовать iSCSI для данных vHD.
В моем примере загрузочный диск будет обычным VMDK, хранящимся в хранилище данных, подключенном по NFS. Диск D (диск, на котором находятся данные SQL или данные файлового сервера) будет томом, подключенным к iSCSI.
C: - VMDK disk container -> VMFS datastore -> NFS -> NetApp
D: - iSCSI -> NetApp
Я также размышляю: iSCSI инициируется с уровня vSphere или напрямую из Windows?
У кого-нибудь есть опыт или мысли с этим?
3 ответа
Прежде всего, прежде чем заняться хранилищем, вы должны быть на 100% уверены, что ваше узкое место действительно связано с конфигурацией диска / ввода-вывода.
В этом случае ресурс iSCSI может быть быстрее, чем NFS, но только в конкретном сценарии (небольшие случайные пакеты для чтения / записи). SQL-серверы могут быть одним из таких сценариев, поэтому, если вы уверены, что ваша проблема связана с производительностью хранилища, вы можете попробовать использовать общий ресурс iSCSI.
Решение о том, как его настроить, зависит от ваших конкретных потребностей. Для максимальной производительности следует использовать полностью предварительно выделенный том RAW, напрямую подключенный к гостевой ОС. Это дает дополнительное преимущество, заключающееся в том, что конфигурация гостя "автономна" в том смысле, что при переносе этого гостя на другой виртуализатор (даже на основе других технологий) не потребуется перенастраивать общий ресурс iSCSI. (или, самое большее, реконфигурация будет очень ограниченной).
С другой стороны, управление гостевым виртуальным диском на основе блоков, безусловно, является более сложным, и для достижения этой же цели используется ESX, поэтому вам не следует использовать эту настройку, если она действительно не нужна.
Я предлагаю вам сделать несколько тестов, сравнивая каждую конфигурацию, прежде чем приступить к работе.
Я не слышал, что iSCSI лучше, чем NFS для виртуальных машин SQL, однако, если вы решите создать их, я бы создал хранилище данных на уровне ESX, а не установил инициатор iSCSI на виртуальной машине.
Одна вещь, с которой вам нужно быть осторожным, - это тонкая настройка Netapp. То, как они блокируют устройства, отличается. Вы можете найти автономный LUN, если вам доведется настроить его, не готовясь к идеальному шторму невезения. Конфиг, который вы хотите:
- Тонкий объем размером с луну
- Один тонкий лун внутри этого объема
- Vol autogrow настроен на громкость
Максимум, который вы хотите установить для своего автогроу, будет зависеть от того, хотите ли вы сделать снимки этого луна. Если вы это сделаете, вам нужно оценить скорость изменения и позволить тому расти до достаточно большого размера, чтобы он мог обработать наибольшую дельту, которую вы ожидаете, прежде чем удалять снимки.
Вы также хотите быть очень осторожными с настройками lun и igroup - убедитесь, что они настроены на VMWare. Кроме того, вы хотите убедиться, что VAAI включен, чтобы VMWare мог нераспределять нули.
Перво-наперво: если вы хотите улучшить производительность виртуальной машины, вы должны знать, где находится узкое место. Улучшение производительности хранилища не поможет вам, если вашей среде не хватает, например, производительности процессора.
Я не думаю, что изменение вашего протокола хранения с NFS на iSCSI вам очень поможет. Существуют десятки других параметров, которые влияют на производительность вашего хранилища больше, чем протокол.
Если у вас действительно есть проблемы с производительностью в вашем хранилище, рекомендуется воспользоваться рекомендациями Google для VMware Netapp; это должно дать вам достаточно информации.
Кстати, лично я бы не использовал iSCSI внутри виртуальной машины. Если вы хотите переместить виртуальную машину в другой массив хранения, вам придется делать это как в vSphere, так и на уровне ОС. Использование VMDK делает жизнь намного проще.