Я использую старый MacBook Core 2 Duo в качестве сервера NAS. У меня есть четыре внешних USB-накопителя емкостью 3 ТБ (назовем их Drive1 - Drive4), которые я хочу настроить как массив RAID, либо RAID 0+1, либо RAID 10. MacBook имеет два контроллера USB 2.0 (назовем их Controller-A и -B). Планируется подключить Drive1 и Drive2 к контроллеру A, а Drive3 и Drive4 подключить к контроллеру B. На мой взгляд, у меня есть два варианта настройки массива RAID:

  1. Разбейте Drive1 с Drive2 на контроллере A, разметьте Drive3 с Drive4 на контроллере B и отразите диски на контроллере A на диски на контроллере B (я думаю, это называется RAID 0+1)
  2. Разденьте Drive1 на контроллере A с Drive3 на контроллере B, разметьте Drive2 на контроллере A с Drive4 на контроллере B, затем отразите Drive1 и Drive3 на Drive2 и Drive4 (я думаю, это называется RAID 10)

У меня вопрос, какая конфигурация даст лучшую пропускную способность?

2 ответа2

2

Полное переписывание

Основные предположения

  1. Пропускная способность USB2 ограничена до 30-40 МБ / с.
  2. Любой жесткий диск 3TB быстрее, чем это.
  3. на самом деле у вас есть два отдельных контроллера USB.

1) Это известный факт. Существуют некоторые вариации, основанные на драйверах, микросхемах USB-SATA во внешних корпусах и т.д. Но если у вас нет исключительно плохой настройки, вы получите около 35 МБ / с на шину USB.

2) Скорость жесткого диска варьируется в зависимости от модели. Модель 3TB - это современный накопитель, и я ожидаю, что ее медленная последовательная пропускная способность составит не менее 90 МБ / с.

3) основано на вашем собственном посте.

MacBook имеет два контроллера USB 2.0 (назовем их Controller-A и -B).

Если у вас есть два USB-разъема, которые подключены к одному и тому же внутреннему USB-концентратору, то у вас фактически есть один контроллер. Независимо от того, какую комбинацию вы используете с приводами, вы никогда не превысите скорость одного контроллера.

Информация о RAID

Каноническая публикация уровней RAID на нашем дочернем сайте ServerFault имеет хорошее объяснение, что такое уровни RAID 0 (Stripe), 1 (mirror) и 10.

Пожалуйста, прочитайте его, объяснение понятно.


Они также не применимы к вам 1:1. Все они предполагают, что скорость ограничена на диске. То есть информация подается на диски и с них гораздо быстрее, чем может выдержать диск. Использование двух дисков в полосе будет в два раза быстрее, потому что вы можете использовать скорость двух дисков одновременно.

Если вы подключаете два диска к одной и той же шине USB, то скорость этой шины все равно ограничена, и вы не получаете никакой скорости при последовательном чтении или записи.

Что это значит для меня?

Если вы настроите два независимых диска на контроллере A, вы получите такую ситуацию.

Controller-A  --------- [Drive1] ----- [Drive2]

Скорость чтения и записи будет составлять около 35 МБ / с на каждом диске. Или половина того, если вы использовали оба диска одновременно.


Если я чередую (RAID 0) диски, то это выглядит как один двойной размер диска.

Controller-A  --------- ([Drive1][Drive2])

Скорость по-прежнему ограничена шиной USB2. Последовательная пропускная способность по-прежнему ограничена до 35 МБ / с. Вы не набрали скорость. Однако вы получили простой виртуальный диск объемом 6 ТБ, а не два диска объемом 3 ТБ.


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

Не в этом дело.

Controller-A  --------- [Drive1] 
                        [Drive2]

Скорость чтения одного диска насыщает автобус. Диски Twp не удвоят его. Результат будет все тот же 35 МБ / с.

В случае записи в зеркало это еще хуже. Вы пишете на оба диска. Вы будете передавать одни и те же данные дважды через одну и ту же ограничивающую шину USB2. Скорость записи будет уменьшена вдвое!


