Назад | Перейти на главную страницу

Место для хранения Кэш записи и скорость записи

Привет, ребята, я работал над своим NAS, который использует сервер 2012r2 с дисковыми пространствами.

У меня такой вопрос. Используя многоканальный протокол SMB, я смог передать файл размером 500 МБ примерно за 2,5 секунды со скоростью примерно 200 МБ в секунду на свой NAS, но я вижу, что NAS копирует этот файл на диск в течение следующих 10 секунд. Почему копирование на диск занимает столько времени? Конечно, 8 дисков в хранилище могут записывать более 20-40 МБ в секунду ...

Использование сети вверху, использование диска внизу

Проблема возникает, когда я пытаюсь записать на сервер огромные файлы размером 3+ ГБ, поскольку скорость передачи упадет с 200 МБ / с до почти 0, пока он записывает на диск все, что было кэшировано.

Эта отложенная запись происходит из-за а) кеш-памяти ОЗУ с обратной записью на уровне файловой системы и б) конструкции пространств четности, которая изначально поглощает все записи во внутренний журнал, чтобы избежать драматического «чтения-изменения-записи» на «критическом пути». помедленнее. Когда ваша запись завершена, файловая система продолжает сбрасывать данные в рабочий поток «ленивой записи», а Spaces продолжает читать внутренний журнал и выполнять фактические записи в фоновом режиме.

Вы можете ускорить процесс, а) предоставив выделенные флэш-устройства для журнала Spaces, и б) отказавшись от контроля четности и выбрав режим зеркальной полосы (здесь также поможет журналирование флэш-памяти). Видеть:

https://mrickert.com/2016/04/25/adding-journal-drives-to-windows-storage-spaces-2012/

Другой вариант - обновить до Windows Server как минимум 2016 (рекомендуется 2019 год из-за множества исправленных ошибок, связанных с Spaces) и использовать недавно представленный (Ребрендированный? Код существует уже много лет ...) дизайн с зеркальным ускорением и четностью. Видеть:

http://knowledgebase.45drives.com/kb/kb450193-creating-mirror-accelerated-parity-volumes-and-storage-tiers-in-storage-spaces-windows-server-2019/

Кстати, использовать копирование файлов для измерения производительности хранилища - плохая идея. Узнайте, почему:

https://blogs.technet.microsoft.com/josebda/2014/10/13/diskspd-powershell-and-storage-performance-measuring-iops-throughput-and-latency-for-both-local-disks-and- smb-файловые-ресурсы /

Удачи! :)

места для хранения обеспечивают согласованное состояние. паритет в целом - самый медленный из всех вариантов - вы не получите никаких улучшений производительности.

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

Set-StoragePool -NameOfPool -IsPowerProtected $ true

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

если я правильно помню, вы можете использовать твердотельные накопители (как минимум два) в качестве дисков журналирования для макета четности. хорошее введение доступно здесь: http://social.technet.microsoft.com/wiki/contents/articles/15200.storage-spaces-designing-for-performance.aspx