[SOLVED] Zpool - falsche Größe? Warum?

fireon

Distinguished Member
Oct 25, 2010
4,511
479
153
Austria/Graz
deepdoc.at
Hallo Leute,

ich habe hier einen Zpool. Dieser wurde kreiert gleich nachdem die erste ZFS Version von PVE veröffentlicht wurde. Der Pool bestand uhrsprünglich aus 4 HDD's je 2GB. Dann wurden noch 2 HDD's je 2GB hinzugefügt. Das ganze ist ein Raid10. Nun zeigt zpool list folgendes an:
Code:
v-machines  5.44T  3.46T  1.98T         -    25%    63%  1.00x  ONLINE  -
Der Pool müsste doch eine Gesamtgröße von fast 12TB haben oder? Bei allen anderen Pools wird die Gesamtgröße genau so angezeigt. Also nicht der beschreibbare Platz des Raid's sondern alle HDD's zusammen. Z.B. existiert auf der gleichen Maschine noch ein RaidZ1 mit 3SSD's je 240GB. Das sieht dann aber so aus:
Code:
ssd-pool     668G   424G   244G         -    38%    63%  1.00x  ONLINE  -
Zwar nicht die ganzen 720GB aber immerhin 480GB. Wie kommt das zustande? Ist der Pool namens v-machines irgendwie defekt? Oder einfach nur ein Anzeigefehler.
 
Hi fireon,

Mach mal bitte ein zpool status -v v-machines und ein lsscsi --size (lsscsi musst du wahrscheinlich noch installieren). Deine Erklärung ist schon richtig zu der gesamten Größe, daher ist das ein sehr spannende Frage. Hast du mal ein zpool upgrade auf dem Pool probiert? (nur ne Idee, hatte das selbst noch nie machen müssen).
 
So, zum Ersten:
Code:
pool: v-machines
 state: ONLINE
  scan: scrub repaired 0 in 6h38m with 0 errors on Sun May 14 07:02:11 2017
config:

        NAME                                                   STATE     READ WRITE CKSUM
        v-machines                                             ONLINE       0     0     0
          mirror-0                                             ONLINE       0     0     0
            ata-WDC_WD2001FFSX-68JNUN0_WD-WMC5C0D0KRWP         ONLINE       0     0     0
            ata-WDC_WD2001FFSX-68JNUN0_WD-WMC5C0D0AZMA         ONLINE       0     0     0
          mirror-1                                             ONLINE       0     0     0
            ata-WDC_WD2001FFSX-68JNUN0_WD-WMC5C0D688XW         ONLINE       0     0     0
            ata-WDC_WD2001FFSX-68JNUN0_WD-WMC5C0D63WM0         ONLINE       0     0     0
          mirror-2                                             ONLINE       0     0     0
            ata-WDC_WD2001FFSX-68JNUN0_WD-WMC5C0D6KCJD         ONLINE       0     0     0
            ata-WDC_WD2001FFSX-68JNUN0_WD-WMC5C0D8180T         ONLINE       0     0     0
        logs
          ata-SAMSUNG_MZ7KM240HAGR-00005_S2HRNXAH300789-part1  ONLINE       0     0     0
        cache
          ata-SAMSUNG_MZ7KM240HAGR-00005_S2HRNXAH300789-part2  ONLINE       0     0     0

errors: No known data errors
Und zum Zweiten:
Code:
[0:0:0:0]    disk    ATA      SAMSUNG MZ7KM240 003Q  /dev/sda    240GB
[0:0:1:0]    disk    ATA      SAMSUNG MZ7KM240 003Q  /dev/sdb    240GB
[0:0:2:0]    disk    ATA      SAMSUNG MZ7KM240 003Q  /dev/sdc    240GB
[1:0:0:0]    disk    ATA      WDC WD2001FFSX-6 0A81  /dev/sdd   2.00TB
[1:0:1:0]    disk    ATA      WDC WD2001FFSX-6 0A81  /dev/sde   2.00TB
[1:0:2:0]    disk    ATA      WDC WD2001FFSX-6 0A81  /dev/sdf   2.00TB
[1:0:3:0]    disk    ATA      WDC WD2001FFSX-6 0A81  /dev/sdg   2.00TB
[1:0:4:0]    disk    ATA      WDC WD2001FFSX-6 0A81  /dev/sdh   2.00TB
[1:0:5:0]    disk    ATA      WDC WD2001FFSX-6 0A81  /dev/sdi   2.00TB
[1:0:6:0]    disk    ATA      SAMSUNG MZ7KM240 003Q  /dev/sdj    240GB
[2:0:0:0]    disk    ATA      Samsung SSD 750  1B6Q  /dev/sdk    120GB
[3:0:0:0]    disk    ATA      KINGSTON SS200S3 06.9  /dev/sdl   30.0GB
Also ein Poolupgrade hatte es einigemale gegeben.
 
Hmm ... das ist echt komisch. Mach mal bitte noch ein zpool list -v
Code:
NAME   SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
rpool  27.8G  4.20G  23.6G         -    56%    15%  1.00x  ONLINE  -
  mirror  27.8G  4.20G  23.6G         -    56%    15%
    sdk3      -      -      -         -      -      -
    sdl3      -      -      -         -      -      -
ssd-pool   668G   424G   244G         -    38%    63%  1.00x  ONLINE  -
  raidz1   668G   424G   244G         -    38%    63%
    ata-SAMSUNG_MZ7KM240HAGR-00005_S2HRNX0H504391      -      -      -         -      -      -
    ata-SAMSUNG_MZ7KM240HAGR-00005_S2HRNX0H504401      -      -      -         -      -      -
    ata-SAMSUNG_MZ7KM240HAGR-00005_S2HRNX0H504394      -      -      -         -      -      -
v-machines  5.44T  3.41T  2.03T         -    25%    62%  1.00x  ONLINE  -
  mirror  1.81T  1.24T   581G         -    20%    68%
    ata-WDC_WD2001FFSX-68JNUN0_WD-WMC5C0D0KRWP      -      -      -         -      -      -
    ata-WDC_WD2001FFSX-68JNUN0_WD-WMC5C0D0AZMA      -      -      -         -      -      -
  mirror  1.81T  1.28T   550G         -    24%    70%
    ata-WDC_WD2001FFSX-68JNUN0_WD-WMC5C0D688XW      -      -      -         -      -      -
    ata-WDC_WD2001FFSX-68JNUN0_WD-WMC5C0D63WM0      -      -      -         -      -      -
  mirror  1.81T   908G   948G         -    33%    48%
    ata-WDC_WD2001FFSX-68JNUN0_WD-WMC5C0D6KCJD      -      -      -         -      -      -
    ata-WDC_WD2001FFSX-68JNUN0_WD-WMC5C0D8180T      -      -      -         -      -      -
log      -      -      -         -      -      -
  ata-SAMSUNG_MZ7KM240HAGR-00005_S2HRNXAH300789-part1  49.8G  1.70M  49.7G         -    66%     0%
cache      -      -      -         -      -      -
  ata-SAMSUNG_MZ7KM240HAGR-00005_S2HRNXAH300789-part2   174G   162G  11.9G         -     0%    93%
 
Ich kann das Ganze selbst nachvollziehen. Anscheinend ist es bei einem Mirrored-Pool die netto-Größe und bei einem RAID-Z Pool die Bruttogröße:

Code:
root@zfs-testbox /testdisk > for i in $(seq 6); do dd if=/dev/zero bs=1M count=64 of=test_disk_64M_$i; done
64+0 Datensätze ein
64+0 Datensätze aus
67108864 Bytes (67 MB) kopiert, 0,108257 s, 620 MB/s
64+0 Datensätze ein
64+0 Datensätze aus
67108864 Bytes (67 MB) kopiert, 0,129743 s, 517 MB/s
64+0 Datensätze ein
64+0 Datensätze aus
67108864 Bytes (67 MB) kopiert, 0,147624 s, 455 MB/s
64+0 Datensätze ein
64+0 Datensätze aus
67108864 Bytes (67 MB) kopiert, 0,146365 s, 459 MB/s
64+0 Datensätze ein
64+0 Datensätze aus
67108864 Bytes (67 MB) kopiert, 0,132067 s, 508 MB/s
64+0 Datensätze ein
64+0 Datensätze aus
67108864 Bytes (67 MB) kopiert, 0,120996 s, 555 MB/s

root@zfs-testbox /testdisk > zpool create testpool raidz2 /testdisk/test_disk_64M_*

root@zfs-testbox /testdisk > zpool list -v testpool
NAME   SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
testpool   352M   159K   352M         -     0%     0%  1.00x  ONLINE  -
  raidz2   352M   159K   352M         -     0%     0%
    /testdisk/test_disk_64M_1      -      -      -         -      -      -
    /testdisk/test_disk_64M_2      -      -      -         -      -      -
    /testdisk/test_disk_64M_3      -      -      -         -      -      -
    /testdisk/test_disk_64M_4      -      -      -         -      -      -
    /testdisk/test_disk_64M_5      -      -      -         -      -      -
    /testdisk/test_disk_64M_6      -      -      -         -      -      -

root@zfs-testbox /testdisk > zpool destroy testpool

root@zfs-testbox /testdisk > zpool create -f testpool mirror /testdisk/test_disk_64M_1 /testdisk/test_disk_64M_2 mirror /testdisk/test_disk_64M_3 /testdisk/test_disk_64M_4 mirror /testdisk/test_disk_64M_5 /testdisk/test_disk_64M_6

root@zfs-testbox /testdisk > zpool list -v testpool
NAME   SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
testpool   144M    50K   144M         -     1%     0%  1.00x  ONLINE  -
  mirror    48M    20K  48,0M         -     1%     0%
    /testdisk/test_disk_64M_1      -      -      -         -      -      -
    /testdisk/test_disk_64M_2      -      -      -         -      -      -
  mirror    48M    10K  48,0M         -     1%     0%
    /testdisk/test_disk_64M_3      -      -      -         -      -      -
    /testdisk/test_disk_64M_4      -      -      -         -      -      -
  mirror    48M    20K  48,0M         -     1%     0%
    /testdisk/test_disk_64M_5      -      -      -         -      -      -
    /testdisk/test_disk_64M_6      -      -      -         -      -      -

Warum das allerdings so ist kann ich leider nicht sagen.
 
Ich hab jetzt nochmal beim Support nachgefragt.

zpool zeigt im Prinzip physikalische Belegung an, Disks in einem Mirror werden dabei als eine dieser Disks gesehen. Bei einem Mirror ist also die "Bruttogröße" fast ident mit der "Nettogröße" - fast: ein bisschen Overhead gibt es auch hier.

Die eigentliche Nettogröße kann man sich mit "zfs list" ausgeben lassen und ergibt sich aus der Summe von USED und AVAIL für das Filesystem im jeweiligen Pool.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!