Мы можем сделать то же самое для дисков, подключенных через USB Controller-B, и получить те же результаты. Очевидно, что использование двух дисков на одной шине USB не увеличит пропускную способность. Это может даже ухудшить ситуацию.

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

Controller-A  --------- ( [Drive1]  

Controller-B  ---------   [Drive3] )

Если вы их зеркально отобразите, вы получите вдвое большую скорость чтения. Это потому, что чтение будет происходить с обоих дисков и заполнять обе шины USB2. Скорость чтения будет около 70 МБ / с.

Пишет придётся ехать на оба диска. Вы все еще пишете вдвое больше. У вас вдвое больше пропускной способности. Нетто результат без изменений.

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


Теперь для чередования:

Controller-A  --------- ( [Drive1]  

Controller-B  ---------           [Drive3] )

Чтение и запись могут выполняться одновременно с обоих дисков. Скорость чтения и записи удваивается. Ура! :)

Однако теперь вы используете всю полосу пропускания на обеих шинах USB2. Добавление дополнительных дисков не увеличит пропускную способность. Неважно, если вы объедините их в RAID10 или RAID01.

Таким образом, я ограничен до 70 МБ / с независимо?

Да.

Наилучшая скорость, возможная при такой настройке, составляет 70 МБ / с. используя два привода на отдельных контроллерах.

Вы можете настроить две полосы. Пока вы не используете их оба одновременно, они оба будут давать максимальную пропускную способность. Если вы используете оба одновременно, оба уменьшатся примерно до половины скорости.

Пропускная способность? Не скорость?

Я был очень осторожен, чтобы максимально использовать последовательную пропускную способность. Не скорость.

Вы можете поставить диск на колени, выполнив множество небольших запросов ввода-вывода. Производительность накопителя в таких экстремальных ситуациях может снизиться до 5 МБ / с (даже на 2,5-дюймовых дисках SAS со скоростью 15 000 об / мин).

Это не та ситуация, которую вы получите при обычном использовании NAS. В основном NAS хранит фильмы, музыку, фотографии, документы размером в несколько МБ. В этом случае диск будет читать их на высокой скорости (около 100 МБ / с), а затем ждать 2/3 своего времени, пока не сможет протолкнуть его через шину USB.

Если вы получаете доступ ко множеству небольших файлов по всему диску (например, во время работы по компиляции на сильно фрагментированном томе), тогда эффективная скорость диска будет намного ниже. Если она упадет ниже скорости шины USB2, вы получите обычные преимущества RAID-дисков.

Однако это должно быть крайне редко, и ваш вопрос был:

У меня вопрос, какая конфигурация даст лучшую пропускную способность?

Чтобы ты делал?

Два диска в полоску, один диск на контроллер, что дает хороший диск 6TB. Используйте другие диски в качестве автономного резервного копирования.

RAID мантра

RAID не резервный. RAID не резервный. RAID не резервный.

  • Если у вас возникнет пожар, RAID не сохранит ваши данные.
  • Если у вас происходит кража, RAID не сохранит ваши данные.
  • В случае серьезного сбоя питания RAID не сохранит ваши данные.
  • И т.д. и т.п. Единственная резервная копия, если резервная копия вне сайта. Отсутствие автономной резервной копии.
0

Второй вариант называется 1+0 и не совпадает с RAID10 (на самом деле зависит от контроллера). Массив RAID10 состоит как минимум из четырех устройств и требует меньше усилий для поддержки.

Был бы спорный выигрыш в производительности, если бы у вас было или больше дисков с чередованием и зеркальным отображением, например:

1 2 3 : raid 0  \
                 +-- raid 1
4 5 6 : raid 0  /

.. в отличие от

1 2 3 : raid 1 \
                +-- raid 0
4 5 6 : raid 1 /

.. но затем снова

1 2 : raid 1 \
3 4 : raid 1  +-- raid 0 
5 6 : raid 1  /

Вероятно, даст вам примерно такую же пропускную способность.

Но поскольку у вас ровно четыре диска, производительность в обоих случаях будет примерно одинаковой. Правда, что касается вашей настройки, она все равно будет медленной, потому что USB2 - серьезное узкое место.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .