Увеличьте раздел ZFS, чтобы использовать весь диск

У меня есть пул ZFS, который в настоящее время занимает 100 ГБ. Я увеличил размер диска до 150 ГБ, но, похоже, я не могу заставить ZFS использовать весь диск.

У меня вчера точно такая же проблема с другим сервером, и там определенная смесь zpool set autoexpand = on , zpool export | import , zpool online -e и перезагрузки позволили мне это исправить. Но что бы я ни делал, это не работает на текущем сервере

Устройство с проблемой - sdb, из lsblk ниже видно, что раздел занимает только 100 ГБ из доступных 150 ГБ.

# lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb       8:16   0  150G  0 disk
├─sdb1    8:17   0  100G  0 part
└─sdb9    8:25   0    8M  0 part

root@http-server-2:/home# parted -l
Model: Google PersistentDisk (scsi)
Disk /dev/sdb: 161GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number  Start   End    Size    File system  Name                  Flags
 1      1049kB  107GB  107GB   zfs          zfs-01a59d03c9294944
 9      107GB   107GB  8389kB

ОБНОВЛЕНИЕ

] дополнительные данные:

zpool list

# zpool list
NAME    SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
lxd    13.9G   394K  13.9G         -     0%     0%  1.00x  ONLINE  -
zdata  99.5G  82.7G  16.8G         -    49%    83%  1.00x  ONLINE  -

zpool status

# zpool status
  pool: lxd
 state: ONLINE
  scan: none requested
config:

        NAME                          STATE     READ WRITE CKSUM
        lxd                           ONLINE       0     0     0
          /var/lib/lxd/disks/lxd.img  ONLINE       0     0     0

errors: No known data errors

  pool: zdata
 state: ONLINE
  scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        zdata       ONLINE       0     0     0
          sdb       ONLINE       0     0     0

autoexpand

# zpool get autoexpand
NAME   PROPERTY    VALUE   SOURCE
lxd    autoexpand  off     default
zdata  autoexpand  on      local

expandsize

# zpool get expandsize zdata
NAME   PROPERTY    VALUE     SOURCE
zdata  expandsize  -         -

fdisk

# fdisk -l /dev/sdb
Disk /dev/sdb: 150 GiB, 161061273600 bytes, 314572800 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 0DA2A1D7-9A44-2E4C-856A-BB9EAEB283E0

Device         Start       End   Sectors  Size Type
/dev/sdb1       2048 209696767 209694720  100G Solaris /usr & Apple ZFS
/dev/sdb9  209696768 209713151     16384    8M Solaris reserved 1

Я в облаке Google, и это экземпляр виртуальной машины ubuntu, zfs находится на втором диске который я подключил к серверу с помощью «Google Cloud Platform - Compute Engine».

Как правильно расширить раздел ZFS в этом случае?

РЕШЕНИЕ

В конце концов я заставил его работать после @ewwhite ответ ниже. Для полноты, вот как удалить дополнительный раздел # 9:

parted /dev/sdb rm 9
parted /dev/sdb resizepart 1 100%

, а затем связку zpool online -e => пул экспорта => пул импорта. Но что бы я ни делал, это не работает на текущем сервере

Устройство с проблемой - sdb, из lsblk ниже видно, что раздел занимает только 100 ГБ из доступных 150 ГБ.

# lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb       8:16   0  150G  0 disk
├─sdb1    8:17   0  100G  0 part
└─sdb9    8:25   0    8M  0 part

root@http-server-2:/home# parted -l
Model: Google PersistentDisk (scsi)
Disk /dev/sdb: 161GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number  Start   End    Size    File system  Name                  Flags
 1      1049kB  107GB  107GB   zfs          zfs-01a59d03c9294944
 9      107GB   107GB  8389kB

ОБНОВЛЕНИЕ

] дополнительные данные:

zpool list

# zpool list
NAME    SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
lxd    13.9G   394K  13.9G         -     0%     0%  1.00x  ONLINE  -
zdata  99.5G  82.7G  16.8G         -    49%    83%  1.00x  ONLINE  -

zpool status

# zpool status
  pool: lxd
 state: ONLINE
  scan: none requested
