Режим idle жесткого диска
Каждый владелец портативного или стационарного компьютера всячески старается повысить производительность своей машины. Добиться прироста мощности комплектующих можно путем разгона железа при помощи специального программного обеспечения или путем оптимизации системных настроек, предусмотренных самим производителем.
Однако независимо от метода повышения уровня производительности, которому отдают предпочтение юзеры, необходимо иметь подробное представление о том, как работает тот или иной девайс, а также учитывать все возможные нюансы, которые могут возникнуть в процессе оверклокинга. В нашей сегодняшней статье речь пойдет о жестких дисках компьютера, в частности, об увеличении их производительности.
Классификация жестких дисков
Современные HDD разделяются на несколько видов, которые отличаются между собой принципом устройства. Одним из наиболее распространенных типов жестких дисков является стандартный 3,5-дюймовый HDD, созданный на базе устаревшей шпиндельной системы. Свою востребованность они заслужили благодаря дешевизне производства, однако, они работают значительно медленнее своих более дорогих аналогов — твердотельных накопителей.
Поэтому в большинстве лаптопов и настольных систем установлены именно стандартные винчестеры.
Таким образом, получается существенная потеря скорости, ведь оперативная память способна передавать около 20 тысяч мегабит в секунду, пропускная способность процессорной шины еще выше, а винчестеры едва передают до 100 Мб/с. Именно из-за этого большинство производителей ноутбуков используют в своих девайсах два типа HDD, один из которых является твердотельным накопителем и предназначен для установки операционной системы. Однако стоит отметить, что жесткие диски могут работать в двух режимах — AHCI и IDE, которые влияют на скорость работы устройства хранения данных. Так какой же режим лучше?
Стандарты
Совместная работа винчестера и других устройств осуществляется благодаря специальному контроллеру, который выступает своеобразным командным преобразователем. Предыдущие модели жестких дисков поддерживали работу только по IDE-протоколу, который появился на свет одновременно с первым HDD, работающим на IDE интерфейсе. Однако с изобретением более скоростного порта Sata был разработан более современный режим AHCI, способный работать в более скоростном режиме, поддерживающий аппаратную установку очередности команд и обладающий функцией мгновенного отключения. Таким образом, режим работы винчестера AHCI является усовершенствованной версией своего предшественника, в котором реализованы более современные технологии и новые возможности.
Возможности и перспективы
Оба стандарта являются взаимозаменяемыми и современные модели жестких дисков с Sata-интерфейсом поддерживают оба режима работы, поэтому в системных настройках BIOS реализована возможность переключения между ними.
Таким образом, регулируя режим работы винчестера можно управлять скоростью его работы. Однако сразу необходимо отметить, что оба режима поддерживаются только теми версиями BIOS, которые установлены на материнские платы с разъемами Sata на борту. Все современные материнки обладают этим интерфейсом, поэтому особых проблем при переключении режима не возникнет. Тем не менее к этой категории можно отнести и те системные платы, в которых реализованы и Pata и Sata.
Чтобы понять, какой из двух режимов работы жестких дисков лучше использовать необходимо иметь представление о принципиальной разнице между ними. Если провести сравнение между IDE и AHCI, то второй обладает:
1. Более высокую скорость обмена данными между винчестером и другими устройствами. Например, последние версии HDD, поддерживающие режим AHCI, способны передавать до 6 тысяч мегабит в секунду в зависимости от версии интерфейса, против 100 Мб/с, которые присущи первым поколениям жестких дисков.
2. Интегрированная технология аппаратной установки очередности команд, благодаря которой устройство хранения данных может самостоятельно управлять потоком обработки и выполнения команд с целью повышения эффективности и скорости работы.
3. Возможность замены комплектующего без предварительного выключения компьютера.
4. Одновременная работа нескольких винчестеров в параллельном режиме.
Учитывая все вышеперечисленные достоинства, которыми обладает AHCI, все сомнения по поводу того, какой из двух режимов лучше просто отпадают. Однако в наши дни еще есть те немногочисленные пользователи, которые выключают систему для замены винчестера.
Теория и практика
Соответствует ли заявленная скорость передачи данных таковой на практике? Несмотря на наличие некоторых инновационных технологий в современных жестких дисках, а также более инновационной технологии производства, в действительности же заметить большого прироста в скорости работы заметить вряд ли получится. Все дело в том, что несмотря на более высокую пропускную способность, скорость вращения магнитных накопителей в различных винчестерах одинакова и составляет 7200 оборотов в минуту.
Таким образом, технология считывания данных осталась без каких-либо изменений и усовершенствований. Это подтверждают и результаты многочисленных тестов, во время которых не было зафиксировано даже 200 мегабит в секунду, а о 6 тысячах никакой и речи быть не может. Таким образом, реальный прирост производительности может быть достигнут исключительно при использовании SSD-накопителей. И если таковые установлены в портативном или стационарном компьютере, то в этом случае можно сразу устанавливать в настройках системы режим работы AHCI.
На многих тематических компьютерных форумах очень часто можно встретить аргументы в пользу более современного режима из-за его поддержки протокола NCQ. На практике он действительно полезен, поскольку при работе одновременно с большим количеством программ, жесткий диск выстраивает очередь таким образом, чтобы наиболее эффективно расходовались ресурсы аппаратного обеспечения. Однако в нашей повседневной жизни пользователи очень редко работают сразу с большим количеством утилит, поэтому говорить о значительном увеличении скорости работы говорить также не имеет особого смысла. Помимо этого, весь потенциал этой технологии раскрывается только при использовании в компьютере нескольких устройств хранения данных, которые работают в параллельном режиме.
Седьмая версия ОС Windows и выше, при активированном режиме AHCI, позволяет подключать и отключать жесткие диски с интерфейсом подключения Sata без выключения компьютера. Однако эта функция имеет смысл для серверных систем, а в случае с домашними и офисными машинами не представляет особого интереса, поскольку внутрь системного блока среднестатистический юзер заглядывает не так часто.
Таким образом, на практике использование более современного режима AHCI не имеет практически никакого смысла, поскольку на скорость работы компьютера он никак не повлияет, а добиться реального увеличения скорости обмена данными, который действительно будет заметен в процессе работы, можно будет только при использовании твердотельных накопителей.
Возможные проблемы при переключении режимов работы HDD
Если вы все-таки решили поменять протокола работы винчестера в системных настройках BIOS, то необходимо учитывать некоторые нюансы, с которыми может столкнуться пользователь. Например, если в процессе установки Windows был активирован режим AHCI, то при активации протокола IDE операционная система может перестать загружаться. Подобная ситуация возникает не всегда, однако, в редких случаях случаются прецеденты. Поэтому при инсталляции ОС необходимо заранее установить необходимый протокол, с которым планируется дальнейшая работа компьютера.
Помимо этого, предыдущие версии ОС Windows не имеют интегрированных пакетов драйверов, поэтому пользователю придется дополнительно искать совместимые драйвера к некоторым устройствам. А вот семерка и более поздние версии Windows превосходно адаптированы для работы с протоколом AHCI, а его активация происходит всего за несколько секунд через BIOS.
Запись опубликована 14.02.2016 автором katrinas11 в рубрике Моя жизнь. Отблагодари меня, поделись ссылкой с друзьями в социальных сетях:
Энергопотребление и тепловыделение современных накопителей на жестких магнитных дисках, имеющих, как правило, значительно меньший диапазон рабочих температур (от +5 до +55 градусов Цельсия, реже от 0 до +60 С), чем большинство других компьютерных компонентов — это одна из проблем, на которую пользователи все чаще обращают внимание. Производительность жестких дисков растет, как и скорость процессоров или графических ускорителей. Но, к счастью, здесь нет того бурного роста тепловыделения (с увеличением быстродействия), который наблюдается у центральных и графических процессоров в последние лет десять. Тем не менее, общие требования по экономии электропитания и по лимитированной нагрузочной и охлаждающей способности конкретных компьютерных шасси все чаще заставляют пользователей задумываться и о том, сколько «кушают» их винчестеры. Причем, данные вопросы задаются не только пользователями (и производителями) ноутбуков, где каждые полватта способны повлиять не только на температуру накопителя в узком и плохо вентилируемом пространстве, но и на время автономной работы всего ноутбука (за которое обычно всеми силами борются). И не только потребителями и сборщиками настольных персональных компьютеров, где вследствие резкого роста прожорливости процессоров и видеокарт на винчестеры остается лишь крупица мощности бюджетных блоков питания.
Но вопросы потребления и тепловыделения накопителей все настойчивее волнуют и тех, кто по долгу службы работает с высокопроизводительными профессиональными средствами хранения данных на жестких дисках, принадлежащих к так называемому сегменту Enterprise, то есть дискам для корпоративных применений. Помимо прочего, здесь играет роль и то, что надежность и долговечность работы этих накопителей существенно зависит от их рабочей температуры — исследования показывают, что повышение температуры жесткого диска на 5 градусов оказывает такое же влияние на надежность, как переход от 10-процентной к 100-процентной загрузке диска работой! А каждый градус его температуры вниз эквивалентен 10-процентному росту времени жизни накопителя. Применение же мощных охлаждающих систем не всегда оправдано ввиду их большого шума и немалой стоимости. В целом же, экономия и экономичность — это те факторы, о которых никогда не следует забывать при принятии решений. Поэтому наша попытка в очередной раз обратиться к теме энергопотребления и тепловыделения жестких дисков в практической плоскости носит не только «познавательный», но и чисто прикладной характер.
Напомню, что ранее мы уже рассматривали на систематизированной основе вопросы энергопотребления и тепловыделения трехдюймовых жестких дисков для настольных компьютеров и производительных двухдюймовых накопителей для ноутбуков. И будем возвращаться к этой теме еще не раз. Но сегодня пришла пора поговорить о наиболее дорогих и критичных к отказам (в том числе, из-за перегрева или проблем с питанием) накопителям Enterprise-сегмента, к коим мы вслед за производителями причисляем жесткие диски форм-факторов 3,5 и 2,5 дюйма со скоростью вращения 10 и 15 тысяч оборотов в минуту и интерфейсами Ultra320 SCSI и Serial Attached SCSI (SAS) (Fibre Channel пока оставим в стороне). А также определенные профессиональные модели со скоростью вращения 7200 об./мин, интерфейсом Serial ATA (позднее SATA 2.5) и высокой емкостью (400-500 Гбайт, пока недоступной SCSI-моделям), выполненные на базе существующих настольных винчестеров этих же производителей, но слегка модернизированных по конструкции и управляющей микропрограмме с целью повысить надежность и улучшить работу в профессиональных задачах. К последним, то есть к профессиональным жестким дискам с интерфейсом Serial ATA и скоростью вращения 7200 об./мин., мы отнесем традиционные серии Maxtor MaXLine III и MaXLine Pro 500 (а также более раннюю MaXLine II), недавно появившуюся Seagate NL35 (проф. аналог старших моделей Barracuda 7200.8 и 7200.9), а также Western Digital Caviar RE и RE2 (в частности, недавно появившуюся 400-гигабайтную модель WD4000YR). К сожалению, Hitachi GST не выделяет свои диски Deskstar 7K400 и 7K500 (объемом 400 и 500 Гбайт соответственно) в «профессиональную» линейку, хотя по многим характеристикам они могут быть к ней причислены. Поэтому мы в данном обзоре привлечем к рассмотрению и их, наряду с вышеперечисленными семитысячниками и всеми текущими SCSI-сериями, обзор которых сделан нами, например, в недавней статье. Кроме того, здесь примет участие и первый (из реально появившихся в России) из дисков с SAS-интерфейсом — Seagate Cheetah 15K.4 SAS.
Подробные обоснования нашего подхода к анализу энергопотребления и тепловыделения жестких дисков (и почему в единицах мощности это практически одно и то же) вы можете найти в нашем предыдущем обзоре на эту тему. Поэтому без лишних слов переходим к цифрам. Напомню лишь, что мы сознательно не будем использовать температуру жестких дисков как меру их тепловыделения, поскольку, на наш взгляд, делать это в типичных случаях просто бесполезно, то есть почти не имеет практического смысла (обоснование нашего подхода см. по лику выше). Кроме того, измеряя энергопотребление (вместо температуры), мы получаем ряд полезной дополнительной информации.
Лечение
WDC в курсе, что их любят и уважают за недорогие и надежные диски, поэтому для тех, кто не в силах беречь еще больше электричества за счет потраченных нервов, выпустила утилиту, управляющую данным таймером.
«Таблетка» называется wdidle3. И лежит прямо на официальном сайте в софте раздела техподдержки.
Почитав некоторые форумы и статьи, в которых категорически не рекомендуют давать в руки неграмотному юзеру такой «тяжелый молоток», я аж улыбнулся до кончиков ушей
Софтина при своей работе открытым текстом говорит — «Sending command:» и набор кодов. А народная молва вокруг утилиты создала такой мрачный ореол инструмента по замене прошивки , что у пользователей руки падают.
Да и в прилагаемой доке написано:
— Uses a Vendor Specific Command to set or get the idle3 timer
То есть, действительно, посылается проприетарная команда, в ответ на которую не знающие о ней диски будут молчать в тряпочку или ругаться.
Итак, собственно, сама таблетка.
wdidle3 v 1.05
В оригинале предназначалась для дисков WD1000FYPS-01ZKB0, WD7500AYPS-01ZKB0, WD7501AYPS-01ZKB0. Но работает без проблем с дисками WDC моделей WD20EADS, WD20EARS, WD15EADS, WD15EARS, WD10EADS, WD10EARS, WD8000AARS, WD7500AADS, WD7500AARS, WD6400AADS, WD6400AARS, WD5000AADS, WD5000AARS и некоторыми другими моделями (на ваш страх и риск).
Собрана только под старый добрый DOS. Не думаю, что у вас возникнет проблема найти LiveCD/LiveFlash с FreeDOS. Запускаем на стационарном компьютере или ноутбуке с SATA-портом наружу. Через переходник USB↔SATA не выйдет.
Утилита очень простая и очень «тупая».
Внимание! wdidle3 не позволяет задавать имя устройства — она лечит абсолютно ВСЕ найденные диски! То есть, если у вас в компьютере уже стоит детище от WDC, то и оно будет подвергнуто экзекуции.
Поэтому на всякий противопожарный случай, отстрелите лишние SATA-шлейфы от дисков WD на компьютере.
-
Хотя у меня как-раз в стационарном PC такой случай — 2 HDD именно от WDC (SATA-80GB и IDE-320GB). Но они настолько старые, что на данную утилиту не реагируют совсем никак. Поэтому я злонамеренно не отключал их.
Но советую проверить, прежде чем пользоваться!
Ключ для опроса состояния таймера idle 3 дается в командной строке отдается утилите как /R
В ответ высыпается информация о всех найденных IDE или SATA дисках. Если диск производства WDC и имеет данный таймер, то отображается его значение в секундах или минутах.
Само значение таймера выставляется в промежутках от 8 до 12.7 секунд и от 30 до 300 секунд (на старых моделях только до 25.5 секунд). Не совсем понятно, к чему такая поразительная точность — до десятых долей секунды, но наверное, есть и в этом смысл.
Команда
должна выставить таймер на 5 минут.
Смотрите в отчет после выполнения команды — так ли это на самом деле. Если значение не выдается или отличается от заданного — то попробуйте уменьшить число.
удаляет таймер idle 3, по факту отключая функцию IntelliPark™.
Для своего WD10EADS я выключил таймер — с тех пор «ни единого разрыва»
Справедливое замечание от skanik:
При включенном на SATA-контроллере режиме ACHI, утилита wdidle3, скорее всего, не определит подключенные дисковые устройства. Исправляется это переключением в BIOS режимa на совместимый с IDE .
Только в этом случае постарайтесь все-таки отключить все «лишние» SATA-диски. Ибо случайный запуск Windows доставит вам массу развлечений (например, BSOD)
Спецификации энергопотребления жестких дисков
Чтобы нам было, от чего оттолкнуться, в таблице 1 приведу данные по энергопотреблению основных серий профессиональных дисков, указанные в их спецификациях.
Таблица 1. Мощность энергопотребления (ватт) жестких дисков для профессиональных применений (согласно спецификациям)
Итак, вы приобрели новый ноутбук, начинаете его настраивать, устанавливаете операционную систему, весь нужный софт, игрушки. Ничто не предвещает беды. И вот, наконец со всем разобравшись, можно расслабиться и почитать интересную статью в интернете. Но что-то нарушает ваш покой. Странные щелчки доносятся из недр устройства…
Начав прислушиваться, вы периодически улавливаете звук электродвигателя, такой, как у разгоняющегося электромобиля. Может быть оставить все как есть и не трогать, наверное это предусмотрено производителем? Эту прекрасную мысль, полезную во многих других ситуациях, полностью отобьет запуск любой игры или фильма. Периодическое зависание изображения на 2-3 секунды станет вашей головной болью и кошмаром на несколько ближайших дней.
В очередной такой «зависон» вы обратите внимание, что ему будет предшествовать щелчок, а в момент зависания услышите тот самый звук электродвигателя. И, немного разбираясь в компьютерном железе, вы зайдете в google с вопросом: «Жесткий диск не дает жить, что делать».
Все дело в APM (Advanced Power Management)
Если серьезно, проблема далеко не нова, но даже недавно я видел на хабре комментарии, где люди просили помощь по данному вопросу. Здесь речь идет о дисках WD и реализации функции APM в них, но думаю у других производителей будет та же причина. При беглом поиске google нам любезно предлагает утилиту wdidle3. Проблема лишь в том, что это DOS программа требующая создания загрузочной флешки. И, например, для моего диска она не помогла.
Решение, которое я предлагаю особенно полезно, если у вас в качестве основного накопителя установлен SSD, а HDD используется в качестве доп. накопителя. В обычном режиме он будет использовать свое стандартное поведение и отключаться через 8 секунд бездействия, не беспокоя вас своим шумом и не потребляя заряд батареи. При желании сыграть в игру или поработать с жесткого диска, вы нажимаете одну кнопку и он не паркуется заложенное в энергоплане Windows время (20 минут по дефолту). Утилита wdidle не даст вам такого выбора.
Используем HDDScan
Собственно к делу. Программа которую мы будем использовать называется HDDScan. Причем версии старше 3.2 у меня работали не совсем корректно, поэтому рекомендую остановиться на ней.
Скачиваем эту портабельную программу и распаковываем в удобное для нас место. Запускаем, и если дисков больше одного, слева выбираем наш HDD. Далее нажимаем «большую синюю кнопку» по центру и выбираем пункт «Build Command Line».
В открывшемся окне проделываем следующую процедуру: напротив раздела «Advanced Power Managment» выбираем Disable, нажимаем Save, и сохраняем bat-файл. Назовем его, к примеру, «Disable_HDD_APM.bat». Аналогично выбираем Enable и сохраняем еще один батник.
В результате у нас появляются два bat-файла примерно одинакового содержания:
На этом можно было бы и закончить, эти файлы позволяют отключать функцию APM передавая контроль над временем парковки Windows, и соответственно, включить для возврата исходного поведения. Но, во первых это не очень красиво и удобно, во вторых будет вызываться запрос UAC при запуске bat-файла. Для преодоления этих неудобств предлагаю воспользоваться Планировщиком Windows.
Обходим UAC
Запускаем (если что, вводим в пуске «планировщик» чтобы его найти), и создаем задачу.
Для начала отключение APM. Даем осмысленное имя, и главное не забываем выставить выполнение с наивысшими правами. Переходим на вкладку Действия, нажимаем Создать. Здесь указываем путь к нашей программе HDDScan, а в «добавить аргументы», все что идет в батнике после пути к программе. К примеру:
И довершающий шаг, на вкладке Условия убираем галочку напротив «Запускать только при питании от электросети». Теперь OK.
Фух, создаем вторую задачу, и заполняем аналогично для включения APM (только используем аргумент из второго батника). В результате у нас в планировщике должно стать на две задачи больше, запоминаем их имена. Bat-файлы нам больше не понадобятся, можно будет от них избавиться. Последний этап наших изысканий это создание ярлыков на задачи планировщика.
Делаем красиво
Тут все просто, в укромном месте ПКМ -> Создать -> Ярлык. На предложение пути, вводим следующее:
Создаем ярлык сначала для одной, потом для второй задачи. Получаем два ярлычка, которые кладем в надежное место, и, например, кидаем на панель задач. Для красоты можно применить к ним соответствующие иконки.
Дело сделано
Это всего лишь один из множества вариантов решений, можно использовать другой софт, по своему настроить планировщик. Но суть в том, что мы можем недостаток обернуть себе на пользу. В особенности, если системным диском стоит SSD: жесткий диск при использовании не будет парковаться и раздражать вас фризами, а в отсутствие активности может отключиться(в зависимости от модели), и избавить вас от побочных эффектов своей работы.
Прежде, чем строить инфраструктуру на базе виртуализации, и, тем более – вводить ее в промышленную эксплуатацию, необходимо позаботиться о том, чтобы ресурсы системы использовались наиболее эффективно, и производительность была максимальной. В этом цикле статей я дам рекомендации о том, как оптимизировать систему по производительности – как со стороны хоста, так и со стороны виртуальных машин.
Начнем с хоста
- Процессор
- Память
- Дисковая подсистема
- Сетевая подсистема
Процессор – сердце компьютера
- Сколько ставить процессоров?
- Сколько нужно ядер?
- Их скоростные характеристики?
- Требуется больше лицензий на ПО – как на сами ОС, так и на ПО управления (SCVMM, SCCM, SCOM, etc.)
- Возрастают затраты на администрирование – три сервера вместо одного
- Три сервера потребляют больше энергии, а значит – выделяют больше тепла, и занимают больше места в стойке, чем один сервер, пусть и более мощный.
- Hyper-V Hypervisor Virtual Processor, % Total Run Time — этот счетчик отображает загрузку виртуальных процессоров. Можно задать отображение суммарной загрузки всех процессоров для запущенных виртуальных машин, а можно выбрать конкретный виртуальный процессор конкретной виртуальной машины.
- Hyper-V Hypervisor Root Virtual Processor, % Total Run Time – а этот счетчик показывает загрузку выбранных логических процессоров задачами, не связанными с Hyper-V.
Памяти много не бывает
- Сколько виртуальных машин будет запущено, и сколько памяти им понадобится? Объем памяти, необходимый каждой виртуальной машине зависит от задач, которые она будет выполнять. Подход тот же самый, что и для обычных серверов, но память виртуальным машинам можно выделять более гибко – не 1024 Мб, а, к примеру, 900 Мб.
- Хостовой ОС тоже нужна память. Рекомендуется оставлять как минимум 512 Мб свободной памяти на нужды гипервизора и самой хостовой ОС. Если объем свободной памяти опустится ниже 32 Мб – система не даст запустить больше ни одной виртуальной машины, пока память не освободится. Кроме этого, в хостовой ОС могут выполняться какие-то другие задачи, помимо виртуализации. Хотя это и крайне не рекомендуется, но факт все же имеет место быть, и это необходимо учитывать.
- Другие виртуальные машины (для сценариев Live Migration). Если инфраструктура планируется на базе отказоустойчивого кластера, то необходимо на каждом из хостов предусмотреть дополнительные объемы памяти. Дело в том, что виртуальные машины могут перемещаться с одного хоста на другой в случае ручного перемещения (Live Migration), или же в случае отказа одного из хостов. Если на хосте будет недостаточно памяти для запуска перемещаемых виртуальных машин – то они попросту не смогут на нем запуститься. Поэтому на этапе проектирования надо предусмотреть «неприкосновенный запас» в размере 50-100% от необходимого объема памяти. Возможно, ситуация немного улучшится с выходом Windows Server 2008 R2 SP1, в который входят технологии динамического распределения памяти, но точно я смогу сказать лишь тогда, когда сам это протестирую.
Жесткие диски: сколько их надо?
- RAID 0 – «массив с чередованием». Информация пишется блоками («страйпами») одновременно на несколько дисков. Благодаря этому чтение и запись больших объемов информации происходит значительно быстрее, чем с одного диска, и тем быстрее, чем больше дисков в массиве. Но есть один большой недостаток: низкая надежность. Выход из строя любого из дисков приведет к полной потере информации. Поэтому на практике RAID 0 используется достаточно редко. Один из примеров – промежуточное хранилище резервных копий в модели «Disk-to-disk-to-tape», когда надежность не так важна, как быстродействие.
- RAID 1 – «зеркалирование». При такой модели информация записывается одновременно на несколько дисков, причем содержимое всех дисков абсолютно идентично. Скорость записи и чтения не выше, чем для одиночного диска, но намного выше надежность: выход из строя одного диска не приведет к потере информации. Недостаток лишь один: высокая стоимость – там, где хватает и одного диска – приходится ставить два и более. Смысл имеет в тех случаях, когда надежность имеет решающее значение.
- RAID 4 и RAID 5 – «чередование с контролем четности». Предстваляет собой некую «золотую середину» между RAID 0 и RAID 1. Смысл состоит в том, что информация хранится на дисках как и в случае RAID 0 — блоками с чередованием, но помимо этого вычисляются контрольные суммы хранимых данных. В случае отказа одного из дисков – недостающие данные автоматически вычисляются по имеющимся данным и контрольным суммам. Разумеется, это приводит к снижению производительности, но в то же время данные не теряются, и при замене сбойного диска вся информация восстанавливается (этот процесс называется перестройкой массива). Потеря данных произойдет только при отказе двух и более дисков. Такие массивы отличаются тем, что скорость записи у них значительно ниже, чем скорость чтения. Происходит так из-за того, что при записи блока данных происходит вычисление контрольной суммы и запись ее на диск. RAID 4 и RAID 5 отличаются тем, что в RAID 4 контрольные суммы записываются на отдельный диск, а в RAID 5 – хранятся на всех дисках массива вместе с данными. В любом случае, для организации такого массива нужно N дисков для хранения данных плюс один диск. В отличие от RAID 1 и RAID 10, где количество дисков просто удваивается.
- RAID 6 – он же RAID DP, double-parity, двойная четность. То же самое, что и RAID 5, но контрольные суммы вычисляются два раза, с использованием различных алгоритмов. Хотя дисков здесь требуется уже не N+1, как с RAID 5, а N+2, зато такой массив может пережить даже одновременный отказ двух дисков. Встречается относительно редко, как правило – в системах хранения данных Enterprise-уровня, к примеру – NetApp.
- RAID 10 – «гибрид» RAID 0 и RAID 1. Представляет собой RAID 0 из нескольких RAID 1 (и тогда называется RAID 0+1) или наоборот – RAID 1 из нескольких RAID 0 (RAID 1+0). Отличается наивысшей производительностью, как по записи, так и по чтению, но в то же время отличается и высокой стоимостью – так как дисков требуется в 2 раза больше, чем необходимо для хранения данных.
- Physical Disk, % Disk Read Time
- Physical Disk, % Disk Write Time
- Physical Disk, % Idle Time
- Physical Disk, Avg. Disk Read Queue Length
- Physical Disk, Avg. Disk Write Queue Length
Сетевая подсистема
- Сколько виртуальных машин будет запущено одновременно, и какова будет нагрузка на сеть?
- Какова пропускная способность сети?
- Используются ли системы хранения данных с интерфейсом iSCSI?
- Есть ли у сервера аппаратные средства удаленного управления, не зависимые от установленной ОС (к примеру – HP iLO или Dell DRAC)?
На уровне хоста
Для серверов, у которых нет аппаратных средств удаленного управления рекомендуется один из сетевых интерфейсов оставлять незадействованным в виртуальных сетях, исключительно для задач управления. Это сильно снизит риск ситуации, когда при чрезмерной утилизации или же из-за неправильных настроек сетевого интерфейса пропадает возможность удаленного управления сервером. Сделать это можно либо на этапе инсталляции роли Hyper-V, сняв галочку с одного из сетевых интерфейсов, либо же после инсталляции – удалив виртуальную сеть, привязанную к сетевому интерфейсу, который будет использоваться для управления.
Кроме этого, на уровне хоста прямо таки необходимо установить как можно более «свежие» драйверы для сетевых адаптеров. Это нужно для того, чтобы воспользоваться специальными функциями сетевых адаптеров – VLAN, Teaming, TCP Offloading, VMQ (при условии, что сами сетевые адаптеры это поддерживают – как правило, это специализированные серверные сетевые адаптеры).
Сетевые нагрузки
iSCSI
Если планируется использовать системы хранения данных с интерфейсом iSCSI – крайне рекомендуется выделить для работы iSCSI отдельный сетевой интерфейс, а то и два – для работы MPIO. Если LUN’ы будут монтироваться в хостовой ОС – то нужно просто оставить один или два интерфейса не привязанными к виртуальным сетям. Если же iSCSI-инициаторы будут работать внутри виртуальных машин – для них нужно создать одну или две отдельных виртуальных сети, которые будут использоваться исключительно для трафика iSCSI.
VLAN-тегирование
VLAN-тегирование (IEEE 802.1q) означает «маркировку» сетевых пакетов специальным маркером (тегом), благодаря которому пакет может быть ассоциирован с определенной виртуальной сетью (VLAN). При этом хосты, принадлежащие к разным VLAN, будут находиться в разных широковещательных доменах, хотя и подключаться физически к одному и тому же оборудованию. Виртуальные сетевые адаптеры в Hyper-V так же поддерживают тегирование VLAN. Для этого нужно зайти в свойства виртуального адаптера в настройках виртуальной машины и прописать там соответствующий VLAN ID.
Активное оборудование
Рекомендации для хостовой ОС
- Меньший объем обновлений
- Меньшая поверхность атаки для потенциальных злоумышленников
- Меньшая нагрузка на процессор и память в родительской партиции
Запуск других приложений в хостовой ОС
Запуск в гостевой ОС сторонних (не имеющих отношения к Hyper-V) приложений, а так же установка других серверных ролей помимо Hyper-V может привести к сильному падению производительности, а так же к снижению стабильности. Дело в том, что из-за особенностей архитектуры Hyper-V, все взаимодействие виртуальных машин с устройствами проходит через родительскую партицию. Поэтому высокие нагрузки или «падение в синий экран» в родительской партиции обязательно приведут к падению производительности или просто к «падению» всех запущенных виртуальных машин. Сюда же можно (и нужно) отнести антивирусное ПО. Нужно ли оно вообще на хосте, который не будет заниматься ничем, кроме, собственно, виртуализации – это, конечно, тот еще вопрос. Тем не менее, если антивирус все же установлен – первое, что необходимо сделать – исключить из списка проверки все папки, где могут находиться файлы виртуальных машин. В противном случае, при сканировании может замедлиться производительность, а если в каком-нибудь VHD-файле обнаружится что-то похожее на вирус – то при попытке лечения антивирусный пакет может испортить сам VHD. Подобные случаи наблюдались и с базами MS Exchange, и потому первая рекомендация – не ставить вообще на серверах Exchange файловые антивирусы, а если и ставить – то добавить папки с базами в исключения.
Рекомендации для виртуальных машин
Шаги, которые необходимы предпринять для повышения производительности самих виртуальных машин – зависят от приложений, которые будут на них выполняться. У Microsoft имеются рекомендации (best practices) для каждого из приложений – Exchange, SQL Server, IIS, и других. Аналогичные рекомендации существуют для ПО других вендоров. Здесь я дам лишь общие рекомендации, не зависящие от конкретного ПО.
Здесь будет рассказано, почему нужно устанавливать Integration Services в гостевой ОС, как упростить развертывание новых виртуальных машин с помощью библиотеки VHD, и как поддерживать эти VHD в актуальном состоянии с выпуском новых патчей.
Сервисы интеграции
- Windows 2000 Server SP4
- Windows Server 2003 SP2
- Windows Server 2008
- Windows XP SP2, SP3
- Windows Vista SP1
- SUSE Linux Enterprise Server 10 SP3 / 11
- Red Hat Enterprise Linux 5.2 – 5.5
- IDE-контроллер – заменяет собой эмулируемый IDE-контроллер, что повышает скорость доступа к дискам
- SCSI-контроллер – является полностью синтетическим устройством и требует для работы обязательной установки интеграционных сервисов. К каждому SCSI-контроллеру можно подключить до 64 дисков, самих контроллеров может быть до 4 на каждую виртуальную машину.
- Сетевой адаптер – имеет более высокую производительность, чем эмулируемый (Legacy Network Adapter), и поддерживает особые функции, такие, как VMQ.
- Видео и мышь – повышают удобство управления виртуальной машиной через ее консоль.
- Operating System Shutdown – возможность корректного завершения работы гостевой ОС без логина в нее. Аналогично нажатию кнопки Power на корпусе ATX.
- Time Synchronization – ясно из названия – синхронизация системного времени между хостовой и гостевой ОС.
- Data Exchange – обмен ключами реестра между гостевой и хостовой ОС. Таким образом, к примеру, гостевая ОС может определить имя хоста, на котором она запущена. Эта возможность доступна только для гостевых ОС семейства MS Windows.
- Heartbeat – специальный сервис, периодически отправляющий специальные сигналы, означающие, что с виртуальной машиной все в порядке. Если гостевая ОС по какой-то причине, например, зависнет – она перестанет отправлять Heartbeat, и это может служить сигналом, к примеру, для автоматической перезагрузки.
- Online Backup – представляет из себя VSS Writer, позволяющий в любой момент получить консистентную резервную копию данных виртуальной машины. При запуске резервного копирования через VSS приложения, запущенные на виртуальной машине автоматически сбрасывают данные на диск, и потому бэкап получается консистентным.
Sysprep: создаем мастер-образ
- Создать новую виртуальную машину
- Произвести установку ОС, сервисов интеграции, всех доступных обновлений системы и дополнительного ПО, если таковое необходимо
- Подготовить установленную ОС с помощью утилиты Sysprep, которая удалит информацию о пользователе, ключе продукта и уникальный идентификатор (SID).
Оффлайн-установка обновлений
- Виртуальная машина разворачивается на специальном, выбираемом с помощью SCVMM, хосте – так называемый maintenance host.
- Виртуальная машина запускается, и на ней производится установка всех необходимых обновлений.
- Виртуальная машина останавливается, и VHD-файл возвращается в библиотеку уже с установленными обновлениями.
Заключение
Я дал некоторые рекомендации по настройке хостов и самих виртуальных машин, позволяющей достичь оптимального уровня производительности. Буду надеяться, что для кого-то эта информация окажется полезной.
Поставил я недавно в карман диск WD Green WD10EADS, совершенно забыв его «оттюнинговать».
Проблема выражается в том, что если на этот HDD постоянно идут операции чтения-записи, то все хорошо. И хорошо до тех пор, пока не запущен критичный к скорости записи на HDD процесс.
К примеру, все тот же многострадальный Transmission. Если поток данных прерывается на время, достаточное для проявления способности данных дисков «прятать голову в песок» (то есть на парковку), то при возобновлении закачки и быстром заполнении буферов Transmission, мы получаем «посмертную» записку в лог («wait atomic», а иногда даже и без нее) и зависание всего плеера.
Жареный петух клюнул меня именно тогда, когда я направил активные закачки на этот диск. Если мой ADSL-модем уходил в долгие реконнекты, а перед этим скорость приема у Transmission на C-200 была на максимуме, то по восстановлении соединения, скорость на рутере быстро показывала хороший результат и… брык! Приехали! Плеер в ступоре.
С аналогичными симптомами (A-200 с WD20EARS — рутер ночью перезагружается по расписанию, а плеер падает) обратился еще один «о-счастливчик».
Попытки поговорить с диском через стандартный набор команд ни к чему не приводят:
Не отбиваемое у этих дисков желание заставить «позеленеть» пользователя.
Вдобавок, такое поведение параноидально нервирует наблюдателей за SMART-параметром Load_Cycle_Count. Хотя данных моделях дисков этот параметр не смертелен до 300 000 (!), страшна не цифра, а эффект от того, что к диску невозможно вовремя обратиться, несмотря на постоянно крутящиеся блины (параметр hdparm -S0 работает).
Спецификации энергопотребления жестких дисков
Чтобы нам было, от чего оттолкнуться, в таблице 1 приведу данные по энергопотреблению основных серий профессиональных дисков, указанные в их спецификациях.
Таблица 1. Мощность энергопотребления (ватт) жестких дисков для профессиональных применений (согласно спецификациям)
Итак, вы приобрели новый ноутбук, начинаете его настраивать, устанавливаете операционную систему, весь нужный софт, игрушки. Ничто не предвещает беды. И вот, наконец со всем разобравшись, можно расслабиться и почитать интересную статью в интернете. Но что-то нарушает ваш покой. Странные щелчки доносятся из недр устройства…
Начав прислушиваться, вы периодически улавливаете звук электродвигателя, такой, как у разгоняющегося электромобиля. Может быть оставить все как есть и не трогать, наверное это предусмотрено производителем? Эту прекрасную мысль, полезную во многих других ситуациях, полностью отобьет запуск любой игры или фильма. Периодическое зависание изображения на 2-3 секунды станет вашей головной болью и кошмаром на несколько ближайших дней.
В очередной такой «зависон» вы обратите внимание, что ему будет предшествовать щелчок, а в момент зависания услышите тот самый звук электродвигателя. И, немного разбираясь в компьютерном железе, вы зайдете в google с вопросом: «Жесткий диск не дает жить, что делать».
Все дело в APM (Advanced Power Management)
Если серьезно, проблема далеко не нова, но даже недавно я видел на хабре комментарии, где люди просили помощь по данному вопросу. Здесь речь идет о дисках WD и реализации функции APM в них, но думаю у других производителей будет та же причина. При беглом поиске google нам любезно предлагает утилиту wdidle3. Проблема лишь в том, что это DOS программа требующая создания загрузочной флешки. И, например, для моего диска она не помогла.
Решение, которое я предлагаю особенно полезно, если у вас в качестве основного накопителя установлен SSD, а HDD используется в качестве доп. накопителя. В обычном режиме он будет использовать свое стандартное поведение и отключаться через 8 секунд бездействия, не беспокоя вас своим шумом и не потребляя заряд батареи. При желании сыграть в игру или поработать с жесткого диска, вы нажимаете одну кнопку и он не паркуется заложенное в энергоплане Windows время (20 минут по дефолту). Утилита wdidle не даст вам такого выбора.
Используем HDDScan
Собственно к делу. Программа которую мы будем использовать называется HDDScan. Причем версии старше 3.2 у меня работали не совсем корректно, поэтому рекомендую остановиться на ней.
Скачиваем эту портабельную программу и распаковываем в удобное для нас место. Запускаем, и если дисков больше одного, слева выбираем наш HDD. Далее нажимаем «большую синюю кнопку» по центру и выбираем пункт «Build Command Line».
В открывшемся окне проделываем следующую процедуру: напротив раздела «Advanced Power Managment» выбираем Disable, нажимаем Save, и сохраняем bat-файл. Назовем его, к примеру, «Disable_HDD_APM.bat». Аналогично выбираем Enable и сохраняем еще один батник.
В результате у нас появляются два bat-файла примерно одинакового содержания:
На этом можно было бы и закончить, эти файлы позволяют отключать функцию APM передавая контроль над временем парковки Windows, и соответственно, включить для возврата исходного поведения. Но, во первых это не очень красиво и удобно, во вторых будет вызываться запрос UAC при запуске bat-файла. Для преодоления этих неудобств предлагаю воспользоваться Планировщиком Windows.
Обходим UAC
Запускаем (если что, вводим в пуске «планировщик» чтобы его найти), и создаем задачу.
Для начала отключение APM. Даем осмысленное имя, и главное не забываем выставить выполнение с наивысшими правами. Переходим на вкладку Действия, нажимаем Создать. Здесь указываем путь к нашей программе HDDScan, а в «добавить аргументы», все что идет в батнике после пути к программе. К примеру:
И довершающий шаг, на вкладке Условия убираем галочку напротив «Запускать только при питании от электросети». Теперь OK.
Фух, создаем вторую задачу, и заполняем аналогично для включения APM (только используем аргумент из второго батника). В результате у нас в планировщике должно стать на две задачи больше, запоминаем их имена. Bat-файлы нам больше не понадобятся, можно будет от них избавиться. Последний этап наших изысканий это создание ярлыков на задачи планировщика.
Делаем красиво
Тут все просто, в укромном месте ПКМ -> Создать -> Ярлык. На предложение пути, вводим следующее:
Создаем ярлык сначала для одной, потом для второй задачи. Получаем два ярлычка, которые кладем в надежное место, и, например, кидаем на панель задач. Для красоты можно применить к ним соответствующие иконки.
Дело сделано
Это всего лишь один из множества вариантов решений, можно использовать другой софт, по своему настроить планировщик. Но суть в том, что мы можем недостаток обернуть себе на пользу. В особенности, если системным диском стоит SSD: жесткий диск при использовании не будет парковаться и раздражать вас фризами, а в отсутствие активности может отключиться(в зависимости от модели), и избавить вас от побочных эффектов своей работы.
Прежде, чем строить инфраструктуру на базе виртуализации, и, тем более – вводить ее в промышленную эксплуатацию, необходимо позаботиться о том, чтобы ресурсы системы использовались наиболее эффективно, и производительность была максимальной. В этом цикле статей я дам рекомендации о том, как оптимизировать систему по производительности – как со стороны хоста, так и со стороны виртуальных машин.
Начнем с хоста
- Процессор
- Память
- Дисковая подсистема
- Сетевая подсистема
Процессор – сердце компьютера
- Сколько ставить процессоров?
- Сколько нужно ядер?
- Их скоростные характеристики?
- Требуется больше лицензий на ПО – как на сами ОС, так и на ПО управления (SCVMM, SCCM, SCOM, etc.)
- Возрастают затраты на администрирование – три сервера вместо одного
- Три сервера потребляют больше энергии, а значит – выделяют больше тепла, и занимают больше места в стойке, чем один сервер, пусть и более мощный.
- Hyper-V Hypervisor Virtual Processor, % Total Run Time — этот счетчик отображает загрузку виртуальных процессоров. Можно задать отображение суммарной загрузки всех процессоров для запущенных виртуальных машин, а можно выбрать конкретный виртуальный процессор конкретной виртуальной машины.
- Hyper-V Hypervisor Root Virtual Processor, % Total Run Time – а этот счетчик показывает загрузку выбранных логических процессоров задачами, не связанными с Hyper-V.
Памяти много не бывает
- Сколько виртуальных машин будет запущено, и сколько памяти им понадобится? Объем памяти, необходимый каждой виртуальной машине зависит от задач, которые она будет выполнять. Подход тот же самый, что и для обычных серверов, но память виртуальным машинам можно выделять более гибко – не 1024 Мб, а, к примеру, 900 Мб.
- Хостовой ОС тоже нужна память. Рекомендуется оставлять как минимум 512 Мб свободной памяти на нужды гипервизора и самой хостовой ОС. Если объем свободной памяти опустится ниже 32 Мб – система не даст запустить больше ни одной виртуальной машины, пока память не освободится. Кроме этого, в хостовой ОС могут выполняться какие-то другие задачи, помимо виртуализации. Хотя это и крайне не рекомендуется, но факт все же имеет место быть, и это необходимо учитывать.
- Другие виртуальные машины (для сценариев Live Migration). Если инфраструктура планируется на базе отказоустойчивого кластера, то необходимо на каждом из хостов предусмотреть дополнительные объемы памяти. Дело в том, что виртуальные машины могут перемещаться с одного хоста на другой в случае ручного перемещения (Live Migration), или же в случае отказа одного из хостов. Если на хосте будет недостаточно памяти для запуска перемещаемых виртуальных машин – то они попросту не смогут на нем запуститься. Поэтому на этапе проектирования надо предусмотреть «неприкосновенный запас» в размере 50-100% от необходимого объема памяти. Возможно, ситуация немного улучшится с выходом Windows Server 2008 R2 SP1, в который входят технологии динамического распределения памяти, но точно я смогу сказать лишь тогда, когда сам это протестирую.
Жесткие диски: сколько их надо?
- RAID 0 – «массив с чередованием». Информация пишется блоками («страйпами») одновременно на несколько дисков. Благодаря этому чтение и запись больших объемов информации происходит значительно быстрее, чем с одного диска, и тем быстрее, чем больше дисков в массиве. Но есть один большой недостаток: низкая надежность. Выход из строя любого из дисков приведет к полной потере информации. Поэтому на практике RAID 0 используется достаточно редко. Один из примеров – промежуточное хранилище резервных копий в модели «Disk-to-disk-to-tape», когда надежность не так важна, как быстродействие.
- RAID 1 – «зеркалирование». При такой модели информация записывается одновременно на несколько дисков, причем содержимое всех дисков абсолютно идентично. Скорость записи и чтения не выше, чем для одиночного диска, но намного выше надежность: выход из строя одного диска не приведет к потере информации. Недостаток лишь один: высокая стоимость – там, где хватает и одного диска – приходится ставить два и более. Смысл имеет в тех случаях, когда надежность имеет решающее значение.
- RAID 4 и RAID 5 – «чередование с контролем четности». Предстваляет собой некую «золотую середину» между RAID 0 и RAID 1. Смысл состоит в том, что информация хранится на дисках как и в случае RAID 0 — блоками с чередованием, но помимо этого вычисляются контрольные суммы хранимых данных. В случае отказа одного из дисков – недостающие данные автоматически вычисляются по имеющимся данным и контрольным суммам. Разумеется, это приводит к снижению производительности, но в то же время данные не теряются, и при замене сбойного диска вся информация восстанавливается (этот процесс называется перестройкой массива). Потеря данных произойдет только при отказе двух и более дисков. Такие массивы отличаются тем, что скорость записи у них значительно ниже, чем скорость чтения. Происходит так из-за того, что при записи блока данных происходит вычисление контрольной суммы и запись ее на диск. RAID 4 и RAID 5 отличаются тем, что в RAID 4 контрольные суммы записываются на отдельный диск, а в RAID 5 – хранятся на всех дисках массива вместе с данными. В любом случае, для организации такого массива нужно N дисков для хранения данных плюс один диск. В отличие от RAID 1 и RAID 10, где количество дисков просто удваивается.
- RAID 6 – он же RAID DP, double-parity, двойная четность. То же самое, что и RAID 5, но контрольные суммы вычисляются два раза, с использованием различных алгоритмов. Хотя дисков здесь требуется уже не N+1, как с RAID 5, а N+2, зато такой массив может пережить даже одновременный отказ двух дисков. Встречается относительно редко, как правило – в системах хранения данных Enterprise-уровня, к примеру – NetApp.
- RAID 10 – «гибрид» RAID 0 и RAID 1. Представляет собой RAID 0 из нескольких RAID 1 (и тогда называется RAID 0+1) или наоборот – RAID 1 из нескольких RAID 0 (RAID 1+0). Отличается наивысшей производительностью, как по записи, так и по чтению, но в то же время отличается и высокой стоимостью – так как дисков требуется в 2 раза больше, чем необходимо для хранения данных.
- Physical Disk, % Disk Read Time
- Physical Disk, % Disk Write Time
- Physical Disk, % Idle Time
- Physical Disk, Avg. Disk Read Queue Length
- Physical Disk, Avg. Disk Write Queue Length
Сетевая подсистема
- Сколько виртуальных машин будет запущено одновременно, и какова будет нагрузка на сеть?
- Какова пропускная способность сети?
- Используются ли системы хранения данных с интерфейсом iSCSI?
- Есть ли у сервера аппаратные средства удаленного управления, не зависимые от установленной ОС (к примеру – HP iLO или Dell DRAC)?
На уровне хоста
Для серверов, у которых нет аппаратных средств удаленного управления рекомендуется один из сетевых интерфейсов оставлять незадействованным в виртуальных сетях, исключительно для задач управления. Это сильно снизит риск ситуации, когда при чрезмерной утилизации или же из-за неправильных настроек сетевого интерфейса пропадает возможность удаленного управления сервером. Сделать это можно либо на этапе инсталляции роли Hyper-V, сняв галочку с одного из сетевых интерфейсов, либо же после инсталляции – удалив виртуальную сеть, привязанную к сетевому интерфейсу, который будет использоваться для управления.
Кроме этого, на уровне хоста прямо таки необходимо установить как можно более «свежие» драйверы для сетевых адаптеров. Это нужно для того, чтобы воспользоваться специальными функциями сетевых адаптеров – VLAN, Teaming, TCP Offloading, VMQ (при условии, что сами сетевые адаптеры это поддерживают – как правило, это специализированные серверные сетевые адаптеры).
Сетевые нагрузки
iSCSI
Если планируется использовать системы хранения данных с интерфейсом iSCSI – крайне рекомендуется выделить для работы iSCSI отдельный сетевой интерфейс, а то и два – для работы MPIO. Если LUN’ы будут монтироваться в хостовой ОС – то нужно просто оставить один или два интерфейса не привязанными к виртуальным сетям. Если же iSCSI-инициаторы будут работать внутри виртуальных машин – для них нужно создать одну или две отдельных виртуальных сети, которые будут использоваться исключительно для трафика iSCSI.
VLAN-тегирование
VLAN-тегирование (IEEE 802.1q) означает «маркировку» сетевых пакетов специальным маркером (тегом), благодаря которому пакет может быть ассоциирован с определенной виртуальной сетью (VLAN). При этом хосты, принадлежащие к разным VLAN, будут находиться в разных широковещательных доменах, хотя и подключаться физически к одному и тому же оборудованию. Виртуальные сетевые адаптеры в Hyper-V так же поддерживают тегирование VLAN. Для этого нужно зайти в свойства виртуального адаптера в настройках виртуальной машины и прописать там соответствующий VLAN ID.
Активное оборудование
Рекомендации для хостовой ОС
- Меньший объем обновлений
- Меньшая поверхность атаки для потенциальных злоумышленников
- Меньшая нагрузка на процессор и память в родительской партиции
Запуск других приложений в хостовой ОС
Запуск в гостевой ОС сторонних (не имеющих отношения к Hyper-V) приложений, а так же установка других серверных ролей помимо Hyper-V может привести к сильному падению производительности, а так же к снижению стабильности. Дело в том, что из-за особенностей архитектуры Hyper-V, все взаимодействие виртуальных машин с устройствами проходит через родительскую партицию. Поэтому высокие нагрузки или «падение в синий экран» в родительской партиции обязательно приведут к падению производительности или просто к «падению» всех запущенных виртуальных машин. Сюда же можно (и нужно) отнести антивирусное ПО. Нужно ли оно вообще на хосте, который не будет заниматься ничем, кроме, собственно, виртуализации – это, конечно, тот еще вопрос. Тем не менее, если антивирус все же установлен – первое, что необходимо сделать – исключить из списка проверки все папки, где могут находиться файлы виртуальных машин. В противном случае, при сканировании может замедлиться производительность, а если в каком-нибудь VHD-файле обнаружится что-то похожее на вирус – то при попытке лечения антивирусный пакет может испортить сам VHD. Подобные случаи наблюдались и с базами MS Exchange, и потому первая рекомендация – не ставить вообще на серверах Exchange файловые антивирусы, а если и ставить – то добавить папки с базами в исключения.
Рекомендации для виртуальных машин
Шаги, которые необходимы предпринять для повышения производительности самих виртуальных машин – зависят от приложений, которые будут на них выполняться. У Microsoft имеются рекомендации (best practices) для каждого из приложений – Exchange, SQL Server, IIS, и других. Аналогичные рекомендации существуют для ПО других вендоров. Здесь я дам лишь общие рекомендации, не зависящие от конкретного ПО.
Здесь будет рассказано, почему нужно устанавливать Integration Services в гостевой ОС, как упростить развертывание новых виртуальных машин с помощью библиотеки VHD, и как поддерживать эти VHD в актуальном состоянии с выпуском новых патчей.
Сервисы интеграции
- Windows 2000 Server SP4
- Windows Server 2003 SP2
- Windows Server 2008
- Windows XP SP2, SP3
- Windows Vista SP1
- SUSE Linux Enterprise Server 10 SP3 / 11
- Red Hat Enterprise Linux 5.2 – 5.5
- IDE-контроллер – заменяет собой эмулируемый IDE-контроллер, что повышает скорость доступа к дискам
- SCSI-контроллер – является полностью синтетическим устройством и требует для работы обязательной установки интеграционных сервисов. К каждому SCSI-контроллеру можно подключить до 64 дисков, самих контроллеров может быть до 4 на каждую виртуальную машину.
- Сетевой адаптер – имеет более высокую производительность, чем эмулируемый (Legacy Network Adapter), и поддерживает особые функции, такие, как VMQ.
- Видео и мышь – повышают удобство управления виртуальной машиной через ее консоль.
- Operating System Shutdown – возможность корректного завершения работы гостевой ОС без логина в нее. Аналогично нажатию кнопки Power на корпусе ATX.
- Time Synchronization – ясно из названия – синхронизация системного времени между хостовой и гостевой ОС.
- Data Exchange – обмен ключами реестра между гостевой и хостовой ОС. Таким образом, к примеру, гостевая ОС может определить имя хоста, на котором она запущена. Эта возможность доступна только для гостевых ОС семейства MS Windows.
- Heartbeat – специальный сервис, периодически отправляющий специальные сигналы, означающие, что с виртуальной машиной все в порядке. Если гостевая ОС по какой-то причине, например, зависнет – она перестанет отправлять Heartbeat, и это может служить сигналом, к примеру, для автоматической перезагрузки.
- Online Backup – представляет из себя VSS Writer, позволяющий в любой момент получить консистентную резервную копию данных виртуальной машины. При запуске резервного копирования через VSS приложения, запущенные на виртуальной машине автоматически сбрасывают данные на диск, и потому бэкап получается консистентным.
Sysprep: создаем мастер-образ
- Создать новую виртуальную машину
- Произвести установку ОС, сервисов интеграции, всех доступных обновлений системы и дополнительного ПО, если таковое необходимо
- Подготовить установленную ОС с помощью утилиты Sysprep, которая удалит информацию о пользователе, ключе продукта и уникальный идентификатор (SID).
Оффлайн-установка обновлений
- Виртуальная машина разворачивается на специальном, выбираемом с помощью SCVMM, хосте – так называемый maintenance host.
- Виртуальная машина запускается, и на ней производится установка всех необходимых обновлений.
- Виртуальная машина останавливается, и VHD-файл возвращается в библиотеку уже с установленными обновлениями.
Заключение
Я дал некоторые рекомендации по настройке хостов и самих виртуальных машин, позволяющей достичь оптимального уровня производительности. Буду надеяться, что для кого-то эта информация окажется полезной.
Поставил я недавно в карман диск WD Green WD10EADS, совершенно забыв его «оттюнинговать».
Проблема выражается в том, что если на этот HDD постоянно идут операции чтения-записи, то все хорошо. И хорошо до тех пор, пока не запущен критичный к скорости записи на HDD процесс.
К примеру, все тот же многострадальный Transmission. Если поток данных прерывается на время, достаточное для проявления способности данных дисков «прятать голову в песок» (то есть на парковку), то при возобновлении закачки и быстром заполнении буферов Transmission, мы получаем «посмертную» записку в лог («wait atomic», а иногда даже и без нее) и зависание всего плеера.
Жареный петух клюнул меня именно тогда, когда я направил активные закачки на этот диск. Если мой ADSL-модем уходил в долгие реконнекты, а перед этим скорость приема у Transmission на C-200 была на максимуме, то по восстановлении соединения, скорость на рутере быстро показывала хороший результат и… брык! Приехали! Плеер в ступоре.
С аналогичными симптомами (A-200 с WD20EARS — рутер ночью перезагружается по расписанию, а плеер падает) обратился еще один «о-счастливчик».
Попытки поговорить с диском через стандартный набор команд ни к чему не приводят:
Не отбиваемое у этих дисков желание заставить «позеленеть» пользователя.
Вдобавок, такое поведение параноидально нервирует наблюдателей за SMART-параметром Load_Cycle_Count. Хотя данных моделях дисков этот параметр не смертелен до 300 000 (!), страшна не цифра, а эффект от того, что к диску невозможно вовремя обратиться, несмотря на постоянно крутящиеся блины (параметр hdparm -S0 работает).
Диагноз
Вышеизложенная особенность имеет свое имя и называется технологией IntelliPark™, которая в свою очередь относится к набору функций обеспечения энергосбережения IntelliPower™. Мне, как и большинству, непонятно кто же в WDC так решил, но время срабатывания этой недетской шутки ( таймер idle3 ), по-умолчанию выставлено на 8 секунд! . То есть, через это короткое время, электроника диска будет стараться уложить его головы на парковочную площадку. При этом совершенно фиолетово, что в данный момент по SATA в буфер (например для WD10EADS это 32 мегабайта, либо 64МБ для WD20EARS) кто-то уже льет свои данные, будучи в полной уверенности что они будут сохранены на диск. Этой «фиче» важнее поэкономить электричество за счет не болтающихся в воздухе в полной боевой готовности, а валяющихся в «гнезде» головок .
С учетом ранее приведенной скорости записи на файловую систему Ext2 в 40 мегабайт/сек буфер может быть переполнен за … очень быстро! Учтем, что диск не в состоянии отдать все мегабайты буфера под запись. У него там ранее считанные данные лежат, которые имеют свой не просроченный срок годности. Очередная массовая попытка слива от Transmission после простоя, вызывает у диска порыв к записи. Но пока головы снимутся с «якоря», отпозиционируются (тут еще и «противный тормозистор» но необходимый для тишины в помещении, ключ hdparm’а -M128 замедляет скорость перемещения головок) и запишут, буфер не может быть освобожден для новой порции.
А когда у Linux на борту плеера заканчивается допустимое терпение (таймауты) на операцию, то получаем мы зависание.
Читайте также: