ZFS. Расширить дисковое пространство пула: различия между версиями
Cless (обсуждение | вклад) |
Cless (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
== Задача == | |||
Добавим виртуальное устройство VDEV (MIRROR, RAIDZ1, RAIDZ2) в уже созданный пул RAIDZ1<blockquote>Расширить пул, добавив отдельный диск в уже созданное виртуальное устройство (например, в '''mirror''' или в '''raidz1'''), нельзя! | |||
Можно лишь добавить в текущий пул аналогичное виртуальное устройство тому, которое уже работает в пуле. | |||
Например, если оригинальный пул собран на основе '''mirror''', то и добавить в него можно только '''vdev''' '''mirror''' из дисков аналогичного объема</blockquote>Имеется пул pool01 на основе виртуального устройства типа raidz1 | |||
scan: none requested | <code>zpool status</code> | ||
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 метками == | |||
<code>gpart create -s gpt ada3</code> | |||
<code>gpart create -s gpt ada4</code> | |||
<code>gpart create -s gpt ada5</code> | |||
<code>gpart add -t freebsd-zfs -l d4 ada3</code> | |||
<code>gpart add -t freebsd-zfs -l d5 ada4</code> | |||
<code>gpart add -t freebsd-zfs -l d6 ada5</code> | |||
При ошибке "gpart: geom 'ada0': File exists" делаем: | При ошибке "gpart: geom 'ada0': File exists" делаем: | ||
<code>gpart delete -i 1 ada3</code> | |||
<code>gpart destroy ada3</code> | |||
< | |||
== Соберем такое же vdev (raidz1 из 3-х дисков), как и в существующем в пуле устройстве, и добавим его в пул == | |||
<blockquote>!!! ВНИМАНИЕ !!! | |||
Как только новое '''vdev''' будет добавлено к существующему пулу и объем пула будет увеличен, не будет способа удалить этот или оригинальный '''vdev''' из пула. | |||
Теперь новый '''vdev''' - часть пула, и далее объем пула можно только увеличить новым '''vdev'''! | |||
Единственный способ уменьшить объем текущего пула - это сделать резервную копию данных пула, уничтожить текущий пул и собрать новый!</blockquote><code>zpool add pool01 raidz /dev/gpt/d4 /dev/gpt/d5 /dev/gpt/d6</code> | |||
Объем пула увеличен в 2 раза | Объем пула увеличен в 2 раза | ||
pool01 | <code>zpool status</code> | ||
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 | |||
... | <code>df -h</code> | ||
Filesystem Size Used Avail Capacity Mounted on | |||
... | |||
pool01 3.5G 144K 3.5G 0% /mnt/pool01 | |||
... | |||
[[Категория:ZFS]] | [[Категория:ZFS]] | ||
__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__ | __ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__ | ||
Версия 22:30, 1 марта 2022
Задача
Добавим виртуальное устройство 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 ...