Эта проблема
У нас есть проблема с производительностью на существующей платформе, поэтому я обращаюсь к коллективу, чтобы получить второе мнение по этому поводу. Пока проблема производительности связана с IOPS, а не с пропускной способностью.
Сценарий
Блейд-центр из 16 хостов, каждый с 64 ГБ оперативной памяти. (Это Dell M1000e с M610s, но это, вероятно, не актуально) 500 виртуальных машин, все веб-серверы (или связанные с ними веб-технологии, такие как MySQL, балансировщики нагрузки и т. Д.), Около 90% - это Linux, а остальные - Windows. Гипервизор - это VMWare vSphere. Нам нужно предоставить хосту HA, поэтому локальное хранилище отсутствует. Таким образом, у хостов просто есть SD-карта для загрузки.
Немного фонового мышления
В настоящее время у нас есть до 6 хостов (при текущем росте блейд-центр выйдет на полную мощность через несколько лет), и мы запускаем iSCSI на Dell MD3220i с MD1220 для расширения.
Возможные варианты, которые мы рассмотрели, и ближайшие мысли вместе с ними:
Вопрос
Какое хранилище вы бы использовали под всем этим? Ему не нужно было масштабироваться до другого блейд-центра, просто нужно было бы обеспечить относительно хорошую производительность для всех этих виртуальных машин.
Я не ищу ответов «Покупайте SAN x, потому что это лучший». Я ищу мысли о различных технологиях SAN (iSCSI, FC, FCoE, InfiniBand, NFS и т. Д.), Различных типах хранилищ (SATA, SAS, SSD) и методологиях управления хранилищем для сотен виртуальных машин (консолидация, разделение , Шардинг и т. Д.).
Приветствуются абсолютно любые мысли, ссылки, руководства, указатели и т.д. Я также хотел бы услышать мысли о вышеупомянутых вариантах, которые мы уже рассмотрели.
Большое спасибо за любой вклад!
Обновление от 5 марта 2012 г.
Некоторые фантастические отзывы, большое спасибо всем!
Судя по ответам на этот вопрос, я начинаю думать, что следующий путь - это путь:
Это определенно звучит так, как будто стоило бы воспользоваться предпродажными услугами крупного поставщика SAN, чтобы получить их представление о сценарии.
Я собираюсь еще некоторое время рассматривать эту проблему. Тем временем с благодарностью получил больше никаких советов!
Ключом к хорошей платформе хранения VMWare является понимание того, какую нагрузку создает VMWare.
Лучший способ подойти к созданию хранилища для платформы VMWare - начать с основ.
Мои большие развертывания VMWare - это NFS и iSCSI через 10GbE. Это означает, что на серверах установлены двухпортовые адаптеры шины 10GbE, а также в головке хранилища. Для этого я фанат хранилища на основе ZFS. В моем случае это коммерческое NexentaStor, но некоторые предпочитают катить самостоятельно.
Ключевыми особенностями хранилища на основе ZFS в этом контексте будут функции кэширования ARC / L2ARC, позволяющие располагать хранилище по уровням. Наиболее активные данные попадают в ОЗУ и SSD-накопители в качестве второго уровня. Также было бы полезно запустить основной пул хранения с дисками SAS 10 или 15 КБ.
Это еще один случай профилирования и понимания вашей рабочей нагрузки. Поработайте с кем-то, кто может проанализировать ваши схемы хранения и помочь вам спланировать. Со стороны ZFS / NexentaStor мне нравится PogoStorage. Без такого понимания метод передачи (FC, FCoE, iSCSI, NFS) может не иметь значения. Есть ли у вас мониторинг существующей инфраструктуры? Как теперь выглядит активность ввода-вывода?
Ключевой вопрос: «где узкое место?» Вы упоминаете IOPS, но означает ли это, что вы положительно определили, что сами диски являются узким местом, или просто порты SAN не работают на полную мощность, или что виртуальные машины находятся в гораздо большем количестве iowait, чем вам хотелось бы?
Если вы определенно определили, что диски являются ограничивающим фактором, то переход на NFS или бесконечную полосу или что-то еще не принесет вашей производительности - вам нужны твердотельные накопители (или, по крайней мере, многоуровневое хранилище с твердотельными накопителями в смеси) или целая пачка шпинделей (решение, которое само по себе стало намного дороже в последнее время, так как мировое производство шаговых двигателей было смыто океаном).
Однако, если вы не на 100% уверены, где на самом деле находится узкое место, вам нужно сначала найти это - замена частей вашей инфраструктуры хранения более или менее случайным образом на основе предположений других людей здесь не будет очень эффективен (особенно с учетом того, насколько дорогими будут внесения любых изменений).
Если вам нужен iscsi или nfs, то, как минимум, вам понадобится несколько портов 10/40 ГБ или Infiniband, что на сегодняшний день является самым дешевым вариантом, но собственные решения для хранения данных для Infiniband кажутся ограниченными. Проблема будет в модуле bladecenter, каковы его параметры, обычно 8gb fc или 10 \ 1gbe и, возможно, infiniband. Обратите внимание, что infiniband может использоваться с nfs, и ничто не приближается к нему с точки зрения производительности \ цены. если блейд-центр поддерживает qdr infiniband, я бы сделал это с каким-либо хостом linux с qdr infiniband tca через nfs. Вот хорошая ссылка, описывающая это http://www.zfsbuild.com/2010/04/15/why-we-chose-infiniband-instead-of-10gige
но если bladecenter может поддерживать qdr infiniband, и вы можете позволить себе собственный infiniband, то это решение, которое вам следует выбрать.
В настоящее время вы можете получить коммутаторы на 40 ГБ намного дешевле (это странная мысль), чем коммутаторы на 10 ГБ, но я сомневаюсь, что ваш центр лезвий будет поддерживать это.
Локальное хранилище отсутствует? Я вполне доволен пропускной способностью записи на моем локальном RAID 5 - зеркалировании с DRBD8 на кластер-партнер моей XEN-машины ... (но это, конечно, «не поддерживается»).
Кроме того, я совершенно уверен, что mySQL - это ваша проблема с производительностью (я никогда не видел худшей БД). Попробуйте настроить его и / или попробуйте поместить всю БД в кеш файловой системы (для доступа для чтения) ...