[Высокая производительность, Системное программирование, Хранение данных] Бесплатное решение для создания программного гибрида SSD и HDD на домашнем ПК Windows Tiered Storage Spaces
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Привет, Хабр! Уже много лет я читаю замечательные посты, и, кажется, наконец нашел чем сам могу поделиться с сообществом. Сегодня я хотел бы рассказать про технологию создания программного гибридного локального диска на основе SSD и HDD. Впервые я заинтересовался этой технологией когда купил себе новый процессор от Ryzen и прочитал статью про AMD StoreMI, но к сожалению поддержка данного продукта прекратилась, а покупать FuzeDrive или PrimoCache не хотелось.
В серверных версиях windows существует весьма интересная технология Tiered Storage Spaces, которая позволяет легко объединять один или несколько SSD и HDD в общий пул - логический диск, на котором часто используемые “горячие” данные будут незаметно для пользователя переноситься на SSD, а “холодные” данные, к которым пользователь обращается не так часто, будут при этом храниться на HDD. Про настройку данной технологии на серверных продуктах можно почитать тут поссылке, также уже существует несколько статей на Хабре. Но, как оказалось, данная технология присутствует также и на настольной версии windows, правда настраивается она только через командную строку так как нет GUI. Для упрощения этого процесса существует репозиторий со скриптами, которые позволяют автоматизировать процесс создания tier storage.
Для хранения важных данных не рекомендуется использовать конфигурации windows storage spaces с выключенным mirroring. Mirroring позволяет создать массив RAID c функцией коррекции ошибок, которая должна помочь сохранить данные в случае поломки одного из дисков, но для этого необходимы дополнительные диски, объем которых не получится использовать для хранения данных.Перейдем к делуДля начала советую запустить PowerShell от имени администратора и использовать команду
Get-PhysicalDisk
Параметр CanPool должен соответствовать Trueоколо всех ваших SSD и HDD, которые вы хотите добавить в пул. Если по запросу команды Get-PhysicalDisk у одного из ваших накопителей, которые вы хотите добавить в пул будет состояние False, то необходимо при помощи утилиты diskpart запущенной от имени администратора выполнить команды:
list disk #выбрать номер нужного диска, для примера диск 2
select disk 2
clear
А затем в Powershell запущенной от имени администратора выполнить команду:
Reset-PhysicalDisk ST2000DM008-2FR102
где ST2000DM008-2FR102 - это параметр friendly name диска, который вы хотите вернуть в состояние True. Обратите внимание, что диски, у которых значение CanPoolравно True будут отформатированы в процессе выполнения скрипта, и, если вы не хотите добавлять их в пул, то необходимо заранее отсоединить эти диски, либо переписать скрипт.Затем просто клонируйте репозиторий, и запустите запустите скрипт new-storage-space.ps1 Во время выполнения закройте окна, которые будут предлагать вам отформатировать диск, и ждите завершения скрипта. По поводу того, что будет, если один из дисков пула отвалится. Я пытался просто отключать SSD на выключенном компьютере и, к сожалению, до тех пор пока я его не присоединил SSD обратно и не перезагрузил компьютер, локальный диск не был виден в системе (думал может хотя бы данные, которые были на HDD отображаться будут, но нет).А что там по скорости?Автор репозитория указал следующие скорости при тестировании системы:
Также интересным мне показалось сравнение из этого видео на youtube.Я сам не производил тестирования на чтение, но сравнивал скорость записи на чистый 2 Тб HDD Seagate BarraCuda 7200 rpm и 256 MB cache, и tier storage space из этого же HDD диска и SSD Crucial BX500 на 240 Гб. При копировании больших файлов (установленный stalker anomaly, который почти полностью состоит из больших файлов .db размером примерно в 1 Гб) storage tier изначально копировал на скорости чуть более 400 Мб/сек, но затем, скорость копирования опускалась до 110 Мб/сек, что даже меньше чем скорость записи на HDD без storage tier (160 Мб/сек на тех же файлах).К сожалению, в тот момент когда я производил тесты я не думал что буду писать статью и не догадался использовать snipping tool а просто делал фото на телефон.
слева storage tier справа просто HDDЗато, при копировании порядка 10 Гб стандартных фоток (размер одной примерно 4-5 Мб) storage tier практически стабильно имел скорость порядка 260 Мб/сек против скачущих 180 Мб/сек у HDD.Для того чтобы посмотреть какой процент данных на самом деле сейчас находится именно на SSD диске нужно в PowerShell с правами администратора запустить:
defrag D: /g /h /#
Наиболее интересными для нас тут являются параметры Percent of total I/Os serviced from the Performance tier - процент данных, которые при чтении были считаны именно с SSD. Также в таблице можно увидеть зависимость процента данных, которые будут взяты с высокопроизводительного накопителя от минимальной требуемой емкости SSD диска.
Для создания задачи автоматической оптимизации используется команда
Get-ScheduledTask -TaskName "Storage Tiers Optimization" | Start-ScheduledTask
Модификация скриптаПосле произведенных тестов мне захотелось изменить несколько вещей. Первое - отдельно изменять процент неиспользуемого места на дисках, так как даже 1 процент от 2 Тб диска это 20 Гб. (объяснение почему нельзя использовать весь диск можно найти тут). По итогу экспериментальным путем при моих параметрах удалось добиться всего 0.13 процента неиспользуемого места на жестком диске.Во-вторых, я пытался изменить размер параметра WriteCacheSize для увеличения скорости записи данных на tiered storage, но к сожалению даже установив размер в 20 Гб, скорость записи совершенно не отличалась от дефолтного параметра AutoWriteCacheSize (при котором размер WriteCacheSize равен 1 Гб).Также я нашел информацию, что можно использовать использовать параметр представленный ниже для увеличения скорости, но это может быть небезопасно с точки зрения хранения данных.
Set-StoragePool -FriendlyName "SSHD Storage Pool" -IsPowerProtected $True
Все мои изменения для удобства я залил в свой репозиторийна github.ВыводыКак я уже отметил выше, не стоит хранить важные данные, если вы используете схожую с моей конфигурацию 1 SSD 1 HDD (без использования Mirroring). Но для хранения не особо нужных тестовых виртуальных машин, игр, фильмов, и другой локальной файловой помойки такое решение подходит отлично. Загрузка игр заметно ускоряется, и обычно со второго запуска скорость на глаз не отличима от запуска с SSD.
===========
Источник:
habr.com
===========
Похожие новости:
- [Кодобред, Системное программирование, Разработка под Linux, Лайфхаки для гиков] Локализация своих скриптов на BASH
- [Высокая производительность, C++, Компиляторы, Компьютерное железо] Threadripper 3990X: компилируем 1 миллиард строк C++ на 64 ядрах (перевод)
- [Высокая производительность, Разработка под iOS, Разработка мобильных приложений, Разработка под Android, Микросервисы] Envoy как универсальный сетевой примитив
- [Высокая производительность, Программирование, Java, Конференции] JPoint и Joker: какие доклады запомнились мне больше всего
- [Разработка под Windows] Разбираемся с Powershell и делаем терминал в Windows юзабельным
- [Информационная безопасность, Хранение данных, IT-компании] Apple против Facebook: как накаляется борьба двух гигантов
- [Высокая производительность, Lua, Хранение данных, Tarantool] Синхронная репликация в Tarantool
- [Настройка Linux, Сетевые технологии] Сетевая подсистема в ОС
- [Системное администрирование, Серверная оптимизация, Хранение данных, Хранилища данных] Тестируем СХД OceanStor Dorado V6: Hyper и Smart
- [Системное программирование, FPGA, Программирование микроконтроллеров, Компьютерное железо] Добавляем поддержку Vendor-команд к USB3.0 устройству на базе FX3
Теги для поиска: #_vysokaja_proizvoditelnost (Высокая производительность), #_sistemnoe_programmirovanie (Системное программирование), #_hranenie_dannyh (Хранение данных), #_windows, #_storage_spaces, #_tier, #_ssd+hdd, #_vysokaja_proizvoditelnost (
Высокая производительность
), #_sistemnoe_programmirovanie (
Системное программирование
), #_hranenie_dannyh (
Хранение данных
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 12:12
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Привет, Хабр! Уже много лет я читаю замечательные посты, и, кажется, наконец нашел чем сам могу поделиться с сообществом. Сегодня я хотел бы рассказать про технологию создания программного гибридного локального диска на основе SSD и HDD. Впервые я заинтересовался этой технологией когда купил себе новый процессор от Ryzen и прочитал статью про AMD StoreMI, но к сожалению поддержка данного продукта прекратилась, а покупать FuzeDrive или PrimoCache не хотелось. В серверных версиях windows существует весьма интересная технология Tiered Storage Spaces, которая позволяет легко объединять один или несколько SSD и HDD в общий пул - логический диск, на котором часто используемые “горячие” данные будут незаметно для пользователя переноситься на SSD, а “холодные” данные, к которым пользователь обращается не так часто, будут при этом храниться на HDD. Про настройку данной технологии на серверных продуктах можно почитать тут поссылке, также уже существует несколько статей на Хабре. Но, как оказалось, данная технология присутствует также и на настольной версии windows, правда настраивается она только через командную строку так как нет GUI. Для упрощения этого процесса существует репозиторий со скриптами, которые позволяют автоматизировать процесс создания tier storage. Для хранения важных данных не рекомендуется использовать конфигурации windows storage spaces с выключенным mirroring. Mirroring позволяет создать массив RAID c функцией коррекции ошибок, которая должна помочь сохранить данные в случае поломки одного из дисков, но для этого необходимы дополнительные диски, объем которых не получится использовать для хранения данных.Перейдем к делуДля начала советую запустить PowerShell от имени администратора и использовать команду Get-PhysicalDisk
list disk #выбрать номер нужного диска, для примера диск 2
select disk 2 clear Reset-PhysicalDisk ST2000DM008-2FR102
Также интересным мне показалось сравнение из этого видео на youtube.Я сам не производил тестирования на чтение, но сравнивал скорость записи на чистый 2 Тб HDD Seagate BarraCuda 7200 rpm и 256 MB cache, и tier storage space из этого же HDD диска и SSD Crucial BX500 на 240 Гб. При копировании больших файлов (установленный stalker anomaly, который почти полностью состоит из больших файлов .db размером примерно в 1 Гб) storage tier изначально копировал на скорости чуть более 400 Мб/сек, но затем, скорость копирования опускалась до 110 Мб/сек, что даже меньше чем скорость записи на HDD без storage tier (160 Мб/сек на тех же файлах).К сожалению, в тот момент когда я производил тесты я не думал что буду писать статью и не догадался использовать snipping tool а просто делал фото на телефон. слева storage tier справа просто HDDЗато, при копировании порядка 10 Гб стандартных фоток (размер одной примерно 4-5 Мб) storage tier практически стабильно имел скорость порядка 260 Мб/сек против скачущих 180 Мб/сек у HDD.Для того чтобы посмотреть какой процент данных на самом деле сейчас находится именно на SSD диске нужно в PowerShell с правами администратора запустить: defrag D: /g /h /#
Для создания задачи автоматической оптимизации используется команда Get-ScheduledTask -TaskName "Storage Tiers Optimization" | Start-ScheduledTask
Set-StoragePool -FriendlyName "SSHD Storage Pool" -IsPowerProtected $True
=========== Источник: habr.com =========== Похожие новости:
Высокая производительность ), #_sistemnoe_programmirovanie ( Системное программирование ), #_hranenie_dannyh ( Хранение данных ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 12:12
Часовой пояс: UTC + 5