config:

        NAME                          STATE     READ WRITE CKSUM
        lxd                           ONLINE       0     0     0
          /var/lib/lxd/disks/lxd.img  ONLINE       0     0     0

errors: No known data errors

  pool: zdata
 state: ONLINE
  scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        zdata       ONLINE       0     0     0
          sdb       ONLINE       0     0     0

autoexpand

# zpool get autoexpand
NAME   PROPERTY    VALUE   SOURCE
lxd    autoexpand  off     default
zdata  autoexpand  on      local

expandsize

# zpool get expandsize zdata
NAME   PROPERTY    VALUE     SOURCE
zdata  expandsize  -         -

fdisk

# fdisk -l /dev/sdb
Disk /dev/sdb: 150 GiB, 161061273600 bytes, 314572800 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 0DA2A1D7-9A44-2E4C-856A-BB9EAEB283E0

Device         Start       End   Sectors  Size Type
/dev/sdb1       2048 209696767 209694720  100G Solaris /usr & Apple ZFS
/dev/sdb9  209696768 209713151     16384    8M Solaris reserved 1

Я в облаке Google, и это экземпляр виртуальной машины ubuntu, zfs находится на втором диске который я подключил к серверу через «Google Cloud Platform - Compute Engine».

Как правильно расширить раздел ZFS в этом случае?

РЕШЕНИЕ

В конце концов я заставил его работать после @ewwhite ответ ниже. Для полноты, вот как удалить дополнительный раздел # 9:

parted /dev/sdb rm 9
parted /dev/sdb resizepart 1 100%

, а затем связку zpool online -e => пул экспорта => пул импорта. Но что бы я ни делал, это не работает на текущем сервере

Устройство с проблемой - sdb, из lsblk ниже видно, что раздел занимает всего 100 ГБ из доступных 150 ГБ.

# lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb       8:16   0  150G  0 disk
├─sdb1    8:17   0  100G  0 part
└─sdb9    8:25   0    8M  0 part

root@http-server-2:/home# parted -l
Model: Google PersistentDisk (scsi)
Disk /dev/sdb: 161GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number  Start   End    Size    File system  Name                  Flags
 1      1049kB  107GB  107GB   zfs          zfs-01a59d03c9294944
 9      107GB   107GB  8389kB

ОБНОВЛЕНИЕ

] дополнительные данные:

zpool list

# zpool list
NAME    SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
lxd    13.9G   394K  13.9G         -     0%     0%  1.00x  ONLINE  -
zdata  99.5G  82.7G  16.8G         -    49%    83%  1.00x  ONLINE  -

zpool status

# zpool status
  pool: lxd
 state: ONLINE
  scan: none requested
config:

        NAME                          STATE     READ WRITE CKSUM
        lxd                           ONLINE       0     0     0
          /var/lib/lxd/disks/lxd.img  ONLINE       0     0     0

errors: No known data errors

  pool: zdata
 state: ONLINE
  scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        zdata       ONLINE       0     0     0
          sdb       ONLINE       0     0     0

autoexpand

# zpool get autoexpand
NAME   PROPERTY    VALUE   SOURCE
lxd    autoexpand  off     default
zdata  autoexpand  on      local

expandsize

# zpool get expandsize zdata
NAME   PROPERTY    VALUE     SOURCE
zdata  expandsize  -         -

fdisk

# fdisk -l /dev/sdb
Disk /dev/sdb: 150 GiB, 161061273600 bytes, 314572800 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 0DA2A1D7-9A44-2E4C-856A-BB9EAEB283E0

Device         Start       End   Sectors  Size Type
/dev/sdb1       2048 209696767 209694720  100G Solaris /usr & Apple ZFS
/dev/sdb9  209696768 209713151     16384    8M Solaris reserved 1

Я в облаке Google, и это экземпляр виртуальной машины ubuntu, zfs находится на втором диске который я подключил к серверу с помощью «Google Cloud Platform - Compute Engine».

Как правильно расширить раздел ZFS в этом случае?

РЕШЕНИЕ

В конце концов я заставил его работать после @ewwhite ответ ниже. Для полноты, вот как удалить дополнительный раздел # 9:

parted /dev/sdb rm 9
parted /dev/sdb resizepart 1 100%

