ZFS с несимметричным Vdevs

Давайте предположим, что у меня есть raidz, созданный из трех дисков (или vdevs).

$ fallocate -l 64m /tmp/one
$ fallocate -l 64m /tmp/two
$ fallocate -l 64m /tmp/three
$ sudo zpool create test raidz /tmp/one /tmp/two /tmp/three
$ sudo zpool status test
  pool: test
 state: ONLINE
  scan: none requested
config:

    NAME            STATE     READ WRITE CKSUM
    test            ONLINE       0     0     0
      raidz1-0      ONLINE       0     0     0
        /tmp/one    ONLINE       0     0     0
        /tmp/two    ONLINE       0     0     0
        /tmp/three  ONLINE       0     0     0

errors: No known data errors

с целью увеличения размера пула, скажем, у меня есть набор из 5 других дисков - и я хотел разделить их вместе:

$ fallocate -l 64m four
$ fallocate -l 64m five
$ fallocate -l 64m six
$ fallocate -l 64m seven
$ fallocate -l 64m eight
$ sudo zpool add test raidz /tmp/four /tmp/five /tmp/six /tmp/seven /tmp/eight
invalid vdev specification
use '-f' to override the following errors:
mismatched replication level: pool uses 3-way raidz and new vdev uses 5-way raidz

хм... так что я могу заставить его -f:

$ sudo zpool add -f test raidz /tmp/four /tmp/five /tmp/six /tmp/seven /tmp/eight
$ sudo zpool status test
  pool: test
 state: ONLINE
  scan: none requested
config:

    NAME            STATE     READ WRITE CKSUM
    test            ONLINE       0     0     0
      raidz1-0      ONLINE       0     0     0
        /tmp/one    ONLINE       0     0     0
        /tmp/two    ONLINE       0     0     0
        /tmp/three  ONLINE       0     0     0
      raidz1-1      ONLINE       0     0     0
        /tmp/four   ONLINE       0     0     0
        /tmp/five   ONLINE       0     0     0
        /tmp/six    ONLINE       0     0     0
        /tmp/seven  ONLINE       0     0     0
        /tmp/eight  ONLINE       0     0     0

и все "выглядит" хорошо...

зачем мне это форсировать? с какими проблемами я могу столкнуться, используя это в производстве?

1 ответ

Причина, по которой zfs не хочет, чтобы вы это делали, заключается в том, что она не сможет использовать все пространство большего vdef.

Кроме того, составление избыточности двух vdevs не будет одинаковым для всех данных в пуле, что в любом случае является плохой идеей.

На другом уровне НИКОГДА не используйте конфигурации, которые активно не поощряются с чем-то вроде хранилища. Поскольку "плохие побочные эффекты" могут проявиться только тогда, когда вы находитесь в производстве, и тогда вся помощь, которую вы получите, - это. Отправить / получить ваши данные в правильно настроенный пул.

Другие вопросы по тегам