ZFS. Расширить дисковое пространство пула: различия между версиями

Материал из Wiki
Перейти к навигации Перейти к поиску
(Новая страница: «Добавим виртуальное устройство VDEV (MIRROR, RAIDZ1, RAIDZ2) в уже созданный пул RAIDZ1<blockquote>РАСШИРИТЬ...»)
 
Строка 1: Строка 1:
=== Задача ===
Добавим виртуальное устройство VDEV (MIRROR, RAIDZ1, RAIDZ2) в уже созданный пул RAIDZ1<blockquote>РАСШИРИТЬ ПУЛ, ДОБАВИВ ОТДЕЛЬНЫЙ ДИСК В УЖЕ СОЗДАННОЕ ВИРТУАЛЬНОЕ УСТРОЙСТВО (НАПРИМЕР, В MIRROR ИЛИ В RAIDZ1), НЕЛЬЗЯ!
Добавим виртуальное устройство VDEV (MIRROR, RAIDZ1, RAIDZ2) в уже созданный пул RAIDZ1<blockquote>РАСШИРИТЬ ПУЛ, ДОБАВИВ ОТДЕЛЬНЫЙ ДИСК В УЖЕ СОЗДАННОЕ ВИРТУАЛЬНОЕ УСТРОЙСТВО (НАПРИМЕР, В MIRROR ИЛИ В RAIDZ1), НЕЛЬЗЯ!


МОЖНО ЛИШЬ ДОБАВИТЬ В ТЕКУЩИЙ ПУЛ АНАЛОГИЧНОЕ ВИРТУАЛЬНОЕ УСТРОЙСТВО ТОМУ, КОТОРОЕ УЖЕ РАБОТАЕТ В ПУЛЕ.
МОЖНО ЛИШЬ ДОБАВИТЬ В ТЕКУЩИЙ ПУЛ АНАЛОГИЧНОЕ ВИРТУАЛЬНОЕ УСТРОЙСТВО ТОМУ, КОТОРОЕ УЖЕ РАБОТАЕТ В ПУЛЕ.


НАПРИМЕР, ЕСЛИ ОРИГИНАЛЬНЫЙ ПУЛ СОБРАН НА ОСНОВЕ MIRROR, ТО И ДОБАВИТЬ В НЕГО МОЖНО ТОЛЬКО VDEV MIRROR ИЗ ДИСКОВ АНАЛОГИЧНОГО ОБЪЕМА
НАПРИМЕР, ЕСЛИ ОРИГИНАЛЬНЫЙ ПУЛ СОБРАН НА ОСНОВЕ MIRROR, ТО И ДОБАВИТЬ В НЕГО МОЖНО ТОЛЬКО VDEV MIRROR ИЗ ДИСКОВ АНАЛОГИЧНОГО ОБЪЕМА</blockquote>Имеется пул pool01 на основе виртуального устройства типа raidz1
 
НАПРИМЕР, У НАС ЕСТЬ ПУЛ pool01 НА ОСНОВЕ ВИРТУАЛЬНОГО УСТРОЙСТВА ТИПА RAIDZ1</blockquote>
  zpool status
  zpool status
<blockquote>  pool: pool01
<blockquote>  pool: pool01
Строка 27: Строка 26:
           gpt/d3  ONLINE       0     0     0</blockquote>           
           gpt/d3  ONLINE       0     0     0</blockquote>           


НЕОБХОДИМО РАСШИРИТЬ ДИСКОВОЕ ПРОСТРАНСТВО
Необходимо расширить дисковое пространство


СНАЧАЛА ОТФОРМАТИРУЕМ НОВЫЕ ДИСКИ АНАЛОГИЧНОГО ОБЪЕМА С GPT МЕТКАМИ
=== Отформатируем новые диски аналогичного объема с gpt метками ===
gpart create -s gpt ada3


gpart create -s gpt ada3
gpart create -s gpt ada4


gpart create -s gpt ada4
gpart create -s gpt ada5


gpart create -s gpt ada5
gpart add -t freebsd-zfs -l d4 ada3


(
gpart add -t freebsd-zfs -l d5 ada4


// при ошибке "gpart: geom 'ada0': File exists" делаем:
gpart add -t freebsd-zfs -l d6 ada5


gpart delete -i 1 ada3


gpart destroy ada3
При ошибке "gpart: geom 'ada0': File exists" делаем:
gpart delete -i 1 ada3


)
gpart destroy ada3


