Как увеличить производительность ssd в ESXi 5.5

Как увеличить производительность ssd в ESXi 5.5

Все доброго времени суток, как вы уже видели из названия статьи речь пойдет о том, как увеличить производительность ssd на примере гипервизора VMware ESXi 5.5. Данная методика подойдет и для любых ссд дисков, особенно для тех кто уже успел поработать пару лет и изрядно потрепанны. Все сделано, для того, чтобы старые и новые RAID контроллеры, смогли выжать максимум из новых твердотельных дисков и предоставить клиентам максимальную скорость у сервисов.

Ранее я вам уже рассказывал как увеличить срок службы ssd диска, есть еще один очень важный параметр или даже требование, которое так же увеличит его долголетие на порядок, о нем чуть ниже, я лишь напомню, что сами вендоры вас предупреждают, что когда места на ссд диске совсем нет, он сильно теряет в производительности, но 90 процентов пользователей не знают, что советуют производители, чтобы избежать падения скорости.

Напомню, что при покупке и выборе ssd диска, вы можете понять сколько и при какой нагрузке он проживет для этого есть такие показатели DWPD и TBW, на основании этих параметров вы поймете сколько можно в день записывать данных и на сколько лет хватит запаса твердотельного диска при такой нагрузке.

Влияние свободного места на производительность ssd

Выше я описал, что от размера свободного места на ssd вы продлеваете ее жизнь и производительность, ниже рассмотрим почему так и что за свободное место имеется в виду.

Как работает заполнение SSD диска

Ниже я выложил картинку, с копированием данных, и так у нас с вами есть в распоряжении контроллера свободный блок Y и блок данных X, мы начинаем перемещать четыре страницы данных A,B,C,D. Если у твердотельника много свободных блоков, то проблем не будет. Ссд контроллер, старается работать с постоянной скоростью, но его производительность зависит от некоторых факторов и может варьироваться.

Если у ssd контроллера не достаточно или очень мало свободного пространства, ему приходится в фоновом режиме совершать большее количество операций ввода/вывода (iops), что как сами понимаете не увеличивает производительность ssd

Как увеличить производительность ssd в ESXi 5.5-2

А что будет если вы забьете ваш диск на 99 процентов и у вас практически не останется свободных блоков, тут не нужно быть гадалкой, производительность ssd просядет, и просесть может существенно, все будет зависеть от контроллера и флеш памяти на нем. Нам поможет резервная область SSD или как ее еще называют over provisioning

Что такое резервная область ssd или over provisioning

Давайте теперь разберемся в понятии резервная область over provisioning. И так все твердотельные диски изначально имеют больший объем памяти, чем видит любая ос, этот резерв диска (spare area) расположен в монопольном распоряжении контроллера, и вот это обладание прелестью 🙂 и называется over provisioning. Если немного это описать заумно, то получиться так.

Over provisioning (OP) - это процесс выделения дополнительного пространства на SSD, которое не видно пользователю и не используется для хранения данных. Это делается для улучшения производительности и долговечности SSD. Over provisioning позволяет увеличить эффективность работы контроллера SSD и улучшить производительность записи и стирания данных. Когда SSD имеет больше свободного пространства, контроллер может распределять запись данных на более широкую область памяти, что снижает износ конкретных ячеек памяти. Также over provisioning может использоваться для замены изношенных ячеек памяти на новые, что продлевает срок службы SSD. Это особенно полезно для SSD с низким значением TBW.

Думаю теперь немного стало проясняться, что это некая скрытая и заложенная производителем область свободных блоков, отданная ssd контроллеру. Ниже представлена сводная таблица, где вы увидите рекомендуемые проценты, под тот или иной сектор задач.

over provisioning

Как считается объем ссд

У единиц измерения емкости дисков существует два типа приставок: В 1998 году Международное бюро мер и весов заявило, что приставки СИ относятся только к степеням десяти и не должны использоваться для обозначения степеней двойки.

