Назад | Перейти на главную страницу

Может ли ZFS автоматически зеркалировать отдельный пул дисков?

Я собираюсь добавить еще один сервер в мою домашнюю сеть. В настоящее время у меня есть один накопитель для него. Я хочу добавить еще один, чтобы отразить первый диск, но не могу купить второй в течение пары недель или месяца. Я хочу использовать ZFS на зеркальных дисках. Могу ли я начать копирование данных на мой единственный накопитель, позже добавить второй и заставить ZFS скопировать данные с первого диска на второй диск в зеркале?

Да, добавить второй диск для зеркалирования существующего vdev довольно просто.

Допустим, вы создали свой пул вот так. Я использую метки разделов GPT, такие как zfs-d1, чтобы имена были красивыми / надежными.

zpool create zfs1 -o ashift=12 -m none /dev/disk/by-partlabel/zfs-d1

  pool: zfs1
 state: ONLINE
config:

    NAME         STATE     READ WRITE CKSUM
    zfs1         ONLINE       0     0     0
      zfs-d1     ONLINE       0     0     0

Добавить еще один диск в зеркало для zfs-d1 очень просто. Мы собираемся дать новому метку zfs-d2

zpool attach zfs1 /dev/disk/by-partlabel/zfs-d1 /dev/disk/by-partlabel/zfs-d2

Я считаю, что в результате должен получиться такой пул. Вам нужно будет немного подождать, пока что-то не синхронизируется, но на самом деле вам не нужно много делать.

  pool: zfs1
 state: ONLINE
config:

    NAME         STATE     READ WRITE CKSUM
    zfs1         ONLINE       0     0     0
      mirror-0   ONLINE       0     0     0
        zfs-d1   ONLINE       0     0     0
        zfs-d2   ONLINE       0     0     0

В любом случае я настоятельно рекомендую вам быстро попробовать это на виртуальной машине. Создайте виртуальную машину, добавьте несколько небольших виртуальных дисков и просто попробуйте добавить их в пул. Тестирование на виртуальной машине даст вам возможность попробовать что-то, и если вы облажаетесь, вы ничего не потеряете.