Как создать зеркальный zpool после добавления диска в zpool?

У меня был zpool только с одним диском с некоторым содержимым. Я хотел добавить второй диск в качестве зеркального, но вместо команды «подключить» я использовал «добавить».

Я все еще не использовал пул после добавления второго диска, но пытаюсь удалить его, возвращаю:

$ sudo zpool remove bck2016 sdc1
cannot remove sdc1: only inactive hot spares, cache, top-level, or log devices can be removed.

Попытка принудительного подключения приводит к:

$ sudo zpool attach -f bck2016 sdb1 sdc1
invalid vdev specification
the following errors must be manually repaired:
/dev/sdc1 is part of active pool 'bck2016'

Текущий статус:

$ sudo zpool status
  pool: bck2016
 state: ONLINE
  scan: none requested
config:

    NAME        STATE     READ WRITE CKSUM
    bck2016     ONLINE       0     0     0
      sdb1      ONLINE       0     0     0
      sdc1      ONLINE       0     0     0

errors: No known data errors

Как я могу преобразовать этот пул в зеркальный?


zfs
person user3179236    schedule 19.05.2016    source источник


Ответы (1)


К сожалению, таким способом удалить vdev, добавленный в пул, нельзя. Можно отсоединить только запасные или избыточные виртуальные устройства, и даже если вы не записывали в него новые файлы, ваш пул теперь настроен как объединение sdb1 и sdc1, поэтому sdc1 не считается избыточным.

Единственный обходной путь — сделать резервную копию всего в другом месте, уничтожить и перестроить свой пул как зеркальный, а затем восстановить из резервной копии.

person jlliagre    schedule 19.05.2016
comment
Я ожидал, что кто-то с 15 тысячами представителей поймет, что это крайне не по теме для SO - или я ошибаюсь? Или просто zfs теперь принадлежит Oracle, и вы тоже работаете на Oracle, так что... - person Software Engineer; 19.05.2016
comment
@EngineerDollery Вы правы. Это определенно не по теме для SO, но я не обратил внимания на то, что спросили на SO. Просьба также перенести вопрос. - person jlliagre; 19.05.2016