Я хотел бы настроить массив RAID-массива программного обеспечения (4x2TB) для рабочей станции, используя новую установку, но я нахожу не применимые / конфликтующие / старые ресурсы в Интернете. Я хотел бы получить совет сообщества по настройке такого массива, поскольку, как представляется, существует множество возможных конфигураций.
В частности, я буду использовать рабочую станцию для анализа изображений (т. Е. Типичный файл размеры от нескольких сотен МБ-несколько ГБ), поэтому, если есть оптимизации, которые могут быть сделаны для таких целей, это было бы здорово.
Cheers
С RAID10 в данной ситуации я вижу только две переменные, которые могут быть оптимизированы:
Размер блока. Установите для него значение, превышающее значение по умолчанию 512KiB, чтобы минимизировать накладные расходы для линейных операций чтения / записи больших файлов. Вы должны попробовать это на небольшом разделе на вашем компьютере, чтобы узнать, что дает лучшую производительность, например. 1MB, 2MB, 5MB, 10MB ... Near vs Far, сопоставимый с RAID1 + 0 и RAID0 + 1. Далеко немного быстрее, так как производительность для чтения больше похожа на RAID0. Тем не менее, макет Near располагается по умолчанию, потому что он имеет несколько более высокий шанс выжить в маловероятном случае, когда все зеркальные диски будут разбиты (здесь есть математика с вероятностью). Некоторая более наглядная идея о различиях ниже, счастливо украдена из документации SLES mdadm: Near выглядит какsda1 sdb1 sdc1 sdd1
0 0 1 1
2 2 3 3
4 4 5 5
Far выглядит как sda1 sdb1 sdc1 sdd1
0 1 2 3
4 5 6 7
. . .
3 0 1 2
7 4 5 6
Обновление о далекой близости от избыточности от обсуждение в комментариях. Предположим, что sda терпит неудачу:
near
sda1 sdb1 sdc1 sdd1
- 0 1 1
- 2 3 3
- 4 5 5
, тогда sdc или sdd все еще могут выйти из строя, а далеко:
far
sda1 sdb1 sdc1 sdd1
- 1 2 3
- 5 6 7
. . .
- 0 1 2
- 4 5 6
теперь только sdc может выйти из строя, поскольку неудачный диск sdb делает блок 4 недоступным, а сбойный диск sdd сделает блок 3 недоступным.
Заключение: шансы на выживание с 2-дисковым сбоем выше при использовании ближайшего макета. (может ли кто-нибудь сделать математику здесь для количественного числа?)
Поднять некоторые hotspares заранее было бы хорошей идеей. Также учитывайте эти примечания.
Рекомендуемая схема хранения для домашнего сервера? (LVM / JBOD / RAID 5 ...)
См. Сноску [1] в приведенной выше ссылке, чтобы узнать, что происходит с дешевым хранилищем, когда вам это нужно больше всего.
Это все тем не менее, пока вы не узнаете, как ваше целевое приложение фактически использует хранилище. Вы можете обнаружить, что параллелизм возможен, поэтому один блок можно использовать для чтения результатов, а другой - для их записи. Это может быть дополнительно абстрагировано за RAID0 (пока HBA не сообщит QUEUE_FULL) с результатами, полученными с помощью rsync.
Это действительно зависит, говоря «я делаю анализ изображений» без определения рабочей нагрузки или уровня обслуживания просто недостаточно; даже если бы вы это сделали, этот уровень анализа производительности - это настоящая работа, я знаю, что это то, что «я» не делал бы в свое свободное время. Мои намерения - заставить вас задуматься о своем приложении, чтобы создать свои собственные решения.
Одна идея, если вы хотите сделать подход с несколькими массивами, будет создавать два RAID 1 на отдельных контроллерах и добавлять эти MD-устройства к LVM VG для управления. Конечно, RAID 10 работает быстро, но это еще одна очередь хранения, теперь у вас есть два, и с отдельными контроллерами нет совместного использования очереди HBA.
Замечания по производительности:
http: / /www.thesanman.org/2011/12/exchange-completion-time-san-storage.html http://sqlblog.com/blogs/joe_chang/archive/2010/10/18/io-queue-depth-strategy. aspx http://www.ibm.com/developerworks/linux/library/l-4kb-sector-disks/index.htmlПомните, что SW RAID не отличается от HW RAID, понять, как он работает или когда это не удается, вы можете оказаться в большей степени подвержены риску, а не тратить свои силы на создание регулярной стратегии резервного копирования (rsync.net). Я потерял счетчик количества пользователей, которые потеряли все, потому что они не читали руководство и фактически проверяли режимы отказа.