В ZFS и LVM или МД избыточных систем хранения предложение

Я имею такую же проблему большинств люди имеют: как создать надежное личное разрешение хранения с фактом то:

  1. жесткие диски выходят из строя с пугающей регулярностью. Потеря файлов недопустима.
  2. Я буду покупать новый жесткий диск время от времени. Неизбежно, лучшая цена / ГБ-это другой размер, чем последняя покупка жесткого диска.
  3. 2 означает, что со временем у меня будет разнородная коллекция дисков. Я хочу использовать их все, а не диски вообще замените более большими дисками.

  4. целостность и надежность данных для меня важнее скорости.

Итак, после того, как я бил головой об эту проблему в течение нескольких дней (и в затылке в течение многих лет), я предлагаю следующее решение. Опишу решение, которое я тестировал на родном linux ZFS котором в Убунту ППА, но LVM, MD и btrfs можно использовать для достижения того же. Для этого я буду использовать RAID1 (ZFS mirror vdevs).

  1. учитывая ваш набор дисков, сгруппируйте их в два набора дисков, таким образом, чтобы емкость каждого набора была как можно ближе к другому.
  2. разделите большие диски таким образом, чтобы был раздел точно такого же размера, как один из дисков меньшего размера, в другой группе.
  3. создать зеркало vdevs таким образом, чтобы каждый диск имел свое зеркало на другом диске.

например, рассмотрим набор дисков нового диска емкостью 2 ТБ старый диск 750 ГБ, 2 старых диска 400 ГБ и один старый диск 500 ГБ. Оптимальное зеркальное разделение имеет 2 ТБ полезного пространства и описывается на следующей схеме, где": "разделяет разделы и" / " разделяет диски:

+------------------------------------------------------------------+
| 2TB (sda1)        : (sda2)       : (sda3)       : (sda4)         |
+------------------------------------------------------------------+--+
| 750 GB (sdb)      | 400 GB (sdc) | 400 GB (sdd) | 500 GB (sde1)  :XX|
+---------------------------------------------------------------------+

создайте свой zpool как

zpool create archive mirror /dev/sda1 /dev/sdb mirror /dev/sda2 /dev/sdc mirror /dev/sda3 /dev/sdd mirror /dev/sda4 /dev/sde1

Это создает 4 зеркальные vdevs. Если какой-либо из дисков вышел из строя, его можно заменить (диск любого размера) и разбить на разделы, чтобы воссоздать отсутствующие разделы. Важно, что ZFS vdevs может быть добавлено в пул но не удалены. Поэтому, если вообще возможно, когда вы покупаете новый диск, вы хотите переставить существующие vdevs. Предположим, следующая покупка была 3TB диск. Оптимальная конфигурация-3,5 ТБ, как описано на следующей схеме. Это теперь 5 пар vdev. Это может быть достигнуто путем соответствующего секционирования и последовательного отказа и перераспределения дисков.

+--------------------------------------------------------------+-------------+
| 3 TB (sdf1)       : (sdf2)      : (sdf3)      : (sdf4)       | 500GB (sde) |
+--------------------------------------------------------------+-------------+-+
| 2TB (sda1)        | 400GB (sdb) | 400GB (sdc) | 750GB (sdd1) : (sdd2)      :X| 
+------------------------------------------------------------------------------+

поддержание этого сопряжения зеркальных дисков также может быть сделано с LVM или с MD RAID, идея состоит в том, чтобы убедиться, что каждый диск всегда имеет зеркальный диск или parition. Ведь все зеркальные, мы свободны на провал диски и переставлять этому способствуют, когда диски будут добавлены или удалены. С помощью LVM или MD можно удалять диски и при необходимости сжимать массив за счет менее сложных инструментов восстановления в ZFS по сравнению с BTRFS.

любые комментарии по этой процедуре? Хороший сценарий может обрабатывать выделение без потерь и перестановка дисков. Любые комментарии на LVM, и Мэриленд и в ZFS? Есть комментарии по производительности результирующего странно секционированного массива? Приведет ли размещение данных в нескольких разделах одного диска к чрезмерному поиску головок и раннему отказу?

ее разработчиков: все хочет этого, и LVM или MD технически не нужны (и, на мой взгляд, неоптимальны). Упрощение обслуживания избыточного гетерогенного массива было бы убойной функцией для btrfs. это взлом на LVM/MD / ZFS, как это. Минимизация resliver / resync массово желательна.

Да, это явно лучшее, Дробо. Для этого не нужно специальное оборудование...

17
задан Bob McElrath
08.03.2023 21:17 Количество просмотров материала 3012
Распечатать страницу

1 ответ

Я проверил это с помощью ZFS, и производительность записи составляет примерно половину того, что должно быть, потому что ZFS распределяет операции чтения и записи по всем vdev (поэтому делит ввод-вывод на несколько мест на одном диске). Таким образом, скорость ограничена скоростью диска с наибольшим количеством разделов. Скорость чтения, кажется, равна пропускной способности диска. Примечание пара в ZFS разделов на двух дисках был примерно вдвое быстрее прочитать ни одного диска, потому что он может читать с дисков параллельный.

использование линейных массивов MD или LVM для создания двух половин приводит к удвоению производительности записи по сравнению с вышеупомянутым предложением ZFS, но имеет тот недостаток, что LVM и MD понятия не имеют, где хранятся данные. В случае сбоя диска или обновления, одна сторона массива должна быть полностью уничтожена и resynced/reslivered, а затем другая сторона. (например, resync / resliver должен скопировать 2*(размер массива))

поэтому кажется тогда, что оптимальный решение создать единый в ZFS зеркало врвп через два ЛВМ или MD линейные устройства, которые сочетают диски на равные "половинки". Это примерно в два раза скорость чтения любого диска и пропускной способностью записи равно отдельные полосы диска.

использование Btrfs raid1 вместо ZFS также работает, но имеет половину пропускной способности чтения, потому что ZFS распределяет свои чтения, чтобы удвоить пропускную способность, в то время как Btrfs этого не делает (согласно моим тестам). BTRFS имеет преимущество эти разделы могут быть сжаты, в то время как они не могут быть сжаты с помощью ZFS (поэтому, если после сбоя у вас много пустого пространства, с помощью BTRFS можно перестроить меньший резервный массив, сократив файловую систему, а затем переставив диски).

это утомительно делать вручную, но легко с хорошими сценариями.

4
отвечен Bob McElrath 2023-03-10 05:05

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх