Решили мы в компании перейти на серьёзные рельсы, чтобы всё «как у взрослых». NAS, SAN, FibreChannel и Hyper-V. Закупили оборудование, собрали, поставили и… упёрлись в проблему.
Если кратко, то проблема в производительности дискового хранилища — она плавает и падает до очень низкой.
Если полно, то читайте далее:
Итак дано:
2 шт NAS IBM DS3512 укомплектованные 12ю дисками SAS 15k на 600Гб каждый, маркированными как IBM (в реале вроде бы произведены Seagate и предназначенными именно для этой модели NAS). Так же в каждый NAS установлено по две (2 шт) карты FibreChannel 8Gbit, на 4 порта каждая. В железяке 2 «головы», имеющих независимый доступ к дискам, и соответственно по карте FC на каждую.
2 шт SAN FibreChannel Switched Fabric IBM SAN24B-5 так же с портами на 8Gbit.
3 шт сервера IBM 3550 M4 7414-F2G. В каждый сервер установлено по FibreChannel карте производства Qlogic на 2 порта 8Gbit. Внутри тоже SAS винты.
Всё фирменное, совместимое, собранное по рекомендациям лучших собаководов и вендоров.
На NAS-ах из всех 12-и винтов собран RAID5 и презентован в SAN. На RAIDе создан 4Тб раздел (GPT, NTFS) и пара разделов поменьше.
На серверах сейчас стоит Windows 2012 Server (180-trial). Драйвера ко всем железкам самые свежие, с офф.сайта IBM.
Для простоты картины будем рассматривать один сервер, один switch, и один NAS. Всё остальное в эксперименте не учавствует.
Тест:
Берём объемный файлик, например 4-8Гб, лежащий на винте сервера. Средствами винды копируем его на раздел, который презентован с NAS-а и наблюдаем эффекты.
1) Первые 1-2-4 секунды копирование идёт со скоростью 300-800Мбайт/сек. Потом плавно или резко падает до 30-60Мбайт/сек и плавно снижается далее. Впрочем иногда успевает на полной скорости скопироваться весь файл.
2) До и после копирования возможно замирание, когда окошко копирования висит и не реагирует на мышь длительностью до 1-20 (иногда больше) секунд. Иногда этого замирания нет.
3) Во время копирования NAS интенсивно мигает лампочками винтов. Когда окошко копирования «висит» — индикаторы активности дисков на NAS не мигают и не горят
4) При попытке удалить свежескопированный на NAS файл, окошко удаления замирает на 20-50 секунд, затем только удаляет файл.
5) Пробовали копировать файл лежащий на NAS на него же, но в другую папку — проблемы аналогичные.
Дисклеймер или «мы уже пробовали»:
— Подключать сервер и NAS напрямую, минуя Switch.
— Оставлять подключенным к NASу один единственный сервер по одному единственному линку.
— Делать всё тоже самое с другим NAS-ом, и другим сервером.
— Ставить Windows Server 2008 R2.
— Делать раздел на хранилище меньшего объема — 500Гб (GPT).
Спецэффекты наблюдаются всё те же.
Что это может быть? Куда смотреть, куда копать?
P/S Простите за терминологию. Мог попутать термины для обозначения железяк, но в целом картина верна.
Вышеописанное внутри виртуалки происходит?
Multipath как включен?
Кэш на запись точно включен?
Есть какаянибудь утилка от полки, IOPSы и прочее померять?
Вышеописанное внутри виртуалки происходит?
нет на сервере с подключенным луном с схд
Multipath как включен?
Вместе с утилитой IBM IBM DS Windows (x64) Storage Manager version 10.84.x5.30 идет SMIA-WinX64-10.84.x5.30 (включает Multipath с необходимыми настройками для DS3512), так что включён.
Кэш на запись точно включен?
Вот такие установки:
Enable Read Caching — Yes
Enable Write Caching — No
Есть какаянибудь утилка от полки, IOPSы и прочее померять?
Есть SANSurfer от Qlogic.
Ну как сказать «неплохо». Должно быть офигенно.
Потому что на СХД должны лежать образы дисков виртуальных машин, для обеспечения миграции их между серверами.
Естественно эти образы будут постоянно изменяться, и естественно нужно обеспечить им приемлимую производительность.
Обычный железный винт обеспечивает скорость записи около 100мбайт/сек. В СХД же в рэйде5 суммарная скорость должна быть… не знаю точно… но явно не меньше 100мбайт/сек.
Конечно неправильно измерять все в Мб/сек, но к сожалению в IOPS'ах я плаваю.
Если задача стоит о большом количестве паралельных записей (N виртуалок), то тестить перекидыванием большого файла бесполезно.
Мой Вам совет — разбейте рейд на более мелкие рейды (это поможет распаралелить запись), RAID5 в этом случае будет даже плюсом, т.к. с паралельной записью (в рамках одного рейда) у него всё впорядке.
Лучше проведите более реалистичный тест для Вашей ситуации — установить одну виртуалку, склонируйте её сколько нужно раз, запустите их все и понагружайте. Даже такой тест будет более реалистичен (для Вашей ситуации), чем кидание одного большого файла.
«Да, но...» (с)
Но ведь 12 очень шустрых винтов в рэйде — это огого сколько. С банальнейшей операцией линейной записи СХД такой конфигурации должен справляться не задумываясь.
А к более сложным экспериментам можно переходить лишь после успешного прохождения более простых.
Мы пробовали создать несколько виртуалок. Там тормоза внутри просто адовые.
И разбивать рэйд на несколько я не вижу смысла. Насколько я понимаю — чем больше винтов в РЭЙД5 — тем больше его надёжность.
>>. Насколько я понимаю — чем больше винтов в РЭЙД5 — тем больше его надёжность.
Ууу…
Надежность RAID-5 — ровно один диск, как только он сдох, при сдыхании следующего — массив будет потерян.
Не, можно надеяться что второй диск будет далеко от первого и можно будет отресториться, но с тем же успехом можно надеяться на прилёт волшебника на голубом вертолёте.
В ваших условиях — либо RAID-6, либо RAID-10.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.