Software > Speichermanagement

zfs rootpool erweitern

(1/4) > >>

linuxdomination:
hat jemand ne ahnung wie das funkt, hab die prozedur irgendwie vergessen.....


--- Code: ---# zpool status
  pool: datasink
 state: ONLINE
 scrub: none requested
config:

        NAME         STATE     READ WRITE CKSUM
        datasink     ONLINE       0     0     0
          raidz1     ONLINE       0     0     0
            c2t10d0  ONLINE       0     0     0
            c2t11d0  ONLINE       0     0     0
            c0t1d0   ONLINE       0     0     0
            c1t7d0   ONLINE       0     0     0

errors: No known data errors

  pool: rpool
 state: ONLINE
 scrub: none requested
config:

        NAME          STATE     READ WRITE CKSUM
        rpool         ONLINE       0     0     0
          mirror      ONLINE       0     0     0
            c0t0d0s0  ONLINE       0     0     0
            c1t4d0s0  ONLINE       0     0     0

errors: No known data errors


--- Ende Code ---


--- Code: ---# zpool attach -f rpool c0t0d0s0 c0t2d0
cannot attach c0t2d0 to c0t0d0s0: device is too small
 ???

--- Ende Code ---


--- Code: ---format> disk


AVAILABLE DISK SELECTIONS:
       0. c0t0d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
          /sbus@2,0/SUNW,socal@d,10000/sf@0,0/ssd@w21000020370d8f69,0
       1. c0t1d0 <SEAGATE-ST19171FCSUN9.0G-147E-8.43GB>
          /sbus@2,0/SUNW,socal@d,10000/sf@0,0/ssd@w21000020370e2dd7,0
       2. c0t2d0 <SEAGATE-ST19171FCSUN9.0G-147E-8.43GB>
          /sbus@2,0/SUNW,socal@d,10000/sf@0,0/ssd@w21000020370e381a,0
       3. c0t3d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
          /sbus@2,0/SUNW,socal@d,10000/sf@0,0/ssd@w21000020370e36fc,0
       4. c1t4d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
          /sbus@2,0/SUNW,socal@d,10000/sf@1,0/ssd@w21000020370e360d,0
       5. c1t5d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
          /sbus@2,0/SUNW,socal@d,10000/sf@1,0/ssd@w21000020370e338a,0
       6. c1t6d0 <SEAGATE-ST19171FCSUN9.0G-117E-8.43GB>
          /sbus@2,0/SUNW,socal@d,10000/sf@1,0/ssd@w21000020370e36e9,0
       7. c1t7d0 <SEAGATE-ST19171FCSUN9.0G-117E-8.43GB>
          /sbus@2,0/SUNW,socal@d,10000/sf@1,0/ssd@w21000020370e32d7,0
       8. c2t10d0 <SEAGATE-ST336605LSUN36G-0238-33.92GB>
          /sbus@3,0/SUNW,fas@3,8800000/sd@a,0
       9. c2t11d0 <SEAGATE-ST336605LSUN36G-0238-33.92GB>


--- Ende Code ---

danke im voraus...

AndreasW:
Hallo,

hast Du es schon mit zpool add rpool c0t2d0 versucht?
Ich bin mir allerdings nicht sicher, ob man ein RAIDZ überhaupt erweitern kann...

Gruß
Andreas

linuxdomination:

hmmm...der rpool ist ein mirror und nicht raidz

Tschokko:
Wenn ich nicht irre kann man einem Mirror nur einen weiteren Mirror hinzufügen. Na gut, gehen wir es einfach mal durch...

Demopool aus zwei Pseudo Platten im Mirror erstellen.


--- Code: ---locadm@inas001:/# mkfile 64m disk0
locadm@inas001:/# mkfile 64m disk1
locadm@inas001:/# mkfile 64m disk2
locadm@inas001:/# mkfile 64m disk3
locadm@inas001:/# zpool create demopool mirror /disk0 /disk1
locadm@inas001:/# zpool status -v
  pool: demopool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        demopool    ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            /disk0  ONLINE       0     0     0
            /disk1  ONLINE       0     0     0

errors: No known data errors
locadm@inas001:/# zfs list
NAME                       USED  AVAIL  REFER  MOUNTPOINT
demopool                    69K  27.4M    18K  /demopool

--- Ende Code ---

Versuchen eine weitere Platte dem Demopool hinzuzufügen.


--- Code: ---locadm@inas001:/# zpool add demopool /disk2
invalid vdev specification
use '-f' to override the following errors:
mismatched replication level: pool uses mirror and new vdev is file

--- Ende Code ---

Klare Ansage wie ich finde, also füge ich einfach mal einen weiteren Mirror hinzu, das sollte doch tun? ;)


--- Code: ---locadm@inas001:/# zpool add demopool mirror /disk2 /disk3
locadm@inas001:/# zpool status -v
  pool: demopool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        demopool    ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            /disk0  ONLINE       0     0     0
            /disk1  ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            /disk2  ONLINE       0     0     0
            /disk3  ONLINE       0     0     0
