Superuser

Autor Thema: zfs rootpool erweitern  (Gelesen 17829 mal)

linuxdomination

  • Gast
zfs rootpool erweitern
« am: 19. Februar 2009, 15:22:19 »
hat jemand ne ahnung wie das funkt, hab die prozedur irgendwie vergessen.....

# 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


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

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>


danke im voraus...
« Letzte Änderung: 19. Februar 2009, 15:26:17 von linuxdomination »

sonnenblen.de - Das unabhängige Sun User Forum

zfs rootpool erweitern
« am: 19. Februar 2009, 15:22:19 »

Offline AndreasW

  • Sobl Master
  • ****
  • Beiträge: 254
Re: zfs rootpool erweitern
« Antwort #1 am: 19. Februar 2009, 20:20:16 »
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

  • Gast
Re: zfs rootpool erweitern
« Antwort #2 am: 20. Februar 2009, 07:50:04 »

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

Offline Tschokko

  • Sobl Guru
  • *****
  • Beiträge: 711
    • tschokko.de
Re: zfs rootpool erweitern
« Antwort #3 am: 20. Februar 2009, 09:53:01 »
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.

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

Versuchen eine weitere Platte dem Demopool hinzuzufügen.

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

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

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

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...

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

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...
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

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.

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

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:

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

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

Gruß
Tschokko
Join MUCOSUG

RISC = Really Invented by Seymour Cray?
tschokko.de - Server, Storage, Netzwerk und weiße Katzen!

Offline meik

  • Sobl Bachelor
  • ***
  • Beiträge: 187
Re: zfs rootpool erweitern
« Antwort #4 am: 20. Februar 2009, 09:56:27 »
hat jemand ne ahnung wie das funkt, hab die prozedur irgendwie vergessen.....

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

Offline stiefkind

  • Sobl Bachelor
  • ***
  • Beiträge: 143
    • Synapseninferno
Re: zfs rootpool erweitern
« Antwort #5 am: 20. Februar 2009, 09:59:38 »
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.

Single User sollte nicht notwendig sein, unmount vor dem Export müsste reichen. Dazu muss natürlich das I/O auf das Filesystem weg.

wolfgang

linuxdomination

  • Gast
Re: zfs rootpool erweitern
« Antwort #6 am: 20. Februar 2009, 10:25:22 »

danke, werde das dann mal nachbauen, denke aber das ist der richtige weg.

Offline it-raptor

  • Sobl Newbie
  • *
  • Beiträge: 39
Re: zfs rootpool erweitern
« Antwort #7 am: 20. Februar 2009, 11:14:41 »
Hi,

den rootpool kann man leider nur auf einer einzelnen Disk oder als Spiegel auf 2 Disks betreiben. Sobald man 2 Disks in den rpool aufnimmt, wird automatisch ein Spiegel erzeugt. Ein Concat oder andere RAID-Varianten sind aktuell nicht implementiert (evtl. ist bei Opensolaris etwas geplant).

hier ein kurzer link dazu im Sun Forum:
http://forums.sun.com/thread.jspa?threadID=5345302

Gruß
Björn

Offline Ebbi

  • Sobl Administrator
  • Sobl Guru
  • *****
  • Beiträge: 1315
  • Minusgeek
Re: zfs rootpool erweitern
« Antwort #8 am: 20. Februar 2009, 12:15:30 »
Ein Concat oder andere RAID-Varianten sind aktuell nicht implementiert (evtl. ist bei Opensolaris etwas geplant).
Steck' deinen Finger nur ruhig ein wenig tiefer in meine Wunde. ;)

linuxdomination

  • Gast
Re: zfs rootpool erweitern
« Antwort #9 am: 27. Februar 2009, 12:40:13 »
so habs mal getestet --->

# zpool add rpool mirror c0t2d0 c1t6d0
cannot add to 'rpool': root pool can not have multiple vdevs or separate logs

totaler fehlschlag *g*

# zpool add rpool disk c0t2d0
cannot open 'disk': no such device in /dev/dsk
must be a full path or shorthand device name


