Как изменить ZFS RAID 1 на RAIDZ-1 (Proxmox)

Как изменить ZFS RAID 1 на RAIDZ-1 (Proxmox)

У меня есть сервер, использующий proxmox (6.1) с виртуальной машиной, живущей в ZFS RAID1 под названием DATARAID. У меня есть новый жесткий диск для использования там, и я хочу расширить его до RAIDZ-1, который, похоже, быстрее RAID1 (https://calomel.org/zfs_raid_speed_capacity.html,https://icesquare.com/wordpress/zfs-performance-mirror-vs-raidz-vs-raidz2-vs-raidz3-vs-striped/...), и я знаю, что ZFS не поддерживает эту "asis", но... Как мне ее переместить?

lsblk говорит (sdb и sdc — это ZFS RAID1):

root@HV02:~# lsblk
NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda            8:0    0 465.8G  0 disk
├─sda1         8:1    0     1M  0 part
├─sda2         8:2    0   256M  0 part /boot/efi
└─sda3         8:3    0 465.5G  0 part
  ├─pve-root 253:0    0    96G  0 lvm  /
  └─pve-data 253:1    0 369.5G  0 lvm  /var/lib/vz
sdb            8:16   0 931.5G  0 disk
├─sdb1         8:17   0 931.5G  0 part
└─sdb9         8:25   0     8M  0 part
sdc            8:32   0 931.5G  0 disk
├─sdc1         8:33   0 931.5G  0 part
└─sdc9         8:41   0     8M  0 part
zd0          230:0    0    32G  0 disk
├─zd0p1      230:1    0   153M  0 part
├─zd0p2      230:2    0     2G  0 part
└─zd0p3      230:3    0  29.9G  0 part
zd16         230:16   0   128K  0 disk
zd32         230:32   0   128K  0 disk
zd48         230:48   0     1M  0 disk
zd64         230:64   0    60G  0 disk
├─zd64p1     230:65   0   300M  0 part
├─zd64p2     230:66   0    99M  0 part
├─zd64p3     230:67   0   128M  0 part
└─zd64p4     230:68   0  59.5G  0 part
zd80         230:80   0    20G  0 disk
├─zd80p1     230:81   0   512M  0 part
└─zd80p2     230:82   0  19.5G  0 part
zd96         230:96   0   128K  0 disk
zd112        230:112  0   128K  0 disk
zd128        230:128  0    40G  0 disk
├─zd128p1    230:129  0   300M  0 part
├─zd128p2    230:130  0    99M  0 part
├─zd128p3    230:131  0   128M  0 part
└─zd128p4    230:132  0  39.5G  0 part
zd144        230:144  0   100G  0 disk
├─zd144p1    230:145  0   128M  0 part
└─zd144p2    230:146  0  99.9G  0 part
zd160        230:160  0    32G  0 disk
├─zd160p1    230:161  0   200M  0 part
├─zd160p2    230:162  0   512K  0 part
└─zd160p3    230:163  0    31G  0 part
zd176        230:176  0   100G  0 disk
zd192        230:192  0    24G  0 disk
zd208        230:208  0     1M  0 disk
zram0        252:0    0     3G  0 disk [SWAP]

В списке zfs говорится:

root@HV02:~# zfs list
NAME                     USED  AVAIL     REFER  MOUNTPOINT
DATARAID                 421G   478G       96K  /DATARAID
DATARAID/vm-191-disk-0  20.6G   487G     11.2G  -
DATARAID/vm-191-disk-1  2.12M   478G      188K  -
DATARAID/vm-196-disk-0  33.0G   499G     11.9G  -
DATARAID/vm-196-disk-1  2.12M   478G      188K  -
DATARAID/vm-196-disk-2   103G   555G     25.9G  -
DATARAID/vm-197-disk-0  33.0G   505G     5.86G  -
DATARAID/vm-197-disk-1     3M   478G      192K  -
DATARAID/vm-198-disk-0  24.8G   502G     1.06G  -
DATARAID/vm-198-disk-1     3M   478G      192K  -
DATARAID/vm-291-disk-0  61.9G   488G     52.1G  -
DATARAID/vm-291-disk-1   103G   536G     44.8G  -
DATARAID/vm-291-disk-2  2.12M   478G      188K  -
DATARAID/vm-292-disk-0  41.3G   494G     25.6G  -
DATARAID/vm-292-disk-1  2.12M   478G      188K  -

Я еще не добавил новый диск, но это пустой диск на 1 ТБ.

И мне нужно переехать, не потеряв ничего из конфигурации...

Редактировать с помощью статуса zpool:

root@HV02:~# zpool status
  pool: DATARAID
 state: ONLINE
  scan: scrub repaired 0B in 0 days 00:51:17 with 0 errors on Sun Jan 12 01:15:19 2020
config:

        NAME                        STATE     READ WRITE CKSUM
        DATARAID                    ONLINE       0     0     0
          mirror-0                  ONLINE       0     0     0
            wwn-0x5000c500b2de566e  ONLINE       0     0     0
            sdc                     ONLINE       0     0     0

errors: No known data errors

решение1

Во-первых, ваш пост пропускает важный zpool statusвывод. Во-вторых, общий подход заключается в том, чтобы zpool splitили zpool deatchдостаточноvdevsчтобы создать новыйрейдз, затем перенесите его в онлайн-формат и измените его размер.

Поскольку zpool statusв вопросе отсутствует , это наиболее точный ответ, который вы можете получить.

P.S. Да, вы можете использовать zfs send/receiveпоследовательность, но это чисто офлайн, так что, по сути, нет, не стоит.

Связанный контент