Записки IT специалиста
Записки IT специалиста
Производительность дисковой подсистемы — краткий ликбез.
- Автор: Уваров А.С.
- 08.02.2013
Когда заходит речь о производительности в первую очередь обращают внимание на частоту процессора, скорость памяти, чипсет и т.д. и т.п., про дисковую подсистему если и вспоминают, то мимоходом, чаще всего обращая внимание только на один параметр — скорость линейного чтения. В тоже время именно дисковая подсистема чаще всего становится узким местом в системе. Почему так происходит и как этого избежать мы расскажем в данной статье.
Прежде чем говорить о производительности вспомним как устроен жесткий диск, так как многие особенности и ограничения HDD заложены именно на физическом уровне. Не вдаваясь в подробности, можно сказать что диск состоит из одной или нескольких магнитных пластин над которыми расположен блок магнитных головок, пластины в свою очередь содержат намагниченные концентрические окружности — цилиндры (дорожки), которые в свою очередь состоят из небольших фрагментов — секторов. Сектор — минимальное адресуемое пространство диска, его размер традиционно составляет 512 байт, хотя некоторые современные диски имеют более крупный сектор размером в 4 Кбайт.
Во время вращения диска сектора проходят мимо блока магнитных головок, которые осуществляют запись или чтение информации. Скорость вращения (угловая скорость) диска в конечный момент времени величина постоянная, однако линейная скорость различных участков диска различна. У внешнего края диска она максимальна, у внутреннего — минимальна. Рассмотрим следующий рисунок:
Как видим за один и тот же промежуток времени определенная область диска сделает поворот на один и тот же угол, если мы обозначим эту область в виде сектора, то окажется что в него попадет пять секторов с внешней дорожки и только три с внутренней. Следовательно за данный промежуток времени магнитная головка считает с внешнего цилиндра большее количество информации, чем с внутреннего. На практике это проявляется в том, что график скорости чтения любого диска представляет собой снижающуюся кривую.
Начальные сектора и цилиндры всегда располагаются с внешней стороны, обеспечивая максимальную скорость обмена данными, поэтому рекомендуется размещать системный раздел именно в начале диска.
Теперь перейдем на более высокий уровень — уровень файловой системы. Файловая система оперирует более крупными блоками данных — кластерами. Типичный размер кластера NTFS — 4 Кб или 8 секторов. Получив указание считать определенный кластер диск произведет чтение 8 последовательных секторов, при последовательном расположении данных операционная система даст указание считать данные начиная с кластера 100 и заканчивая кластером 107. Данное действие будет представлять собой одну операцию ввода-вывода (IO), максимальное количество таких операций в секунду (IOPS) конечно и зависит от того, сколько секторов пройдут мимо головки за единицу времени (а также от времени позиционирования головки). Скорость обмена данными измеряется в МБ/с (MBPS) и зависит от того, какое количество данных будет считано за одну операцию ввода-вывода. При последовательном расположении данных скорость обмена будет максимальной, а количество операций ввода-вывода минимально.
Здесь будет не лишним вспомнить о таком параметре как плотность записи, которая выражается в площади необходимой для записи 1 бита данных. Чем выше этот параметр, тем больше данных может вместить одна пластина и тем выше скорость линейного обмена данными. Этим объясняются более высокие скоростные характеристики современных винчестеров, хотя технически они могут ничем не отличаться от более старых моделей. Рисунок ниже иллюстрирует данную ситуацию. Как несложно заметить, при более высокой плотности записи за один и тот-же промежуток времени, при той же самой скорости вращения будет считано/записано большее количество данных
Теперь разберем прямо противоположную ситуацию, нам требуется считать большое количество небольших файлов случайным образом разбросанных по всему диску. В этом случае количество операций ввода-вывода будет велико, а скорость обмена данными низка. Основное время будет занимать ожидание доступа к следующему блоку данных, которое зависит от времени позиционирования головки и задержки из-за вращения диска. Простой пример: если после 100 сектора поступит команда прочитать 98, то придется ждать полный оборот диска, пока появится возможность прочитать данный сектор. Сюда же следует добавить время, которое требуется чтобы физически прочитать нужное количество секторов. Совокупность этих параметров составит время случайного доступа, которое имеет очень большое влияние на производительность винчестера.
Следует отметить, что для ОС и многих серверных задач (СУБД, виртуализация и т.п.) характерен именно случайный доступ с размером блока в 4 Кб (размер кластера), при этом основным показателем производительности будет не скорость линейного обмена данными (MBPS), а максимальное количество операций ввода-вывода в секунду (IOPS). Чем выше этот параметр, тем большее количество данных может быть считано в единицу времени.
Однако количество операций ввода-вывода не может расти бесконечно, это значение очень жестко ограничено сверху физическими показателями винчестера, а именно временем случайного доступа.
А теперь поговорим о фрагментации, суть этого явления общеизвестна, мы же посмотрим на него сквозь призму производительности. Для крупных файлов и линейных нагрузок фрагментация способна значительно снизить производительность, так как последовательный доступ превратится в случайный, что вызовет резкое снижение скорости доступа и также резко увеличит количество операций ввода-вывода.
При случайном характере доступа фрагментация не играет особой роли, так как нет никакой разницы в каком именно месте диска находится тот или иной блок данных.
Появление дисков с более крупным 4 Кб сектором стало причиной появления еще одной проблемы: выравнивания файловой системы относительно секторов диска. Здесь возможны два варианта: если файловая система выровнена, то каждому кластеру соответствует сектор, если не выровнена, то каждому кластеру соответствует два смежных сектора. А так как сектор это минимальная адресуемая единица, то для считывания одного кластера потребуется считать не один, а два сектора, что негативно скажется на производительности, особенно при случайном доступе.
Реальная производительность жесткого диска — это всегда баланс между скоростью обмена данными и количеством операций ввода вывода. Для последовательного чтения характерен большой размер пакета данных, который считывается за одну операцию ввода вывода. Максимальная скорость (MBPS) будет достижима при последовательном чтении секторов с внешнего края диска, количество операций ввода-вывода (IOPS) будет при этом минимально — дорожки длинные, позиционировать головку нужно реже, данных при этом считывается больше. На внутренних дорожках линейная скорость будет ниже, количество IO — выше, дорожки короткие, позиционировать головку нужно чаще, данных считывается меньше.
При случайном доступе скорость будет минимальна, так как размер пакета данных очень мал (в худшем случае кластер) и производительность упрется в максимально доступное количество IOPS. Для современных массовых дисков это значение равно около 70 IOPS, нетрудно посчитать, что при случайном доступе с размером пакета в 4 Кб мы получим максимальную скорость не более 0,28 MBPS.
Непонимание этого момента часто приводит к тому, что дисковая подсистема оказывается бутылочным горлышком, которое тормозит работу всей системы. Так, выбирая между двумя дисками с максимальной линейной скоростью в 120 и 150 MBPS, многие не задумываясь выберут второй, не посмотрев на то, что первый диск обеспечивает 70 IOPS, а второй всего 50 IOPS (вполне характерная ситуация для экономичных серий), а потом будут сильно удивляться тому, почему «более быстрый» диск сильно тормозит.
Что будет, если количества IOPS диска окажется недостаточно чтобы обработать все запросы? Возникнет очередь дисковых запросов. На практике все несколько сложнее и очередь диска будет возникать даже в том случае, когда IOPS достаточно. Это связано с тем, что различные процессы, обращающиеся к диску, имеют разный приоритет, а также то, что операции записи всегда имеют приоритет над операциями чтения. Для оценки ситуации существует параметр длина очереди диска, значение которого не должно превышать (по рекомендациям Microsoft)
В любом случае постоянная большая длина очереди говорит о том, что системе недостаточно текущего значения IOPS. Увеличение очереди диска на уже работающих системах говорит либо о увеличении нагрузки, либо о выходе из строя или износе жестких дисков. В любом случае следует задуматься об апгрейде дисковой подсистемы.
На этом мы закончим наш сегодняшний материал, приведенной информации должно быть достаточно для понимания физических процессов, происходящих при работе жесткого диска и того, как они влияют на производительность. В следующих статьях мы рассмотрим, как правильно определить, какое количество IOPS нужно в зависимости от характера нагрузки и как правильно спроектировать дисковую подсистему, чтобы она удовлетворяла предъявляемым требованиям.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
GPT и MBR: Что это такое, как определить и конвертировать разметку диска
Простыми словами о сложном — что такое MBR и GPT, как работают разметки и как преобразовать одну в другую? Обо всем этом подробно вы можете узнать в нашей статье.
Содержание статьи:
Назначение MBR и GPT разметки носителя данных
MBR (Master Boot Record) и GPT (GUID Partition Table) представляют собой два разных способа хранения информации о разделах на жестком диске. Данная информация включает в себя как сведения о принципе работы накопителей, так и определяет какой раздел станет загрузочным для системы.
Перед тем как приступать к работе с Windows и выбирать предложенный раздел по умолчанию, стоит взвесить все за и против. Стандартный вариант не всегда может стать оптимальным.
В этой статье мы разберем что из себя представляют разметки GPT и MBR, какая из них лучше, приведем способ определения уже существующих разметок и как их изменить на более подходящие.
Что такое MBR на жестком диске
Главная загрузочная запись (Master Boot Record, MBR) — представляет собой код и набор данных, необходимый для последующей загрузки операционной системы. Применялась с 1983 года вплоть до введения в эксплуатацию UEFI схемы GPT в 2010-м году.
Как вы помните, ранее в ходу были компьютеры с операционной системой, которая поддерживала только 32-битный формат. При запуске этих машин, первым в работу вступает BIOS (MBR использует версию Legacy) и далее происходит выбор устройства, с которого будет произведен последующий запуск. Это может быть дискета, жесткий диск или любой указанный в настройках сетевой ресурс. В случае же, если в компьютере установлен только один раздел, выбор будет однозначен и загрузка произойдет только с единственного уникального устройства.
Master Boot Record работает с дисками размером до 2 Тб и не поддерживает носители, превышающие этот порог. Кроме того, MBR поддерживает только до 4 основных разделов. Если вам нужно больше, придется один из основных блоков сделать расширенным. Это приведет к потере одного из разделов, который сольется с основным, выбранным вами.
Legacy BIOS, с которым работает MBR, характеризуется следующими особенностями:
- Драйверы загружаются при старте операционной системы после загрузки самого BIOS.
- Все подключенные устройства запускаются в порядке очереди.
- Может быть создано только 4 логических раздела размером до 2 Тб.
В 2020 году Master Boot Record морально устарел и не подходит для использования на современных компьютерах. Почти все они используют GPT.
Что такое GPT на HDD и SSD дисках
Понятие GPT состоит из трех сокращенных слов — GUID Partition Table. Согласно Википедии, GPT — это стандарт формата размещения таблиц разделов на физическом жестком диске. Он является частью расширяемого микропрограммного интерфейса (Unified Extensible Firmware Interface, UEFI) — стандарта, предложенного Intel на замену BIOS. Таким образом, GUID Partition Table — это новое поколение разметок дисков, пришедшее на смену устаревшей MBR.
Диск GPT состоит из трех частей:
- Первичная таблица разделов.
Содержит защитную разметку MBR, заголовок GPT и таблицу разделов, которая нужна системе для загрузки информации и доступа к логическим разделам. - Обычные разделы данных.
Это физическое место, где хранятся ваши данные и личные файлы. - Резервная таблица разделов.
Область для диска GPT, в которой хранится информация о резервном копировании для таблицы заголовков и разделов GPT. Используется в случае потери или повреждения первичной таблицы.
В GPT больше не используется привычный нам BIOS. Данное “предзагрузочное” состояние по прежнему продолжают так именовать, по памяти, но официально оно имеет совершенно другое название — UEFI. И оно имеет существенные отличия, в сравнении с предшественником:
- Прежде всего, это совершенно новая разметка, никак не относящаяся к старой MBR и BIOS.
- Позволяет создавать неограниченное количество разделов любого объема.
- Обладает более высокой скоростью загрузки, особенно при использовании нескольких объемных жестких дисков.
- Драйверы загружаются одновременно с UEFI и затем переходят под управление операционной системы.
- Присутствует Secure Boot — система, обеспечивающая безопасность загрузки Windows.
- Поддерживает улучшенный графический интерфейс.
На сегодняшний день, GUID Partition Table является единственной подходящей разметкой для полноценной работы компьютера. Работает разметка только в сочетании с UEFI, в то время как MBR кооперирует только с Legacy BIOS.
Как определить разметку диска
Определить разметку жесткого диска или твердотельного накопителя довольно просто. Для этого нужно воспользоваться утилитой “Управление дисками” или же командной строкой. Начнем мы с самого простого.
Определение разметки с помощью утилиты “Управление дисками”
1. Щелкните правой кнопкой мыши по меню пуск или используйте комбинацию клавиш Windows + X.
2. Откройте утилиту Управление дисками.
3. В новом окне вы увидите полный список подключенных устройств, который включает в себя как физические диски, так и их логические разделы.
4. Далее нужно открыть свойства диска. Но не торопитесь кликать по физическим и логическим разделам (в верхней части окна). Через них нельзя получить доступ к нужной информации. Вместо этого обратите внимание на нижнюю часть и выберите нужный физический диск.
5. Щелкните по диску правой кнопкой мыши и откройте Свойства.
6. В новом окне найдите вкладку Тома и кликните по ней.
7. Обратите внимание на блок Стиль раздела. Он содержит информацию о разметке вашего диска. В нашем случае это Таблица GUID.
Определение разметки с помощью командной строки
Второй способ определить разметку жесткого диска — использование командной строки. Он менее удобен и требует знания вводимых команд. Тем не менее, результативность способа от этого не страдает.
1. Откройте командную строку от имени администратора.
2. Введите команду diskpart и нажмите Enter.
3. Далее введите команду list disk.
4. Обратите внимание на представленный список дисков. Если ваше устройство работает с разметкой GPT, оно будет отмечено символом “*” (звездочкой). Иногда индикатор может смещаться в сторону.
Конвертация MBR в GPT и обратно
Чтобы преобразовать MBR диск в GPT или GPT в MBR, вам понадобится вайпнуть его содержимое. То есть удалить. Поэтому рекомендую сначала сделать бэкап важных файлов и трижды все перепроверить, прежде чем приступать к конвертации. В процессе преобразования, описанном ниже, диск сотрет всю информацию на диске, включая файлы и таблицы раздела, а затем восстановится с обновленной разметкой.
Для того чтобы преобразовать один тип разметки в другой, рекомендуем скачать и установить приложение Acronis Disk Director.
1. Запустите приложение.
2. Выберите диск, который нужно преобразовать.
3. Щелкните по номеру диска и выберите действие Преобразовать в MBR/GPT. Обратите внимание! Кликать нужно именно по нумерации диска, а не по его названию или букве.
4. Подтвердите действие. Не переживайте, данный процесс работы проходит в режиме “подготовки”. Если вы передумаете, предварительные настройки перед запуском конвертации можно отменить и диск не перенесет какие-либо изменения.
5. Щелкните по клавише Применить ожидающие операции и дождитесь завершения процесса преобразования. Это отнимет не больше пары минут.
Одна технология смещает другую. Так было и всегда будет. Раньше и MBR казалось чем-то невероятным, но не так давно GPT практически вытеснил своего предшественника из конкурентов и занял лидирующую позицию в списке доступных пользователю разметок. Может быть в ближайшие годы мы увидим что-то новое.
Похожие статьи про восстановление данных:
Как создать, использовать и восстановить данные с виртуального жесткого диска VHD в Windows 10
Узнайте что такое виртуальный жесткий диск (VHD), как его создать, применить на практике и, при необ.
Как определить состояние жесткого диска — атрибуты S.M.A.R.T
В этой статье мы рассмотрим S.M.A.R.T.-атрибуты жесткого диска, по которым вы легко сможете определи.
Как восстановить удаленный раздел диска компьютера или ноутбука
К сожалению, возникновение не каждой неполадки можно предотвратить. Даже если вы со всем вниманием и.
Сколько места должно быть на диске C
В компьютере буквой «C:» чаще всего обозначают основной логический диск. Он используется для хранения файлов операционной системы, программ и временных файлов. Попробуем разобраться, сколько места занимают эти файлы и какой объем следует выделить под них в Windows 10.
Место под системные файлы
Системные файлы — это важные элементы Windows 10. Кроме файлов самой системы в их состав входят драйвера и различные утилиты, которые необходимы для полноценного функционирования программной и аппаратной части компьютера.
Согласно официальным данным компании Microsoft, минимальные требования к объему диска для Windows 10 составляют 16 ГБ для 32-разрядной версии и 20 ГБ для 64-разрядной. Кроме этого, операционная система зарезервирует около 7 ГБ памяти для обеспечения надлежащей производительности и обновлений.
На изображении показано, сколько места занимают системные файлы на диске, когда установлена только Windows 10.
Под операционную систему рекомендуется выделить 30-50 ГБ.
Место под программы
Каждый использует свой набор программного обеспечения, поэтому четких рекомендаций здесь дать невозможно. Но исходя из практики, на диск «C:» стоит устанавливать только часто используемые программы. Все остальные, включая игры, лучше устанавливать на другой логический раздел.
Если следовать такой практике, то рекомендуем предусмотреть под программы от 30 до 50 ГБ.
Место под файл гибернации
Файл гибернации «hiberfil.sys» располагается в корне диска «C:» и служит для сохранения данных при входе компьютера в режим сна. Его размер контролируется операционной системой и может меняться. Максимально возможный размер равен объёму оперативной памяти.
Если в устройстве установлена планка ОЗУ на 8 ГБ, то следует рассчитывать, что файл гибернации может достичь такого же объема.
Место под виртуальную память
Виртуальная память «pagefile.sys» — это гигантский скрытый системный файл, используемый для подкачки, если не хватает объема оперативной памяти. Его размер может устанавливаться пользователем вручную или контролироваться операционной системой. Как показывает практика, чем больше оперативной памяти, тем меньше места занимает виртуальная память.
Согласно многим формулам, минимальный размер файла должен в полтора раза превышать объем оперативной памяти. То есть, при ОЗУ на 8 ГБ следует рассчитывать минимум на 12 ГБ под виртуальную память.
На практике, на моём компьютере с ОЗУ 8 ГБ и SSD диском, файл «pagefile.sys» занимает всего около 2 гигабайт. Но стоит учитывать, что это без использования больших программ и игр.
Место под временные файлы
К временным файлам относятся журналы операционной системы, содержимое корзины, кеш браузеров и других программ. Периодически Windows 10 самостоятельно удаляет устаревшие или не актуальные данные. Очистка также может осуществляться в ручном режиме.
Временные файлы имеют свойство быстро накапливаться и под них следует предусмотреть около 10 ГБ.
Вычисляем необходимый объем
Осталось просуммировать все вычисленные объемы и прибавить к этому запас в 20% свободного места, чтобы избежать в дальнейшем проблем со стабильностью работы Windows.
Просуммируем все объемы, исходя из того, что ОЗУ равняется 8 ГБ:
- Операционная система: 30-50 ГБ, берем среднее — 40 ГБ.
- Программы: 30-50 ГБ, берем среднее — 40 ГБ.
- Файл гибернации: 8 ГБ.
- Виртуальная память: 12 ГБ.
- Временные файлы: 10 ГБ.
- Запас в 20%: примерно 20 ГБ.
- ИТОГО: 130 ГБ.
Исходя из этого, делаем вывод, что минимальный объем диска «С» для Windows 10 должен составлять около 130-150 гигабайт.
На сегодняшний день дисковое пространство дешевое, поэтому не стоит ограничиваться этими цифрами и, если есть возможность, стоит указывать ещё больший запас. Также тенденции таковы, что под диск с операционной системой всё чаще выделяют отдельный физический SSD на 250-500 ГБ, а для хранения больших объемов статической информации — HDD.
Как создать раздел на жестком диске без форматирования
Для установки второй операционной системы требуется создание дополнительного раздела на жестком диске. Проще говоря, нам необходимо визуально разделить физический диск на два логических (один для Windows, например, другой — для Linux или MacOS). Подобный способ широко применяется в образовании. Сейчас в школах и институтах устанавливается Linux (из-за недорогой лицензии и вирусной неуязвимости) и привычная всем Windows для облегчения пользования. На домашнем же компьютере нередко случаются проблемы (особенно у людей, больше работающих с программным обеспечением), когда та или иная программа не может запуститься или попросту «тормозит». По причине незнания всегда аналогичные проблемы списываются на «неисправность» самой программы. Отнюдь. Все дело в несовместимостью с операционной системой. Поэтому не вредно бывает установить вторую ОС для уверенного пользования программным обеспечением в том случае, когда родная «операционка» не может справиться с задачей.
Помимо как для установки второй системы, жесткий диск делят еще непосредственно для разгрузки системы. От чего же ее разгружать? Все дело в том, что Windows со временем «разбрасывает» по всему логическому диску части файлов, как временных, так и постоянных. Такое логическое деление файла происходит всегда. Но если система долго не очищалась от временных файлов и не терпела чистки реестра, да и вообще если она стоит долгое время, то многие новые файлы «не находят места», так как старые логические данные продолжают оставаться на диске, хотя уже и не используются. Поэтому уместным будет разбиение одного большого диска на несколько малых, чтобы увеличить производительность системы и не засорять память гигабайтами ненужной информации. Еще один плюс такого способа заключается в том, что файлы будут разложены «по полочкам» (один диск, к примеру, для фотографий, а другой – для установки игр и прочих объемных программ).
Как происходит разделение диска.
Процесс разделения диска на тома словами явно не изобразить полностью, но кое-какие действия описать необходимо хотя бы для того, чтобы иметь о нем самое поверхностное представление. Итак, выше было сказано, что диск только физически блестящий и плоский круг, а визуально он представлен множеством ячеек логической памяти, слитых в единое целое до тех пор, пока на компьютере отображается один логический диск. После разделения часть ячеек теряет всякую связь с остальной частью и становится независимым диском.
Для разделения диска необходимо дополнительное программное обеспечение. Его, безусловно, можно скачать из Интернета. И там таких программ столь же много, сколько и информации о способах деления разделения. Сеть буквально кишит обсуждениями и вопросами на эту тему. Но большинство предоставляемых способов можно попросту назвать неадекватными. Во-первых, диск придется форматировать, что приведет к потере записанной на него информации (есть, конечно, вариант скопировать ее; но опять же, потребуется переносной жесткий диск, владеют которым не все). Собственно, эта статья и расскажет о том, как создать раздел без форматирования.
Как создать раздел на жестком диске без форматирования
Сразу приступим. Для начала закройте все окна и активные программы, наподобие Skype, Torrent, ICQ.
— Щелкните по кнопке «ПУСК» (кнопка расположена в левом нижнем углу рабочего стола). Выскочит интерактивное меню.
— Далее выберите «Панель управления» щелчком левой кнопки мыши. На рабочем столе появится окно со значками управления компьютером.
— Двойным щелчком левой кнопки мыши откройте «Администрирование». Окно обновится.
— Из семи появившихся ярлыков двойным щелчком необходимо открыть один — «Управление компьютером».
— В левой части выскочившего окошка нужно найти закладку «Управление дисками» и сделать по ней двойной щелчок.
В правой части высветятся существующие на данный момент диски и их характеристики. Внимательно выберите диск, на котором хотите создать раздел.
— Одним щелчком правой кнопки по выбранному диску Вы вызовете контекстное меню диска.
— В контекстном меню щелкните левой кнопкой мыши по пункту «Сжать том».
Начнется сканирование свободного места на диске.
— Далее нужно ввести количество свободного места на диске (оно будет максимальным для будущего раздела).
— Нажмите кнопку «Сжать». Процесс займет до нескольких минут в зависимости от размера диска.
— Новый раздел появился. Но он еще не готов к полноценной работе.
— Щелкните правой кнопкой мыши по новообразовавшемуся разделу. В контекстном меню выберите «Форматирование». Начнется процесс форматирования пустого пространства в работоспособный раздел диска, которому будет присвоена собственная буква.
— Компьютер необходимо перезапустить, чтобы все внесенные изменения вступили в силу.
Обратите внимание, что при выборе размера нужно быть предельно осторожным, дабы избежать возможного стирания файлов. Главное преимущество описанного способа заключается в том, что весь диск форматировать не требуется.