Контекст: У меня есть сервер с двумя дисками NAS по 3 ТБ в RAID1 (Linux dmraid), и я хочу удвоить емкость хранилища, но у меня есть только один свободный отсек для диска. Я мог бы купить два диска по 6 ТБ, но у меня возникла мысль, что я мог бы обойтись покупкой только одного и переформировать массив следующим образом:
- 6 ТБ RAID1
- Диск 6 ТБ (новый)
- 6 ТБ RAID0
- Диск 3 ТБ (существующий)
- Диск 3 ТБ (существующий)
Меня не беспокоит процесс переделки, поскольку он должен быть довольно простым:
- Конечно, сделайте резервную копию содержимого.
- Расширьте существующий RAID1 до 3 устройств, добавив диск объемом 6 ТБ.
- Дождитесь завершения повторной синхронизации.
- Вывести из строя два устройства по 3 ТБ из массива. (Массив деградирует.)
- Уменьшите массив до 2 устройств.
- Создайте RAID0 на двух устройствах по 3 ТБ.
- Добавьте RAID0 в качестве второго устройства к RAID1.
- RAID1 повторно синхронизируется и больше не ухудшается.
- Измените размер RAID1, увеличив его с 3 ТБ до 6 ТБ.
Все это должно быть возможно сделать онлайн.
Однако я хочу убедиться, что это так.в своем уме. Все диски будут одного производителя и серии (WD Red). Производительность для меня менее важна, чем надежность.
С какими проблемами я могу столкнуться?эксплуатация и обслуживаниетакой массив? (Я не спрашиваю о процессе миграции/изменения формы; меня эта процедура вполне устраивает.)
Будет ли преимущество в производительности или надежности, если какое-либо устройство RAID1 (диск 6 ТБ или RAID0 3 ТБ+3 ТБ) будет отмечено как write-mostly? Например, поскольку RAID0 содержит старые диски, продлит ли write-mostly на устройстве RAID0 срок службы этих дисков?
решение1
tl;dr: Убедитесь, что эти меньшие диски особенно надежны.
Вы бы делали как старый метадиск SunOS, с интересными обновлениями, когда диски SCSI были непомерно дорогими. ;) То, что диски одного производителя, практически не влияет на то, что волнует ОС. Хорошо бы стандартизировать одну точную модель, заводское происхождение и версию платы, потому что тогда платы контроллеров можно было бы менять, если бы одна плата вышла из строя. (Если у вас чистый ящик, как у Louis Rossmann, вы даже можете менять пластины между дисками.)
Pf = вероятность отказа
D# = номер диска #
Надежность RAID0 составляет Pf(D0) * Pf(D1)
Надежность RAID1 составляет 1 - (1 - Pf(D0)) * (1 - Pf(D1))
Что приводит к общему Pf = 1 - (1 - Pf(D0)) * (1 - Pf(D10)*Pf(D11))
Для справок в будущем, проверьте блог BackBlaze для текущих конкретных, очень надежных моделей дисков, чтобы получить качественные диски по относительно низкой цене и держаться подальше от проблемных дисков. Существуют диски "розничного потребителя" с доказанно лучшими MTTF/MTBF, чем корпоративные диски, и они также намного дешевле.
Рекомендации
решение2
То, что вы делаете, это именно то, что мы делали в нашей (небольшой) компании. Мы увеличили размер нашего массива RAID1 с начальных 1 ТБ до 4 ТБ аналогично тому, что вы описываете, сначала купив один или два больших диска, а затем дополнив новый большой массив более крупными дисками, поскольку некоторые из более мелких были удалены из массива из-за сбоя или потому, что они были нужны для замены других (еще меньших) вышедших из строя дисков в других ПК в компании.
Мы не слишком беспокоимся о результатах, и в те годы мы видели разные результаты, поэтому я не могу об этом говорить.
Мы больше беспокоимся о надежности (как и вы), и я могу сказать вам, что наш массив RAID представляет собой массив 3-RAID1, плюс внешний резерв, который ресинхронизируется каждый день и заменяется одним из дисков 3-RAID1. Внешний резерв предназначен для аварийного восстановления: в случае, если какое-то событие уничтожит все диски в массиве, мы можем немедленно начать с данных предыдущего дня.
С RAID1 из 2 дисков вам придется беспокоиться о времени повторной синхронизации, необходимом при установке нового диска для замены вышедшего из строя, что может занять несколько часов для массива объемом 6 ТБ. В течение этих часов вам остается надежность одного диска. С такими большими дисками, я думаю, лучше иметь RAID1 из как минимум 3 дисков.