locadm@inas001:/# zfs list
NAME                       USED  AVAIL  REFER  MOUNTPOINT
demopool                    72K  86.9M    18K  /demopool

--- Ende Code ---

Freier speicherplatz is auch dramatisch gestiegen... ;)


Was auch möglich sein dürfte, dem Mirror einfach die Platten unterm Arsch wegziehen und gegen größere zu Tauschen. Also let's go, testen wir es mal...


--- Code: ---locadm@inas001:/# mkfile 64m disk0
locadm@inas001:/# mkfile 64m disk1
locadm@inas001:/# mkfile 128m disk2
locadm@inas001:/# mkfile 128m disk3
locadm@inas001:/# zpool create demopool mirror /disk0 /disk1
locadm@inas001:/# zpool status -v
  pool: demopool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        demopool    ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            /disk0  ONLINE       0     0     0
            /disk1  ONLINE       0     0     0
locadm@inas001:/# zfs list
NAME                       USED  AVAIL  REFER  MOUNTPOINT
demopool                    69K  27.4M    18K  /demopool

--- Ende Code ---

Man beachte disk0 und disk1 sind 64 MB groß und diese zwei Platten möchte ich durch disk2 und disk3 ersetzen, die jeweils 128 MB groß sind. Danach sollte der Demopool mehr als nur 27.4 MB verfügbaren Speicher aufweisen.

Auf gehts...

--- Code: ---locadm@inas001:/# zpool replace demopool /disk1 /disk3
locadm@inas001:/# zpool status -v
  pool: demopool
 state: ONLINE
 scrub: resilver completed after 0h0m with 0 errors on Fri Feb 20 09:38:34 2009
config:

        NAME        STATE     READ WRITE CKSUM
        demopool    ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            /disk0  ONLINE       0     0     0  44K resilvered
            /disk3  ONLINE       0     0     0  70.5K resilvered
locadm@inas001:/# zfs list
NAME                       USED  AVAIL  REFER  MOUNTPOINT
demopool                  79.5K  27.4M    18K  /demopool

--- Ende Code ---

Anmerkung, bitte warten bis tatsächlich alles "resilvered" ist... ein anschließender zpool scrub schadet natürlich auch nicht, um weitere Fehler auszuschließen.

Nach dem nur eine Platte gegen eine größere im Mirror getauscht wurde, hat sich natürlich nichts an der Größe getan. Schauen wir mal was passiert wenn ich nun die zweite Platte gegen die Größere tausche.


--- Code: ---locadm@inas001:/# zpool replace demopool /disk0 /disk2
locadm@inas001:/# zpool status -v
  pool: demopool
 state: ONLINE
 scrub: resilver completed after 0h0m with 0 errors on Fri Feb 20 09:41:51 2009
config:

        NAME        STATE     READ WRITE CKSUM
        demopool    ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            /disk2  ONLINE       0     0     0  81K resilvered
            /disk3  ONLINE       0     0     0  51K resilvered
locadm@inas001:/# zfs list
NAME                       USED  AVAIL  REFER  MOUNTPOINT
demopool                    87K  27.4M    18K  /demopool

--- Ende Code ---

Doof, nix passiert... Hmmm... und nu? ;) Jetzt ist nämlich ein Export / Import notwendig. D.h. bei einem Laufenden System muss jetzt wohl in den Single User Mode gewechselt werden. Aber rein exemplarisch zeig ich die Ergebnisse mit dem Demopool:


--- Code: ---locadm@inas001:/# zpool export demopool
locadm@inas001:/# zpool import -d / demopool
locadm@inas001:/# zpool status -v
  pool: demopool
 state: ONLINE
 scrub: none requested
config:

        NAME         STATE     READ WRITE CKSUM
        demopool     ONLINE       0     0     0
          mirror     ONLINE       0     0     0
            //disk2  ONLINE       0     0     0
            //disk3  ONLINE       0     0     0
locadm@inas001:/# zfs list
NAME                       USED  AVAIL  REFER  MOUNTPOINT
demopool                    90K  91.4M    18K  /demopool
locadm@inas001:/# cd /demopool/
locadm@inas001:/demopool# df -h .
Filesystem             size   used  avail capacity  Mounted on
demopool                92M    18K    91M     1%    /demopool

--- Ende Code ---

In diesem Sinne viel Spaß noch mit ZFS. ;)

Gruß
Tschokko

meik:

--- Zitat von: linuxdomination am 19. Februar 2009, 15:22:19 ---hat jemand ne ahnung wie das funkt, hab die prozedur irgendwie vergessen.....

--- Ende Zitat ---

Mit "attach" richtest du einen Mirror (für ein Device) ein, mit "add" fügst du weitere Devices/Mirrors dem ZPool hinzu.

Ich hab zwar gerade nicht die passende Spielumgebung, aber so was wie

# zfs add rpool disk c0t2d0
# zfs attach rpool c0t2d0 cXtXdX

oder direkt

# zfs add rpool mirror c0t2d0 cXtXdX

müßte den Pool erweitern.

Das steht aber eigentlich auch in der Manpage.  ;D

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln