1

В настоящее время у меня есть установка сервера Ubuntu с 2 дисками по 4 ТБ каждый с ext4 в RAID 1 (без использования zfs). Я хочу иметь полное резервирование в случае сбоя диска.

Я добавляю еще 2 диска 4Тб к машине. Я, вероятно, сделаю это снова в будущем, поэтому я думаю, что я должен переключиться на zfs, чтобы поддержать это.

Я читал в некоторых руководствах, что вы можете выполнять как чередование, так и зеркалирование с помощью zfs, и я думаю, что это именно то, чего я хочу.

Обычно я разделяю диски на две пары, а затем проверяю 1 на две пары, чтобы получить быстрый резервный диск "8 ТБ".

Как бы я сделал это в ZFS? И позволит ли это легко добавить больше дисков по линии?

1 ответ1

1

Это очень легко настроить (разделение строк для облегчения просмотра структуры):

# zpool create <poolname> \
    mirror <disk1> <disk2> \
    mirror <disk3> <disk4>

Это создаст пул с двумя полосами, каждая из которых является зеркалом между двумя дисками. Это хорошая гибкая настройка (легко добавлять новые диски, легко понять). Чтобы добавить еще одно зеркало в будущем, вы просто делаете:

# zpool add -n <poolname> \
    mirror <disk5> <disk6>
would update '<poolname>' to the following configuration:
  <poolname>
    mirror
        <disk1>
        <disk2>
    mirror
        <disk3>
        <disk4>
    mirror
        <disk5>
        <disk6>

(При использовании опции -n сначала выполняется пробный прогон и печатается конфигурация пула, которую вы можете проверить, что я всегда рекомендую, чтобы избежать неправильной конфигурации, от которой трудно / невозможно отказаться после свершившегося факта!)

Однако обратите внимание, что эта настройка "неэффективна" в том смысле, что она гарантирует безопасность данных только для одного сбоя диска: вы безопасны только для двух отказов, когда они происходят на разных полосах, что происходит в ~ 67% сценариев сбоя двух дисков. Кроме того, избыточные данные по-прежнему используют 50% вашего пула.

Существует менее гибкий формат ZFS для RAID, который называется RAID-Z и позволяет объединять все диски и обеспечивать эффективную защиту данных. (Я говорю менее гибко, потому что в будущем трудно добавить больше дисков в пул, хотя эта функция в настоящее время работает.) Есть raidz1 и raidz2 варианты, которые позволяют потерять до 1 или до 2 -х дисков , соответственно, независимо от того , какие диски терпят неудачу. Для 4 дисков одинакового размера вариант raidz2 прежнему будет использовать 50% вашего хранилища для резервирования, но гарантирует, что вы переживете два отказа диска; вариант raidz1 уменьшит ваши затраты на избыточность с 50% до всего лишь 25%, но только гарантирует, что вы выживете после одного отказа диска.

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