ZFS tool um device-Kapazität anzeigen?

ruiin

Well-Known Member
Hi,

nach einem Jahr habe ich mal wieder mein FreeBSD angeworfen und will das ZFS aufstocken, doch wie finde ich heraus welches der Festplatten in Freebsd welchen Speicherplatz hat? Gab es da nicht mal einen Befehl für zpool?

df und du bringen mich nicht wirklich weiter, weil nur die Dateisysteme angezeigt werden aber nicht die Festplatten an sich.
Gibt es irgend etwas das mir die Zuordnung "/dev/ada1" zu Gesamtplattenplatz macht?
 
gpart zeigt mir nur devices an die auch von FreeBSD selbst verwaltet werden, die Devices in ZFS sind aber ganze Festplatten die da angeschlossen wurden. zdb zeigt mir schonmal eine zuordnung "/dev/ada1" zu guid an.
 
Ganze Festplatten direkt dem ZPOOL zuzuordnen finde ich nicht gut. Da wäre es besser, zuerst die HD mit "gpart" zu formatieren und dann diese einem Pool zuzuordnen. Damit kannst du es noch eingrenzen:
Code:
zdb -C <POOL>
 
Warum nicht ganze Platten? ZFS ist dafür gemacht.
Man kann es machen klar aber du bist dann gebunden. Nicht immer sind HD gleich gross. Wenn du eine HD jetzt ersetzen möchtest, kannst du dies nicht, wenn die neue HD auch nur ein paar Sektoren kleiner ist als die original HD. Machst du zuerst ein Layout, kannst du dies dann auf den Sektor anpassen.(In Grenzen natürlich)

Code:
=>      34  41942973    ada8  GPT  (20G)
        34         6          - free -  (3.0k)
   8388776  33554224  ada8p1  XXXXXXXXXX-p1-zfs  (20G)
  41943000         7          - free -  (3.5k)
 
Mit dem Gedanken gpart dazwischen zu schalten habe ich auch schon gespielt, allein um die Verschlüsselung nachzurüsten. Ich bin auch grad nicht im bilde wie weit die FreeBSD ZFS-Version ist. Arbeite noch mit FreeBSD 9.0 release. Aber so wie ich das verstanden habe, nimmt sich ZFS für das raidz immer den maximal verfügbaren Plattenplatz, also wenn ich da größere Platten rein schiebe und damit alte Platten ersetze, vergrößert sich automagisch der Platz wenn alle Platte zb. 2GB groß sind.

Der Dump von zdb
Code:
server0# zdb -C pool

MOS Configuration:
        version: 28
        name: 'pool'
        state: 0
        txg: 490950
        pool_guid: 9777334396666597343
        hostid: 2125468476
        hostname: 'server0'
        vdev_children: 1
        vdev_tree:
            type: 'root'
            id: 0
            guid: 9777334396666597343
            create_txg: 4
            children[0]:
                type: 'raidz'
                id: 0
                guid: 10847583229521939203
                nparity: 1
                metaslab_array: 30
                metaslab_shift: 31
                ashift: 9
                asize: 2000412475392
                is_log: 0
                create_txg: 4
                children[0]:
                    type: 'disk'
                    id: 0
                    guid: 16425524180209636320
                    path: '/dev/ada1'
                    phys_path: '/dev/ada1'
                    whole_disk: 1
                    DTL: 715
                    create_txg: 4
                children[1]:
                    type: 'disk'
                    id: 1
                    guid: 2615022683943689760
                    path: '/dev/ada2'
                    phys_path: '/dev/ada2'
                    whole_disk: 1
                    DTL: 710
                    create_txg: 4
                children[2]:
                    type: 'disk'
                    id: 2
                    guid: 1738989055756690786
                    path: '/dev/ada3'
                    phys_path: '/dev/ada3'
                    whole_disk: 1
                    DTL: 707
                    create_txg: 4
                children[3]:
                    type: 'disk'
                    id: 3
                    guid: 4858673036743645498
                    path: '/dev/ada4'
                    phys_path: '/dev/ada4'
                    whole_disk: 1
                    DTL: 706
                    create_txg: 4
 
Meinst du evtl. das hier
Code:
[root@stor01 /home/ohaucke]# zfs list
NAME              USED  AVAIL  REFER  MOUNTPOINT
tank              531G  1.27T  34.5K  /tank
tank/datastore2  531G  1.27T  531G  /tank/datastore2
tank/files        71K  1.27T    71K  /tank/files
[root@stor01 /home/ohaucke]# zpool status tank
  pool: tank
state: ONLINE
  scan: scrub repaired 0 in 1h7m with 0 errors on Mon Dec  9 16:38:35 2013
config:

        NAME        STATE    READ WRITE CKSUM
        tank        ONLINE      0    0    0
          mirror-0  ONLINE      0    0    0
            ada1    ONLINE      0    0    0
            ada2    ONLINE      0    0    0
          mirror-1  ONLINE      0    0    0
            ada3    ONLINE      0    0    0
            ada4    ONLINE      0    0    0
        logs
          gpt/log    ONLINE      0    0    0
        cache
          gpt/cache  ONLINE      0    0    0

errors: No known data errors
[root@stor01 /home/ohaucke]#
 
Nein, das kenne ich auch. Da werden weder die SATA-Slots noch die Größe der devices angezeigt (ada 1 bis 4). Aber es kann doch nicht so schwer sein Infos aus so einem /dev/ada1 auszulesen, oder? Gibt es da evtl Firmwaretools?
 
Mit "camcontrol" solltest du noch ein paar Infos rausziehen können. Sonst muss du evtl. mit einem Tool des Controllers versuchen.
Code:
camcontrol devlist
camcontrol identify ada1
 
Zurück
Oben