und "# zfs add rpool disk c0t2d0
unrecognized command 'add'

...gibts gleich gar nicht, keine ahnung wie der op auf diesen command kommt.


tja alles in allem bin ich "not amused"...


kann mal jemand bestätigen das eine erweiterung einens root pools nicht möglich ist, bei sun sind keine eindeutigen aussagen zu finden.

danke

chris
« Letzte Änderung: 27. Februar 2009, 12:42:07 von linuxdomination »

sonnenblen.de - Das unabhängige Sun User Forum

Re: zfs rootpool erweitern
« Antwort #9 am: 27. Februar 2009, 12:40:13 »

Offline vab

  • Global Moderator
  • Sobl Guru
  • *****
  • Beiträge: 514
Re: zfs rootpool erweitern
« Antwort #10 am: 01. März 2009, 22:20:23 »
kann mal jemand bestätigen das eine erweiterung einens root pools nicht möglich ist, bei sun sind keine eindeutigen aussagen zu finden.

Da eine Erweiterung des Root-Pools sehr wohl möglich ist, kann das wohl keiner bestätigen.  Und mit ein bißchen Mühe und 10 Sekunden googeln finden sich auch eindeutige Aussagen bei Sun.

Seufz.

Kleiner Tip:  Bei einem gespiegelten Root-Pool müssen beide Spiegelhälften bootfähig sein.  Und das sind sie nur, wenn sie ein SMI-Label haben.  Und deshalb kann man einem Root-Pool nur Slices und keine Disks hinzufügen.  Alles klar?
Diese Nachricht enthält ausschließlich meine persönliche private Meinung....

linuxdomination

  • Gast
Re: zfs rootpool erweitern
« Antwort #11 am: 02. März 2009, 11:31:57 »


hmmmm....ja davon habe ich schon mal hier ---> http://www.lildude.co.uk/growing-a-zfs-root-pool/ gelesen. aber das ist für mich gleichbeteutend mit " nicht durchführbar", dafür hab ich eindeutig zu wenig spieltrieb. aber danke an alle für die beteiligung.

lg

chris

Offline vab

  • Global Moderator
  • Sobl Guru
  • *****
  • Beiträge: 514
Re: zfs rootpool erweitern
« Antwort #12 am: 03. März 2009, 12:09:25 »
Der von Dir zitierte Link beschreibt, wie man den Root-Pool insgesamt größer macht.  Du willst aber nur den Root-Pool spiegeln, oder?
Im Prinzip war Dein erster Versuch bis auf zwei Zeichen richtig.   Du mußt eine SLICE angeben.

Schade, daß Du so schnell aufgibst.  Wahrscheinlich hat Dich das ganze wirre Zeugs von Tschokko abgeschreckt. :-)
Diese Nachricht enthält ausschließlich meine persönliche private Meinung....

Offline Tschokko

  • Sobl Guru
  • *****
  • Beiträge: 711
    • tschokko.de
Re: zfs rootpool erweitern
« Antwort #13 am: 03. März 2009, 12:18:31 »
Wahrscheinlich hat Dich das ganze wirre Zeugs von Tschokko abgeschreckt. :-)
Jou.... das mit den Einschränkungen vom ZFS Root Pool ist mir viel zu spät eingefallen. *seufz* Darum ist mein Beitrag mehr schlecht als recht... aber Löschen brauch ich den nun auch nicht mehr.

Gruß
Tschokko
Join MUCOSUG

RISC = Really Invented by Seymour Cray?
tschokko.de - Server, Storage, Netzwerk und weiße Katzen!

linuxdomination

  • Gast
Re: zfs rootpool erweitern
« Antwort #14 am: 03. März 2009, 12:24:19 »
Der von Dir zitierte Link beschreibt, wie man den Root-Pool insgesamt größer macht.  Du willst aber nur den Root-Pool spiegeln, oder?

ne wollte den pool einfach nur größer machen indem ich zwei disks hinzufüge, hab ja schon  bei installation den root mirror eingerichtet.