В 1999 году МЭК ввела стандарт IEC 60027-2 с новыми приставками для обозначения количества информации. В 2008 году вышел аналогичный стандарт IEEE 1541 (различие только в том, что IEC предлагает писать «bit» полностью вместо «b» у IEEE). Использование этих приставок одобрено Международным комитетом мер и весов. Для обозначения степеней двойки в ближайшей приставке СИ второй слог заменяется на «bi» от binary (двоичный): kibibyte — KiB, mebibyte — MiB, gibibyte — GiB.

ГОСТ 8.417-2002, приложение А: «В соответствии с международным стандартом МЭК 60027-2 единицы «бит» и «байт» применяют с приставками СИ» (заглавные буквы К, М, Г,… обозначающие степени 10).

Также в стандарте сказано: «Исторически сложилась такая ситуация, что с наименованием «байт» некорректно (вместо 1000 = 103 принято 1024 = 210) использовали (и используют) приставки СИ: 1Кбайт = 1024 байт, 1Мбайт = 1024 Кбайт, 1Гбайт = 1024 Мбайт и т.д. При этом обозначение Кбайт начинают с прописной буквы в отличие от строчной буквы «к» для обозначения множителя 103

31 октября 2009 года Правительство РФ утвердило «Положение о единицах величин, допускаемых к применению в Российской Федерации», которое гласит: «Наименование и обозначение единицы количества информации «байт» (1 байт = 8 бит) применяются с двоичными приставками «Кило», «Мега», «Гига», которые соответствуют множителям «210», «220» и «230» (1 Кбайт = 1024 байт, 1 Мбайт = 1024 Кбайт, 1 Гбайт = 1024 Мбайт). Данные приставки пишутся с большой буквы. Допускается применение международного обозначения единицы информации с приставками «K» «M» «G», рекомендованного Международным стандартом Международной электротехнической комиссии МЭК 60027-2 (KB, MB, GB, Kbyte, Mbyte, Gbyte).»

Т.е. для байт приставки СИ теперь обозначают степени двойки, а для бит всё остаётся по ГОСТ — приставки СИ обозначают степени 10.
1 Мбайт = 1 MiB = 1024х1024 байт, 1 Мбит = 1 Mb = 1000х1000 бит.

  • Десятичные (приставки СИ) – это гигабайты, которые обозначаются символом GB или ГБ. В одном гигабайте 109 или 1 000 000 000 байт.
  • Двоичные (приставки МЭК) – это гибибайты, которые обозначаются символом GiB или ГБ. В одном гибибайте 230 или 1 073 741 824 байт.

Как увеличить производительность ssd в ESXi 5.5-3

Подытожим, вендоры выпускающие HDD и SSD используют десятичные приставки, и пишут емкость в Гб, вот ос подсчитывают объем hdd и ssd в гибибайтах (за исключением Apple OS X 10.6 и старше, использующих гигабайты), а так как GB имеет меньший объем чем GiB, то и полезная область диска будет меньше, чем будет написано на самом диске. Еще иMicrosoft со своим Windows внесла небольшую путаницу, отображая размер hdd в GB, а самое интересное что считает их в GiB. Тут все дело в том, что винда вышла раньше чем данный стандарт, и видимо им сложно перелопачивать кучу кода, чтобы подстроиться под него.

Как посчитать GiB

Тут тоже Америку открывать не нужно, все уже известно, для того чтобы понять реальный объем в GiB, нужно

Gb поделить на 1.073741824

Для примера возьмем 1 тб sumsung evo 850 и вычислим, что в итоге у вас будет 953,67 gib, но все это опять же зависит от вендора, так как у каждого свои дополнительные технологии имеются, вот простой пример sumsung evo 840 и мы видим 931 gb

Как увеличить производительность ssd в ESXi 5.5-5

а вот transend и вроде бы тот же 1тб, но мы видим уже 953,344 gb.

Как увеличить производительность ssd в ESXi 5.5-6

Откуда берется over provisioning ssd

Давайте рассмотрим вопрос откуда на ssd присутствует резервная область over provisioning ssd.

over provisioning ssd

И так, все компании, которые сами создают ssd диски, пишут его емкость в гигабайтах, но не все детали так прозрачны. Предположим у вас твердотельный ссд с 256 gb, как пишет вендор у вас будет 256GiB флэш-памяти NAND, но вы увидите 238.4GiB дискового пространства, вопрос где остальное? А вот остальная память и есть тот самый резервный фонд под названием over provisioning, он спрятан от вас специально. В итоге мы видим, что это где то 7 процентов, от общего объема.

История круглых цифр в объемах SSD

Как увеличить производительность ssd в ESXi 5.5-4

Наверное вам известно, что существуют твердотельные ссд объема в 120 или 240 gb, а вам приходило в голову почему такие цифры, когда все привыкли к 128 и 256GB. Не стандартные объемы вы можете увидеть например у SandForce, так как у них есть технология RAISE, и для ее реализации нужна дополнительная память. В дисках с заявленным объемом 240GB на самом деле 256GiB флэш-памяти, в них вам будет 223.5 GiB доступно, и если посчитать то получается контроллер оставил себе 12,7 процента в over provisioning.

Для чего нужна резервная область over provisioning

У всех твердотельных накопителей резервная область служит для трех целей.

  • Хранение мусора > ссд накопители, всегда имеют запас блоков памяти, которые операционная система не видит и не имеет туда доступа, в результате чего сборка хлама производится не так часто.
  • Увеличение времени износа ссд > ну тут все логично если у вас есть у контроллера запасные блоки, то это увеличивает время жизни, а так же позволяет проводить выравнивание более равномерно, задачей контроллера является равномерное распределение данных по всем блокам SSD
  • Замена отработавших блоков памяти > тут тоже логично, если блок отработал свое время и есть возможность его заменить на резервный, то это положительно скажется на увеличение производительности ssd

Напомню, что ос видит только размеченную область флэш-памяти, а вот контроллер использует все полностью, логично что чем больше у него памяти в наличии, тем меньше появляется нужда в сборе мусора, что в итоге влияет на улучшение производительности ssd,

Помните золотое правило, логично, что если минимизировать операции чтения, записи или изменения, то вы увеличите жизнь диска, так что резервная область поможет вам частично это осуществить, не забудьте выше почитать статью по ссылке, о том что еще можно сделать чтобы увеличить эти показатели

Как посмотреть over provisioning через PowerShell

Можно проверить размер over provisioning через PowerShell. Для этого можно использовать команду Get-PhysicalDisk из модуля StorageManagement, которая позволяет получить информацию о физических дисках, включая SSD.

Обратите внимание, что некоторые SSD-диски могут не предоставлять информацию о размере over provisioning через PowerShell, поэтому результаты могут отличаться в зависимости от модели SSD.

Запустите PowerShell удобным для вас методом и введите:

Get-PhysicalDisk | Where-Object MediaType -eq "SSD" | Select-Object DeviceID, Size, @{Name="OverProvisioningSize"; Expression={$_.AllocatedSize - $_.Size}}

Эта команда добавляет вычисляемое свойство OverProvisioningSize, которое вычисляет размер over provisioning путем вычитания Size из AllocatedSize. В моем примере, на первом SSD данная область отсутствует, на втором имеет 2097152 значение.

Как посмотреть over provisioning через PowerShell

Увеличиваем резервную область

Все теперь мы с вами знаем, что увеличить производительность ssd можно за счет увеличения резервной области ssd или параметра over provisioning, из этого вытекает логичный вопрос, а можно ли увеличить самостоятельно данный параметр, ответ конечно же да, многие вендоры предлагают вам специальные родные утилиты для получения smart дисков, да и функционал увеличения over provisioning ssd, хотя можно и без них, я вам все покажу.

  • Утилиты производителей твердотельных дисков > приведу простой пример, если у вас ссд от samsung, у данного производителя есть программка Samsung Magician в которой вы можете в пункте System management > over provisioning задать нужный процент, в данном примере это 10 процентов, ниже мы рассмотрим как этот процент влияет на производительность ssd