gpart add -t freebsd-zfs -l d4 ada3
=== Соберем такое же vdev (raidz1 из 3-х дисков), как и в существующем в пуле устройстве, и добавим его в пул ===
<blockquote>!!!ВНИМАНИЕ!!!


gpart add -t freebsd-zfs -l d5 ada4
КАК ТОЛЬКО НОВОЕ VDEV БУДЕТ ДОБАВЛЕНО К СУЩЕСТВУЮЩЕМУ ПУЛУ И ОБЪЕМ ПУЛА БУДЕТ УВЕЛИЧЕН,


gpart add -t freebsd-zfs -l d6 ada5
НЕ БУДЕТ СПОСОБА УДАЛИТЬ ЭТОТ ИЛИ ОРИГИНАЛЬНЫЙ VDEV ИЗ ПУЛА.


// СОБЕРЕМ ТАКОЕ ЖЕ VDEV (RAIDZ1 из 3-х дисков), КАК И В СУЩЕСТВУЮЩЕМ В ПУЛЕ УСТРОЙСТВЕ, И ДОБАВИМ ЕГО В ПУЛ
ТЕПЕРЬ НОВЫЙ VDEV - ЧАСТЬ ПУЛА, И ДАЛЕЕ ОБЪЕМ ПУЛА МОЖНО ТОЛЬКО УВЕЛИЧИТЬ НОВЫМ VDEV!


// !!!ВНИМАНИЕ!!!
ЕДИНСТВЕННЫЙ СПОСОБ УМЕНЬШИТЬ ОБЪЕМ ТЕКУЩЕГО ПУЛА - ЭТО СДЕЛАТЬ РЕЗЕРВНУЮ КОПИЮ ДАННЫХ ПУЛА,


// КАК ТОЛЬКО НОВОЕ VDEV БУДЕТ ДОБАВЛЕНО К СУЩЕСТВУЮЩЕМУ ПУЛУ И ОБЪЕМ ПУЛА БУДЕТ УВЕЛИЧЕН,
УНИЧТОЖИТЬ ТЕКУЩИЙ ПУЛ И СОБРАТЬ НОВЫЙ!</blockquote>
 
zpool add pool01 raidz /dev/gpt/d4 /dev/gpt/d5 /dev/gpt/d6
// НЕ БУДЕТ СПОСОБА УДАЛИТЬ ЭТОТ ИЛИ ОРИГИНАЛЬНЫЙ VDEV ИЗ ПУЛА.
Объем пула увеличен в 2 раза
 
zpool status
// ТЕПЕРЬ НОВЫЙ VDEV - ЧАСТЬ ПУЛА, И ДАЛЕЕ ОБЪЕМ ПУЛА МОЖНО ТОЛЬКО УВЕЛИЧИТЬ НОВЫМ VDEV!
<blockquote>  pool: pool01
 
// ЕДИНСТВЕННЫЙ СПОСОБ УМЕНЬШИТЬ ОБЪЕМ ТЕКУЩЕГО ПУЛА - ЭТО СДЕЛАТЬ РЕЗЕРВНУЮ КОПИЮ ДАННЫХ ПУЛА,
 
// УНИЧТОЖИТЬ ТЕКУЩИЙ ПУЛ И СОБРАТЬ НОВЫЙ!
 
zpool add pool01 raidz /dev/gpt/d4 /dev/gpt/d5 /dev/gpt/d6
 
// ОБЪЕМ ПУЛА УВЕЛИЧЕН В 2 РАЗА
 
zpool status
 
...
 
  pool: pool01


state: ONLINE
state: ONLINE
Строка 101: Строка 88:
           gpt/d5  ONLINE       0     0     0
           gpt/d5  ONLINE       0     0     0


           gpt/d6  ONLINE       0     0     0
           gpt/d6  ONLINE       0     0     0</blockquote>           
 
df -h
...
<blockquote>Filesystem    Size    Used   Avail Capacity  Mounted on
 
           
 
df -h
 
...
 
Filesystem    Size    Used   Avail Capacity  Mounted on


...
...
Строка 117: Строка 96:
pool01        3.5G    144K    3.5G     0%    /mnt/pool01
pool01        3.5G    144K    3.5G     0%    /mnt/pool01


...
...</blockquote>
[[Категория:ZFS]]
__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__

Версия 11:37, 12 декабря 2021

