Я собираюсь добавить еще один сервер в мою домашнюю сеть. В настоящее время у меня есть один накопитель для него. Я хочу добавить еще один, чтобы отразить первый диск, но не могу купить второй в течение пары недель или месяца. Я хочу использовать 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
В любом случае я настоятельно рекомендую вам быстро попробовать это на виртуальной машине. Создайте виртуальную машину, добавьте несколько небольших виртуальных дисков и просто попробуйте добавить их в пул. Тестирование на виртуальной машине даст вам возможность попробовать что-то, и если вы облажаетесь, вы ничего не потеряете.