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

ZFS не расширила свободное пространство после добавления

Недавно я расширил свой пул хранения «zstorage», добавив еще два диска. У него было 3 диска по 3 ТБ в RAID-Z, и я добавил еще два диска по 1,5 ТБ также в RAID-Z (что, как я понимаю, фактически то же самое, что и зеркалирование). Я знаю, что это не самая эффективная установка, но это те диски, которые у меня были. Я ожидаю, что с паритетом я должен использовать 6 ТБ из первого набора и 1,5 ТБ из второго, всего 7,5 ТБ.

После добавления все выглядит нормально, и из приведенных ниже команд вы можете видеть, что теперь в списке zpool указано больше места, и диски отображаются, как я ожидал, со статусом zpool. Однако объем доступного дискового пространства не увеличился, как вы можете видеть ниже.

Есть идеи, почему я не получил больше места на диске? Кажется, я ничего не получил от добавления двух дисков по 1,5 ТБ.

kevin @ atlas: ~ $ sudo список zpool

    NAME       SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
    zstorage  10.8T  7.79T  3.05T    71%  1.00x  ONLINE  -

kevin @ atlas: ~ $ sudo zfs list -t все

    NAME       USED  AVAIL  REFER  MOUNTPOINT
    zstorage  5.19T  1.48T  5.19T  /zstorage

kevin @ atlas: ~ $ sudo zpool status -v

      pool: zstorage
     state: ONLINE
      scan: scrub in progress since Sat Apr  5 10:49:13 2014
        317G scanned out of 7.79T at 262M/s, 8h18m to go
        1.50M repaired, 3.97% done
    config:

            NAME                                          STATE     READ WRITE CKSUM
            zstorage                                      ONLINE       0     0     0
              raidz1-0                                    ONLINE       0     0     0
                ata-WDC_WD30EZRX-00DC0B0_WD-WCC1T1735698  ONLINE       0     0     0  (repairing)
                ata-WDC_WD30EZRX-00DC0B0_WD-WMC1T0506289  ONLINE       0     0     0
                ata-WDC_WD30EZRX-00MMMB0_WD-WCAWZ2711600  ONLINE       0     0     0
              raidz1-1                                    ONLINE       0     0     0
                ata-WDC_WD15EADS-00P8B0_WD-WMAVU0454800   ONLINE       0     0     0
                ata-WDC_WD15EADS-00P8B0_WD-WMAVU0524642   ONLINE       0     0     0

    errors: No known data errors

kevin @ atlas: ~ $ df -h / zstorage /

    Filesystem      Size  Used Avail Use% Mounted on
    zstorage        6.7T  5.2T  1.5T  78% /zstorage

Все нормально работает. Вы сталкиваетесь с TB против TiB спутанность сознания.

TL; DR

  • 12 ТБ необработанных == 10,8 ТБ необработанных (это то, что указано zpool list)
  • 7,5 ТБ полезной емкости == 6,8 ТБ полезной емкости (что указано в zfs list)

У тебя есть:

  • 3 × 3 ТБ диска
  • 2 диска по 1,5 ТБ

что дает в общей сложности 12 ТБ необработанного хранилища.

○ → units 12TB TiB
    * 10.913936
    / 0.091625969

Примерно столько же места вы получите в списке zpool:

NAME       SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
zstorage  10.8T  7.79T  3.05T    71%  1.00x  ONLINE  -

Что касается полезного:

  • 6 ТБ (raidz1-0)
  • 1,5 ТБ (raidz1-1)

В ТиБ:

○ → units 7.5TB TiB
    * 6.8212103
    / 0.14660155

У тебя есть:

NAME       USED  AVAIL  REFER  MOUNTPOINT
zstorage  5.19T  1.48T  5.19T  /zstorage

В файловой системе zstorage используется 5,19 ТиБ, а доступно 1,48 ТиБ (всего 6,67 ТиБ). Достаточно близко к 6,82 ТиБ для меня (будут некоторые накладные расходы).

Вы должны убедиться, что для вашего zpool установлено свойство автоматического расширения.

$ zpool get autoexpand zstorage

Если для свойства установлено значение «off», вы должны включить его, чтобы пул автоматически расширялся для заполнения доступного пространства.

$ zpool set autoexpand=off zstorage

Для ясности я включу соответствующую часть справочной страницы.

 autoexpand=on | off

     Controls automatic pool expansion  when  the  underlying
     LUN  is  grown.  If  set to on, the pool will be resized
     according to the size of the  expanded  device.  If  the
     device  is  part  of  a mirror or raidz then all devices
     within that mirror/raidz group must be  expanded  before
     the new space is made available to the pool. The default
     behavior is off. This property can also be  referred  to
     by its shortened column name, expand.

Я считаю, что вы также можете использовать

$ zpool online -e zstorage

чтобы указать пулу на расширение вручную, но я сам не использовал эту команду. Я не уверен, нужно ли сначала отключить пул (я бы ожидал, что в этом нет необходимости).

 zpool online [-e] pool device...

     Brings the specified physical device online.

     This command is not applicable to spares or  cache  dev-
     ices.

     -e

         Expand the device to use all available space. If the
         device is part of a mirror or raidz then all devices
         must be expanded before the new  space  will  become
         available to the pool.