Увеличиваем резервную область

  • Не размеченное пространство > да именно его прячут и увеличивают специальные утилиты, так что если вы в ручную это сделаете, то это будет то же самое. Если мы говорим про windows, то когда вы инициализируете диск и в дальнейшем его форматируете, в Управлении дисками, то выбирайте не весь размер, а чтобы у вас было минимум 7-10 процентов, посмотрите по таблице выше, если это для серверов оставляем 30 процентов.

производительность ssd

Если вы уже разметили диск и хотите ее высвободить, то можно сжать место на диске, если мы говорим про Vmware ESXI 5.5, то там так же можно при форматировании datastore выбрать нужное количество пространства, которое требуется использовать, и вы также оставляете не размеченным 30 процентов от общего объема. Напомню это делается Configuration > Storage > Add storage > Formating и выбираете там Custom space settings

производительность ssd-2

Как видите второй способ более универсальный и не привязывает вас к тому или иному вендору.

  • На RAID контроллере > если у вас сервер и ваша дисковая подсистема построена на raid технологии, то можно сразу там отрезать он lun нужное количество объема, это будет более правильно, чем на уровне операционной системы.

Что еще влияет на производительность ssd

Тут приведу еще несколько примеров, что вам позволит увеличить производительность ssd на гипервизоре Vmware ESXi 5.5

  • SSD имеет тип Drive Type SSD > важно чтобы ваш гипервизор определял тип дисков из которого состоит его datastore как ссд, почитайте по ссылке как это сделать.
  • Виды кэша на RAID контроллере > тут тоже ни для кого не секрет, что правильный режим работы RAID контроллера залог производительности дисковой подсистемы, ознакомьтесь со всеми видами по ссылке слева.

Производительность в цифрах

И так давайте теперь разберемся, что это сулит в цифрах, у меня есть сервер IBM 3650 и в нем для установки VMware ESXi 5.5 стоят две ssd, samsung evo 840, сразу скажу, что он уже отслужили свое и плюс в 840-х были проблемы с производительностью. При обычном линейном копировании на зеркальный raid из данных ssd, у меня через 5-8 минут падала скорость с 800 мегабайт в секунду, до 10-30 мегабайт в секунду, была сильная просадка.

Как увеличить производительность ssd в ESXi 5.5

После того как я увеличил over provisioning, до 30 процентов, то скорость стала в 6 раз больше, и ниже 175 не падала

Как увеличить производительность ssd в ESXi 5.5-2

Так же можно сделать тестирование iops и скорости с помощью CrystalDiskMark, где при тесте 32 гигабайтным файлом, я получил 75 000 iops на чтение

Как увеличить производительность ssd в ESXi 5.5-3

вот как выглядят скорости при записи 1 ГБ файла.

Как увеличить производительность ssd в ESXi 5.5-4

Еще проведем тесты случайной записи блоков по 4К, проверим стабильность. На первой картинке мы не используем over provisioning, и как видите стабильность записи сильно скачет.

Как увеличить производительность ssd в ESXi 5.5-5

вот тут уже резервирование 12 процентов, видно улучшение

Как увеличить производительность ssd в ESXi 5.5-6

при 25 процентах over provisioning, стабильность еще лучше

Как увеличить производительность ssd в ESXi 5.5-7

при 50 еще больше, но это слишком жирно, отдавать половину места.

Как увеличить производительность ssd в ESXi 5.5-8

резюмируя, можно точно сказать, что технологии резервной области ssd, безусловно помогают увеличить производительность ssd и продлить ее жизнь

немного позитива

Оцените статью
Настройка серверов windows и linux
Добавить комментарий

  1. vmware

    А ведь работает

  2. Андрей

    А чем вы строите графики IOPS?

  3. Иван Семин автор

    crystal mark и iometer

  4. Руслан

    полезный мануал, особенно для новичков