Привет, ребята, я работал над своим 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) и использовать недавно представленный (Ребрендированный? Код существует уже много лет ...) дизайн с зеркальным ускорением и четностью. Видеть:
Кстати, использовать копирование файлов для измерения производительности хранилища - плохая идея. Узнайте, почему:
Удачи! :)
места для хранения обеспечивают согласованное состояние. паритет в целом - самый медленный из всех вариантов - вы не получите никаких улучшений производительности.
если вы готовы терпеть потерю данных в случае сбоя (или других странных сбоев), вы можете включить режим защиты от электропитания в пространстве
Set-StoragePool -NameOfPool -IsPowerProtected $ true
изменить: вы можете узнать больше о базовой концепции, когда вы углубитесь в то, как пространства хранения обрабатывают сброс метаданных (что выполняется синхронно, если вы не находитесь в режиме защиты от электропитания)
если я правильно помню, вы можете использовать твердотельные накопители (как минимум два) в качестве дисков журналирования для макета четности. хорошее введение доступно здесь: http://social.technet.microsoft.com/wiki/contents/articles/15200.storage-spaces-designing-for-performance.aspx