Руководство по администрированию файловых систем ZFS Solaris

Добавление устройств в пул устройств хранения данных

Добавить пространство в пул можно динамически путем добавления нового виртуального устройства верхнего уровня. Это пространство немедленно становится доступным для всех наборов данных в пуле. Для добавления в пул нового виртуального устройства используется команда zpool add. Пример:


# zpool add zeepool mirror c2t1d0 c2t2d0

Формат указания виртуальных устройств совпадает с форматом команды zpool create, при этом применяются те же правила. Для устройств выполняется проверка на использование; изменить степень избыточности при помощи этой команды без параметра -f невозможно. Эта команда также поддерживает параметр -n, предназначенный для выполнения пробного прогона. Пример:


# zpool add -n zeepool mirror c3t1d0 c3t2d0
would update 'zeepool' to the following configuration:
      zeepool
        mirror
            c1t0d0
            c1t1d0
        mirror
            c2t1d0
            c2t2d0
        mirror
            c3t1d0
            c3t2d0

Этот синтаксис позволяет добавить зеркальные устройства c3t1d0 и c3t2d0 в существующую конфигурацию zeepool.

Для получения дополнительной информации о проверке действительности виртуальных устройств см. Обнаружение используемых устройств.


Пример 4–1 Добавление дисков в зеркальную конфигурацию ZFS

В следующем примере еще одно зеркало добавляется в существующую зеркальную конфигурацию ZFS в системе Sun Fire x4500.


# zpool status tank
  pool: tank
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            c0t1d0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            c0t2d0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0

errors: No known data errors
# zpool add tank mirror c0t3d0 c1t3d0
# zpool status tank
  pool: tank
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            c0t1d0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            c0t2d0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            c0t3d0  ONLINE       0     0     0
            c1t3d0  ONLINE       0     0     0

errors: No known data errors


Пример 4–2 Добавление дисков в конфигурацию RAID-Z

Аналогичным образом в конфигурацию RAID-Z добавляются дополнительные диски. Следующий пример демонстрирует преобразование пула устройств хранения данных с одним устройством RAID–Z, содержащего 3 диска, в пул устройств хранения данных RAID-Z, содержащий 3 диска.


# zpool status
  pool: rpool
 state: ONLINE
 scrub: none requested
config:
        NAME         STATE     READ WRITE CKSUM
        rpool        ONLINE       0     0     0
          raidz1     ONLINE       0     0     0
            c1t2d0   ONLINE       0     0     0
            c1t3d0   ONLINE       0     0     0
            c1t4d0   ONLINE       0     0     0

errors: No known data errors
# zpool add rpool raidz c2t2d0 c2t3d0 c2t4d0
# zpool status
  pool: rpool
 state: ONLINE
 scrub: none requested
config:
        NAME         STATE     READ WRITE CKSUM
        rpool        ONLINE       0     0     0
          raidz1     ONLINE       0     0     0
            c1t2d0   ONLINE       0     0     0
            c1t3d0   ONLINE       0     0     0
            c1t4d0   ONLINE       0     0     0
          raidz1     ONLINE       0     0     0
            c2t2d0   ONLINE       0     0     0
            c2t3d0   ONLINE       0     0     0
            c2t4d0   ONLINE       0     0     0

errors: No known data errors


Пример 4–3 Добавление зеркального устройства протоколирования в пул устройств хранения данных ZFS

Следующий пример демонстрирует добавление зеркального устройства протоколирования в зеркальный пул устройств хранения данных.Дополнительные сведения об использовании устройств протоколирования в пуле устройств хранения данных приведены в разделе Настройка отдельных устройств протоколирования ZFS.


# zpool status newpool
  pool: newpool
 state: ONLINE
 scrub: none requested
config:

        NAME         STATE     READ WRITE CKSUM
        newpool      ONLINE       0     0     0
          mirror     ONLINE       0     0     0
            c1t9d0   ONLINE       0     0     0
            c1t10d0  ONLINE       0     0     0

errors: No known data errors
# zpool add newpool log mirror c1t11d0 c1t12d0
# zpool status newpool
  pool: newpool
 state: ONLINE
 scrub: none requested
config:

        NAME         STATE     READ WRITE CKSUM
        newpool      ONLINE       0     0     0
          mirror     ONLINE       0     0     0
            c1t9d0   ONLINE       0     0     0
            c1t10d0  ONLINE       0     0     0
        logs         ONLINE       0     0     0
          mirror     ONLINE       0     0     0
            c1t11d0  ONLINE       0     0     0
            c1t12d0  ONLINE       0     0     0

errors: No known data errors

Для создания зеркального устройства протоколирования можно присоединить новое устройство протоколирования к существующему. Эта операция идентична присоединению устройства в незеркалируемом пуле устройств хранения данных.



Пример 4–4 Добавление и удаление устройств кэширования в пуле устройств хранения данных ZFS

Пользователь может добавлять и удалять устройства кэширования в пуле устройств хранения ZFS

Используйте команду zpool add для добавления устройств кэширования. Пример:


# zpool add tank cache c2t5d0 c2t8d0
# zpool status tank
  pool: tank
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            c2t0d0  ONLINE       0     0     0
            c2t1d0  ONLINE       0     0     0
            c2t3d0  ONLINE       0     0     0
        cache
          c2t5d0    ONLINE       0     0     0
          c2t8d0    ONLINE       0     0     0

errors: No known data errors

Зеркалирование устройств кэширования невозможно; кроме того, они не могут быть частью конфигурации RAID-Z.

Используйте команду·zpool remove для удаления устройств кэширования. Пример:


# zpool remove tank c2t5d0 c2t8d0
# zpool status tank
  pool: tank
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            c2t0d0  ONLINE       0     0     0
            c2t1d0  ONLINE       0     0     0
            c2t3d0  ONLINE       0     0     0

errors: No known data errors

В настоящее время команда zpool remove поддерживает только удаление устройств горячего резерва и устройств кэширования. Устройства, являющиеся частью основной конфигурации зеркалированного пула могут быть удалены с помощью команды zpool detach. Удаление устройств без избыточности и устройств RAID-Z из пула невозможно.

Подробные сведения об использовании устройств кэширования в пуле устройств хранения ZFS представлены в разделе Создание пула устройств хранения данных ZFS с устройствами кэширования.