, а затем связку zpool online -e => пул экспорта => пул импорта. t работает на текущем сервере

Устройство с проблемой - sdb, из lsblk ниже видно, что раздел занимает только 100 ГБ из доступных 150 ГБ.

# lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb       8:16   0  150G  0 disk
├─sdb1    8:17   0  100G  0 part
└─sdb9    8:25   0    8M  0 part

root@http-server-2:/home# parted -l
Model: Google PersistentDisk (scsi)
Disk /dev/sdb: 161GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number  Start   End    Size    File system  Name                  Flags
 1      1049kB  107GB  107GB   zfs          zfs-01a59d03c9294944
 9      107GB   107GB  8389kB

ОБНОВЛЕНИЕ

дополнительные данные:

zpool list

# zpool list
NAME    SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
lxd    13.9G   394K  13.9G         -     0%     0%  1.00x  ONLINE  -
zdata  99.5G  82.7G  16.8G         -    49%    83%  1.00x  ONLINE  -

zpool status

# zpool status
  pool: lxd
 state: ONLINE
  scan: none requested
config:

        NAME                          STATE     READ WRITE CKSUM
        lxd                           ONLINE       0     0     0
          /var/lib/lxd/disks/lxd.img  ONLINE       0     0     0

errors: No known data errors

  pool: zdata
 state: ONLINE
  scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        zdata       ONLINE       0     0     0
          sdb       ONLINE       0     0     0

autoexpand

# zpool get autoexpand
NAME   PROPERTY    VALUE   SOURCE
lxd    autoexpand  off     default
zdata  autoexpand  on      local

expandsize

# zpool get expandsize zdata
NAME   PROPERTY    VALUE     SOURCE
zdata  expandsize  -         -

fdisk

# fdisk -l /dev/sdb
Disk /dev/sdb: 150 GiB, 161061273600 bytes, 314572800 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 0DA2A1D7-9A44-2E4C-856A-BB9EAEB283E0

Device         Start       End   Sectors  Size Type
/dev/sdb1       2048 209696767 209694720  100G Solaris /usr & Apple ZFS
/dev/sdb9  209696768 209713151     16384    8M Solaris reserved 1

Я нахожусь в облаке Google, и это экземпляр виртуальной машины ubuntu, zfs находится на втором диске, который я подключил к серверу через "Google Облачная платформа - Compute Engine ».

Как правильно расширить раздел ZFS в этом случае?

РЕШЕНИЕ

В конце концов, я заставил его работать, следуя приведенному ниже ответу @ewwhite. Для полноты, вот как удалить лишний раздел # 9:

parted /dev/sdb rm 9
parted /dev/sdb resizepart 1 100%

, а затем связку zpool online -e => export pool => import pool. t работает на текущем сервере

Устройство с проблемой - sdb, из lsblk ниже видно, что раздел занимает только 100 ГБ из доступных 150 ГБ.

# lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb       8:16   0  150G  0 disk
├─sdb1    8:17   0  100G  0 part
└─sdb9    8:25   0    8M  0 part

root@http-server-2:/home# parted -l
Model: Google PersistentDisk (scsi)
Disk /dev/sdb: 161GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number  Start   End    Size    File system  Name                  Flags
 1      1049kB  107GB  107GB   zfs          zfs-01a59d03c9294944
 9      107GB   107GB  8389kB

ОБНОВЛЕНИЕ

дополнительные данные:

zpool list

# zpool list
NAME    SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
lxd    13.9G   394K  13.9G         -     0%     0%  1.00x  ONLINE  -
zdata  99.5G  82.7G  16.8G         -    49%    83%  1.00x  ONLINE  -

zpool status

# zpool status
  pool: lxd
 state: ONLINE
  scan: none requested
config:

        NAME                          STATE     READ WRITE CKSUM
        lxd                           ONLINE       0     0     0
          /var/lib/lxd/disks/lxd.img  ONLINE       0     0     0

errors: No known data errors

  pool: zdata
 state: ONLINE
  scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        zdata       ONLINE       0     0     0
          sdb       ONLINE       0     0     0

autoexpand

# zpool get autoexpand
NAME   PROPERTY    VALUE   SOURCE
lxd    autoexpand  off     default
zdata  autoexpand  on      local

expandsize

# zpool get expandsize zdata
NAME   PROPERTY    VALUE     SOURCE
zdata  expandsize  -         -

fdisk

# fdisk -l /dev/sdb
Disk /dev/sdb: 150 GiB, 161061273600 bytes, 314572800 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 0DA2A1D7-9A44-2E4C-856A-BB9EAEB283E0

Device         Start       End   Sectors  Size Type
/dev/sdb1       2048 209696767 209694720  100G Solaris /usr & Apple ZFS
/dev/sdb9  209696768 209713151     16384    8M Solaris reserved 1

Я нахожусь в облаке Google, и это экземпляр виртуальной машины ubuntu, zfs находится на втором диске, который я подключил к серверу через "Google Облачная платформа - Compute Engine ».

Как правильно расширить раздел ZFS в этом случае?

РЕШЕНИЕ

В конце концов, я заставил его работать, следуя приведенному ниже ответу @ewwhite. Для полноты, вот как удалить лишний раздел # 9:

parted /dev/sdb rm 9
parted /dev/sdb resizepart 1 100%

, а затем связку zpool online -e => export pool => import pool.

# lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb       8:16   0  150G  0 disk
├─sdb1    8:17   0  100G  0 part
└─sdb9    8:25   0    8M  0 part

root@http-server-2:/home# parted -l
Model: Google PersistentDisk (scsi)
Disk /dev/sdb: 161GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number  Start   End    Size    File system  Name                  Flags
 1      1049kB  107GB  107GB   zfs          zfs-01a59d03c9294944
 9      107GB   107GB  8389kB

ОБНОВЛЕНИЕ

дополнительные данные:

zpool list

# zpool list
NAME    SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
lxd    13.9G   394K  13.9G         -     0%     0%  1.00x  ONLINE  -
zdata  99.5G  82.7G  16.8G         -    49%    83%  1.00x  ONLINE  -

zpool status

# zpool status
  pool: lxd
 state: ONLINE
  scan: none requested
config:

        NAME                          STATE     READ WRITE CKSUM
        lxd                           ONLINE       0     0     0
          /var/lib/lxd/disks/lxd.img  ONLINE       0     0     0

errors: No known data errors

  pool: zdata
 state: ONLINE
  scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        zdata       ONLINE       0     0     0
          sdb       ONLINE       0     0     0

autoexpand

# zpool get autoexpand
NAME   PROPERTY    VALUE   SOURCE
lxd    autoexpand  off     default
zdata  autoexpand  on      local

expandsize

# zpool get expandsize zdata
NAME   PROPERTY    VALUE     SOURCE
zdata  expandsize  -         -

fdisk

# fdisk -l /dev/sdb
Disk /dev/sdb: 150 GiB, 161061273600 bytes, 314572800 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 0DA2A1D7-9A44-2E4C-856A-BB9EAEB283E0

Device         Start       End   Sectors  Size Type
/dev/sdb1       2048 209696767 209694720  100G Solaris /usr & Apple ZFS
/dev/sdb9  209696768 209713151     16384    8M Solaris reserved 1

Я в облаке Google, и это экземпляр виртуальной машины ubuntu, zfs находится на втором диске, который я подключил к серверу через "Google Cloud Platform - Compute Engine".

Как правильно расширить раздел ZFS в этом случае?

РЕШЕНИЕ

В конце концов я получил он будет работать после ответа @ewwhite ниже. Для полноты, вот как удалить лишний раздел # 9:

parted /dev/sdb rm 9
parted /dev/sdb resizepart 1 100%

, а затем связку zpool online -e => export pool => import pool.

# lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb       8:16   0  150G  0 disk
├─sdb1    8:17   0  100G  0 part
└─sdb9    8:25   0    8M  0 part

root@http-server-2:/home# parted -l
Model: Google PersistentDisk (scsi)
Disk /dev/sdb: 161GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number  Start   End    Size    File system  Name                  Flags
 1      1049kB  107GB  107GB   zfs          zfs-01a59d03c9294944
 9      107GB   107GB  8389kB

ОБНОВЛЕНИЕ

дополнительные данные:

zpool list

# zpool list
NAME    SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
lxd    13.9G   394K  13.9G         -     0%     0%  1.00x  ONLINE  -
zdata  99.5G  82.7G  16.8G         -    49%    83%  1.00x  ONLINE  -

zpool status

# zpool status
  pool: lxd
 state: ONLINE
  scan: none requested
config:

        NAME                          STATE     READ WRITE CKSUM
        lxd                           ONLINE       0     0     0
          /var/lib/lxd/disks/lxd.img  ONLINE       0     0     0

errors: No known data errors

  pool: zdata
 state: ONLINE
  scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        zdata       ONLINE       0     0     0
          sdb       ONLINE       0     0     0

autoexpand

# zpool get autoexpand
NAME   PROPERTY    VALUE   SOURCE
lxd    autoexpand  off     default
zdata  autoexpand  on      local

expandsize

# zpool get expandsize zdata
NAME   PROPERTY    VALUE     SOURCE
zdata  expandsize  -         -

fdisk

# fdisk -l /dev/sdb
Disk /dev/sdb: 150 GiB, 161061273600 bytes, 314572800 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 0DA2A1D7-9A44-2E4C-856A-BB9EAEB283E0

Device         Start       End   Sectors  Size Type
/dev/sdb1       2048 209696767 209694720  100G Solaris /usr & Apple ZFS
/dev/sdb9  209696768 209713151     16384    8M Solaris reserved 1

Я в облаке Google, и это экземпляр виртуальной машины ubuntu, zfs находится на втором диске, который я подключил к серверу через «Google Cloud Platform - Compute Engine».

Как правильно расширить раздел ZFS в этом случае?

РЕШЕНИЕ

В конце концов я получил он будет работать после ответа @ewwhite ниже. Для полноты, вот как удалить лишний раздел # 9:

parted /dev/sdb rm 9
parted /dev/sdb resizepart 1 100%

, а затем связку zpool online -e => export pool => import pool.

Как правильно расширить раздел ZFS в этом случае?

РЕШЕНИЕ

В конце концов я заставил его работать, следуя приведенному ниже ответу @ewwhite. Для полноты, вот как удалить дополнительный раздел # 9:

parted /dev/sdb rm 9
parted /dev/sdb resizepart 1 100%

, а затем связку zpool online -e => пул экспорта => пул импорта.

Как правильно расширить раздел ZFS в этом случае?

РЕШЕНИЕ

В конце концов я заставил его работать, следуя приведенному ниже ответу @ewwhite. Для полноты, вот как удалить дополнительный раздел # 9:

parted /dev/sdb rm 9
parted /dev/sdb resizepart 1 100%

, а затем связку zpool online -e => пул экспорта => пул импорта. и это сработало!

3
задан 21 December 2018 в 01:37
1 ответ

Наличие раздела 1/9 в ZFS - это нормально. Если ZFS считает, что использует «весь диск», разделы создаются. Именно так следует обращаться с полными дисками без множественного пути.

Причина этого 8-мегабайтного буферного пространства состоит в том, чтобы позволить использовать немного отличающуюся емкость диска в физической установке. Это не то, о чем вам нужно беспокоиться при использовании утилиты zpool online -e , поскольку она переписывает таблицу разделов во время расширения.

Disk /dev/nvme0n1: 960.2 GB, 960197124096 bytes, 1875385008 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt
Disk identifier: E63B403D-D140-A84B-99EB-56DEDC8B91E4


#         Start          End    Size  Type            Name
 1         2048   1875367935  894.3G  Solaris /usr &  zfs-aaba011d48bf00f6
 9   1875367936   1875384319      8M  Solaris reserve

Порядок должен быть примерно таким:

  1. Повторно просканируйте диск. : что-то вроде echo 1> /sys/block/sdb/device/rescan[1140148 visible.
  2. partprobe
  3. zpool online -e poolname sdb
  4. Перезагрузить или перезагрузить модуль ZFS.
  5. zpool list
  6. Проверьте значение EXPANDSZ .
  7. zpool online -e poolname sdb

Если эта последовательность не работает, просто удалите раздел № 9 и повторите описанное выше.

4
ответ дан 3 December 2019 в 05:59

Теги

Похожие вопросы