Задача

Добавим виртуальное устройство VDEV (MIRROR, RAIDZ1, RAIDZ2) в уже созданный пул RAIDZ1

РАСШИРИТЬ ПУЛ, ДОБАВИВ ОТДЕЛЬНЫЙ ДИСК В УЖЕ СОЗДАННОЕ ВИРТУАЛЬНОЕ УСТРОЙСТВО (НАПРИМЕР, В MIRROR ИЛИ В RAIDZ1), НЕЛЬЗЯ!

МОЖНО ЛИШЬ ДОБАВИТЬ В ТЕКУЩИЙ ПУЛ АНАЛОГИЧНОЕ ВИРТУАЛЬНОЕ УСТРОЙСТВО ТОМУ, КОТОРОЕ УЖЕ РАБОТАЕТ В ПУЛЕ.

НАПРИМЕР, ЕСЛИ ОРИГИНАЛЬНЫЙ ПУЛ СОБРАН НА ОСНОВЕ MIRROR, ТО И ДОБАВИТЬ В НЕГО МОЖНО ТОЛЬКО VDEV MIRROR ИЗ ДИСКОВ АНАЛОГИЧНОГО ОБЪЕМА

Имеется пул pool01 на основе виртуального устройства типа raidz1

zpool status

  pool: pool01

state: ONLINE

  scan: none requested

config:

       NAME        STATE     READ WRITE CKSUM

       pool01      ONLINE       0     0     0

         raidz1-0  ONLINE       0     0     0

           gpt/d1  ONLINE       0     0     0

           gpt/d2  ONLINE       0     0     0

           gpt/d3  ONLINE       0     0     0

           

Необходимо расширить дисковое пространство

Отформатируем новые диски аналогичного объема с gpt метками

gpart create -s gpt ada3
gpart create -s gpt ada4
gpart create -s gpt ada5
gpart add -t freebsd-zfs -l d4 ada3
gpart add -t freebsd-zfs -l d5 ada4
gpart add -t freebsd-zfs -l d6 ada5


При ошибке "gpart: geom 'ada0': File exists" делаем:

gpart delete -i 1 ada3
gpart destroy ada3

Соберем такое же vdev (raidz1 из 3-х дисков), как и в существующем в пуле устройстве, и добавим его в пул

!!!ВНИМАНИЕ!!!

КАК ТОЛЬКО НОВОЕ VDEV БУДЕТ ДОБАВЛЕНО К СУЩЕСТВУЮЩЕМУ ПУЛУ И ОБЪЕМ ПУЛА БУДЕТ УВЕЛИЧЕН,

НЕ БУДЕТ СПОСОБА УДАЛИТЬ ЭТОТ ИЛИ ОРИГИНАЛЬНЫЙ VDEV ИЗ ПУЛА.

ТЕПЕРЬ НОВЫЙ VDEV - ЧАСТЬ ПУЛА, И ДАЛЕЕ ОБЪЕМ ПУЛА МОЖНО ТОЛЬКО УВЕЛИЧИТЬ НОВЫМ VDEV!

ЕДИНСТВЕННЫЙ СПОСОБ УМЕНЬШИТЬ ОБЪЕМ ТЕКУЩЕГО ПУЛА - ЭТО СДЕЛАТЬ РЕЗЕРВНУЮ КОПИЮ ДАННЫХ ПУЛА,

УНИЧТОЖИТЬ ТЕКУЩИЙ ПУЛ И СОБРАТЬ НОВЫЙ!

zpool add pool01 raidz /dev/gpt/d4 /dev/gpt/d5 /dev/gpt/d6

Объем пула увеличен в 2 раза

zpool status

  pool: pool01

state: ONLINE

  scan: none requested

config:

       NAME        STATE     READ WRITE CKSUM

       pool01      ONLINE       0     0     0

         raidz1-0  ONLINE       0     0     0

           gpt/d1  ONLINE       0     0     0

           gpt/d2  ONLINE       0     0     0

           gpt/d3  ONLINE       0     0     0

         raidz1-1  ONLINE       0     0     0

           gpt/d4  ONLINE       0     0     0

           gpt/d5  ONLINE       0     0     0

           gpt/d6  ONLINE       0     0     0

           

df -h

Filesystem    Size    Used   Avail Capacity  Mounted on

...

pool01        3.5G    144K    3.5G     0%    /mnt/pool01

...