ZFS volume - změna volblocksize

David

  • ***
  • 145
    • Zobrazit profil
ZFS volume - změna volblocksize
« kdy: 17. 05. 2021, 07:21:16 »
Ahoj, používám ZFS volume pro KVM Windows virtuál, ale vytvořil jsem ho se špatným (defaultním) volblocksize=8K. Chtěl bych ho změnit na vyšší hodnotu, což nejde in-place.

Vytvořil jsem proto nové volume o stejné velikosti, jako původní:
Kód: [Vybrat]
zfs create -s -V 2.50T -b 128k -o compression=lz4 tank/kvm/vm-160-disk-1
Ale kopírování pomocí dd skončí chybou:
Kód: [Vybrat]
# dd if=/dev/zvol/single1/kvm/vm-160-disk-1 of=/dev/zvol/tank/kvm/vm-160-disk-1 bs=200M conv=sync,noerror
dd: error writing '/dev/zvol/tank/kvm/vm-160-disk-1': No space left on device
13107+1 records in
13107+0 records out
2748779069440 bytes (2.7 TB, 2.5 TiB) copied, 42918.2 s, 64.0 MB/s

Tento postup mi u některých datasetů fungoval, ale u jiných vůbec. Jak to prosím mohu udělat? Děkuji.

Ještě na to koukám, že se to tam asi nevejde, protože usedbydataset je větší než volsize. Tak by mohlo stačit vytvořit větší volume a pak ho případně zmenšit?
Kód: [Vybrat]
# zfs get volsize,used,volblocksize,usedbydataset,logicalreferenced tank/kvm/vm-160-disk-1
NAME                    PROPERTY           VALUE     SOURCE
tank/kvm/vm-160-disk-1  volsize            2.50T     local
tank/kvm/vm-160-disk-1  used               2.42T     -
tank/kvm/vm-160-disk-1  volblocksize       1M        -
tank/kvm/vm-160-disk-1  usedbydataset      2.42T     -
tank/kvm/vm-160-disk-1  logicalreferenced  2.50T     -

# zfs get volsize,used,volblocksize,usedbydataset,logicalreferenced single1/kvm/vm-160-disk-1
NAME                       PROPERTY           VALUE     SOURCE
single1/kvm/vm-160-disk-1  volsize            2.50T     local
single1/kvm/vm-160-disk-1  used               2.52T     -
single1/kvm/vm-160-disk-1  volblocksize       8K        default
single1/kvm/vm-160-disk-1  usedbydataset      2.52T     -
single1/kvm/vm-160-disk-1  logicalreferenced  2.51T     -
« Poslední změna: 17. 05. 2021, 07:25:44 od David »