sonnenblen.de - Das unabhängige Sun User Forum

Betriebssysteme => Solaris => Thema gestartet von: Ebbi am 29. Juli 2009, 20:08:15

Titel: Denksportaufgabe: Solaris Migration/Upgrade
Beitrag von: Ebbi am 29. Juli 2009, 20:08:15
Moin,

folgendes Setup habe ich im Moment auf einer Fire 280R laufen:

- Solaris 10 5/08
- 1x 36GB (UFS) für OS und Daten
- 1x 36GB Swap

Dort möchte ich hin:

- Solaris 10 05/09
- 2x 73GB (ZFS-Mirror) für OS, Daten und 20GB Swap

Wie könnte ich das am geschicktesten mit Bordmitteln anstellen? - ohne Backup, Neuinstallation und Zurückspielen der Daten.

Freue mich auf eine angeregte Diskussion. :)

Bis dann,
Ebbi
Titel: Re: Denksportaufgabe: Solaris Migration/Upgrade
Beitrag von: Drusus am 29. Juli 2009, 21:34:31
Moin,

das Problem duerfte der Zielwunsch sein das neue OS-Root gleich als ZFS Mirror zu haben.
Ohne diesen ZFS Mirror waere die Vorgehensweise:
1) die 36 GB Swap rausnehmen (bei Bedarf ein paar-GB Swapfile auf der ersten Disk anlegen und anziehen)
2) zweite 36 GB (ehemals Swap) rausnehmen und durch die 72GB ersetzen
3) Lifeupgrade von der 36GB Disk auf die 72 GB Disk
4) Booten vom neuen Environment (72 GB)
5) Ersetzen der verbliebenen 36Gb Disk durch die zweite 72GB Disk und dann aufsetzen vom SDS-Mirror

Mit ZFS-Mirror als Ziel koennte der Weg mit dem Lifeupgrade auch gehen wenn du zuvor die 36GB Disk extern anschliesst und intern schon die beiden 72Gb Disks drin hast. Dann Lifeupgrade von der exteren 36GB auf die beiden 72 GB Disks. Ich habe aber selber noch nie mit Lifeupgrade zusammen mit ZFS-Root gespielt (bisher immer ohne). Kann also nicht sagen ob das ein gangbarer Weg ist.

Tschau,
  Drusus.
Titel: Re: Denksportaufgabe: Solaris Migration/Upgrade
Beitrag von: dominik am 30. Juli 2009, 08:31:52
Interessantes Thema. Ich denke, dass - wenn es denn überhaupt geht - man zuerst auf 05/09 muss und dann versuchen, ein Live Upgrade auf eine ZFS Disk durchzuführen. Probier's aus, wir sind gespannt!

Gruss
Dominik
Titel: Re: Denksportaufgabe: Solaris Migration/Upgrade
Beitrag von: Ebbi am 30. Juli 2009, 12:18:21
Probier's aus, wir sind gespannt!
Naja, eigentlich wollte ich mich vorher etwas bei den Profis absichern. :)

Der Mirror müsste ja nicht sofort sein, das geht auch später.
Die Frage ist ja außerdem, ob man im Rahmen eines Releaseupgrades überhaupt die Möglichkeit hat das Dateisystem zu ändern.
Titel: Re: Denksportaufgabe: Solaris Migration/Upgrade
Beitrag von: Drusus am 30. Juli 2009, 12:45:09
Moin,

im Rahmen eines Release-Upgrade kannst du das Filesystem aendern. Allerdings bin ich der Meinung, dass man ZFS-Root nur als Mirror aufsetzen kann und das auch nur bei der Installation (also nicht nachtraeglich - im Gegensatz z.B. zu einem SDS-Mirror den man auch nachtraeglich aufbauen kann).

Tschau,
  Drusus.
Titel: Re: Denksportaufgabe: Solaris Migration/Upgrade
Beitrag von: Ebbi am 31. Juli 2009, 11:40:16
Allerdings bin ich der Meinung, dass man ZFS-Root nur als Mirror aufsetzen kann und das auch nur bei der Installation (also nicht nachtraeglich - im Gegensatz z.B. zu einem SDS-Mirror den man auch nachtraeglich aufbauen kann).
Hmm...
Dazu habe ich mich ja im Rahmen dieses Threads (http://www.sonnenblen.de/index.php/topic,5414.msg32831.html#msg32831) schon ausgeheult.
Aber vielleicht geht es ja mittlerweile mit 5/09. ;)
Titel: Re: Denksportaufgabe: Solaris Migration/Upgrade
Beitrag von: DukeNuke2 am 31. Juli 2009, 15:41:16
hast du extern (nfs...) speicherplatz für ein flasharchive? wenn ja, erstell per "flarcreate" ein flashimage deiner installation. boote vom aktuellen solaris release und wähle anstelle der installation das einspielen des archives aus. da müsstest du das eigentlich auch gleich als zfs rootpool anlegen können.
Titel: Re: Denksportaufgabe: Solaris Migration/Upgrade
Beitrag von: Ebbi am 31. Juli 2009, 16:04:50
hast du extern (nfs...) speicherplatz für ein flasharchive?
Ja, per NFS oder auf dem SAN.

Das könnte ich auch einfach so mal probieren, denn so lange ich nicht den finalen "Upgrade"-Befehl gebe, kann ich mir mal die Einstellungsmöglichkeiten anschauen.

Eine andere Möglichkeit wäre, einfach die Platten in eine Blade 2000 zu stecken, falls das mit den 4 Platten (http://www.sonnenblen.de/index.php/topic,5960.0.html) funktioniert.


EDIT:

Wie müsste flarcreate denn aussehen, wenn ich das ganze root-Filesystem (/), abzüglich dem Mount für das SAN und den NFS-Share, auf den NFS-Share sichern möchte?
Wäre das so richtig?
# flarcreate -n testarchiv -x /pub -x /database -y / /pub/testarchive.flar
Titel: Re: Denksportaufgabe: Solaris Migration/Upgrade
Beitrag von: DukeNuke2 am 31. Juli 2009, 17:24:57
oiiii.... das weiss ich so ausm kopf jetzt auch nicht. ich lese das dann immer in der manpage nach wenn ich den befehl brauche. du solltest in jedem fall /tmp und /var/tmp ausklammern wenn du nicht von extern (dvd oder netz) bootest.
hier mal ein paar tips:

http://www.sun.com/bigadmin/content/submitted/flash_archive.jsp
Titel: Re: Denksportaufgabe: Solaris Migration/Upgrade
Beitrag von: Ebbi am 01. August 2009, 10:25:02
ich lese das dann immer in der manpage nach wenn ich den befehl brauche.
Das mache ich schon auch. ;)
Was aber nicht heisst, dass das dann auch automatisch richtig ist.

EDIT:

War wohl doch richtig: ;)

# flarcreate -n testarchiv -x /pub -x /database -y / /pub/testarchive.flar
Full Flash
Checking integrity...
Integrity OK.
Running precreation scripts...
Precreation scripts done.
Determining the size of the archive...
118487418 blocks
The archive will be approximately 56.49GB.
Creating the archive...
118487418 blocks
Archive creation complete.
Running postcreation scripts...
Postcreation scripts done.

Running pre-exit scripts...
Pre-exit scripts done.

Titel: Re: Denksportaufgabe: Solaris Migration/Upgrade
Beitrag von: Sonnenbrand am 10. August 2009, 14:17:29
Moin,

im Rahmen eines Release-Upgrade kannst du das Filesystem aendern. Allerdings bin ich der Meinung, dass man ZFS-Root nur als Mirror aufsetzen kann und das auch nur bei der Installation (also nicht nachtraeglich - im Gegensatz z.B. zu einem SDS-Mirror den man auch nachtraeglich aufbauen kann).

Doch - das geht. Einfach bei der Auswahl der Platten für den rpool nur eine Platte angeben und die 2. dann nach der Installation mittels "zpool attach rpool device-1 device-2" zufügen.

Auszug aus "man zpool":
     zpool attach [-f] pool device new_device

         Attaches new_device to an  existing  zpool  device.  The
         existing device cannot be part of a raidz configuration.
         If device is not currently part of a mirrored configura-
         tion,  device  automatically  transforms  into a two-way
         mirror of device and new_device. If device is part of  a
         two-way mirror, attaching new_device creates a three-way
         mirror, and so on. In either case, new_device begins  to
         resilver immediately.

Die 2. Platte muß natürlich gleich groß (oder größer) als die 1. sein.

Andreas
Titel: Re: Denksportaufgabe: Solaris Migration/Upgrade
Beitrag von: Ebbi am 10. August 2009, 15:24:25
Tja, schön wär's. Im Moment habe ich ein ganz anderes Problem:

http://www.sonnenblen.de/solaris/installserver_mit_solaris_10_auf_sparchardware-t4903.0.html;msg35359#msg35359
Titel: Re: Denksportaufgabe: Solaris Migration/Upgrade
Beitrag von: Ebbi am 11. August 2009, 16:52:29
Aktueller Stand:

- Upgrade auf U7 05/09 ist durch
- Platten im System: 1x 36GB System, 1x 72GB leer

TO DO:

- Live Upgrade von 36GB auf 72GB mit Migration von UFS nach ZFS

Fehler:

Ich gehe nach Seite 176 im Dokument 820-5238.pdf vor und bekomme den Fehler
ERROR: ZFS pool <rpool> does not support boot environments
Eine Erklärung gibt es hier (http://docs.sun.com/app/docs/doc/819-5461/ggrko?a=view), aber keinen Lösungsansatz. ???

Unterstützung und Ideen sind willkommen. :)
Titel: Re: Denksportaufgabe: Solaris Migration/Upgrade
Beitrag von: bnsmb am 11. August 2009, 18:44:45
Hi,

Ich gehe nach Seite 176 im Dokument 820-5238.pdf vor und bekomme den Fehler
ERROR: ZFS pool <rpool> does not support boot environments
Eine Erklärung gibt es hier (http://docs.sun.com/app/docs/doc/819-5461/ggrko?a=view), aber keinen Lösungsansatz. ???

Unterstützung und Ideen sind willkommen. :)

Wie hast Du denn den zpool erstellt (poste mal die Ausgabe von  "zpool status")

Um einen bootbaren zpool zu erstellen muss Du erst eine Slice mittels format erstellen (sinnvollerweise ueber die ganze Platte) und dann auf der Slice einen zpool erstellen.

Wenn Du den zpool auf die Slice s2 erstellst ist er nicht bootbar.

Bei mir sieht der zpool fuer die Bootplatten dann so aus:

xtrnaw7@t61p:/data/download$ zpool status
  pool: rpool
 state: DEGRADED
status: One or more devices has been taken offline by the administrator.
   Sufficient replicas exist for the pool to continue functioning in a
   degraded state.
action: Online the device using 'zpool online' or replace the device with
   'zpool replace'.
 scrub: resilver completed after 0h42m with 0 errors on Tue Aug  4 22:43:22 2009
config:

   NAME          STATE     READ WRITE CKSUM
   rpool         DEGRADED     0     0     0
     mirror      DEGRADED     0     0     0
       c9t0d0s0  ONLINE       0     0     0
       c8d0s0    OFFLINE      0     0     0
       c0t0d0s0  REMOVED      0     0     0  38.4G resilvered

(Die als OFFLINE bzw. REMOVED markierten Platten sind meine Backupplatten fuer den zpool die ich nur fuers Erstellen des Backups dran haenge; der eigentliche zpool liegt auf c9t0d0s0)

Gruss

Bernd



Titel: Re: Denksportaufgabe: Solaris Migration/Upgrade
Beitrag von: c0t0d0s0 am 11. August 2009, 20:16:15
Moin,

ZFS Root full Disk geht nicht (also zfs create rpool c0t0d0). Man braucht ein SMI label. Also Platte mit fdisk entsprechend praeparieren und dann zfs create rpool c0t0d0s0 bspw. Steht ja auch so in http://docs.sun.com/app/docs/doc/819-5461/ggrko: "The pool must exist either on a disk slice or on disk slices that are mirrored" und "The pool must have an SMI label" und kein EFI-Label. http://docs.sun.com/app/docs/doc/819-5461/gcfog führt dazu aus: "ZFS applies an EFI label when you create a storage pool with whole disks."

Gruesse
 Joerg
Titel: Re: Denksportaufgabe: Solaris Migration/Upgrade
Beitrag von: Ebbi am 12. August 2009, 09:48:12
Man braucht ein SMI label.
Danke, das habe ich gestern abend noch gefunden. :)
Aber warum steht sowas nicht im Live Upgrade Guide, wenn es so wichtig ist? ???
Im Guide steht
Zitat
Create a ZFS root pool on a slice.
# zpool create rpool c0t1d0s5
Also mache ich das so.
Dass man für eine Anleitung eine weitere Anleitung braucht, ist suboptimal.

Aber egal, ich bin weiter: :)
# lucreate -c c1t0d0s0 -n new-zfsBE -p rpool
Analyzing system configuration.
Comparing source boot environment <c1t0d0s0> file systems with the file
system(s) you specified for the new boot environment. Determining which
file systems should be in the new boot environment.
Updating boot environment description database on all BEs.
Updating system configuration files.
The device </dev/dsk/c1t1d0s0> is not a root device for any boot environment; cannot get BE ID.
Creating configuration for boot environment <new-zfsBE>.
Source boot environment is <c1t0d0s0>.
Creating boot environment <new-zfsBE>.
Creating file systems on boot environment <new-zfsBE>.
Creating <zfs> file system for </> in zone <global> on <rpool/ROOT/new-zfsBE>.
Populating file systems on boot environment <new-zfsBE>.
Checking selection integrity.
Integrity check OK.
Populating contents of mount point </>.
Copying.
Creating shared file system mount points.
Creating compare databases for boot environment <new-zfsBE>.
Creating compare database for file system </rpool/ROOT>.
Creating compare database for file system </>.
Updating compare databases on boot environment <new-zfsBE>.
Making boot environment <new-zfsBE> bootable.
Creating boot_archive for /.alt.tmp.b-aJb.mnt
updating /.alt.tmp.b-aJb.mnt/platform/sun4u/boot_archive
Population of boot environment <new-zfsBE> successful.
Creation of boot environment <new-zfsBE> successful.
# lustatus
Boot Environment           Is       Active Active    Can    Copy
Name                       Complete Now    On Reboot Delete Status
-------------------------- -------- ------ --------- ------ ----------
c1t0d0s0                   yes      yes    yes       no     -
new-zfsBE                  yes      no     no        yes    -

Titel: Re: Denksportaufgabe: Solaris Migration/Upgrade
Beitrag von: Ebbi am 12. August 2009, 10:31:06
TA-DAA! :)
# lustatus
Boot Environment           Is       Active Active    Can    Copy
Name                       Complete Now    On Reboot Delete Status
-------------------------- -------- ------ --------- ------ ----------
c1t0d0s0                   yes      no     no        yes    -
new-zfsBE                  yes      yes    yes       no     -

Dann das alte BE löschen:
# ludelete c1t0d0s0
Determining the devices to be marked free.
Updating boot environment configuration database.
Updating boot environment description database on all BEs.
Updating all boot environment configuration databases.
Boot environment <c1t0d0s0> deleted.

TO DO:
- neue zweite Platte einbauen
- ZFS-Mirror erstellen
Titel: Re: Denksportaufgabe: Solaris Migration/Upgrade
Beitrag von: DukeNuke2 am 12. August 2009, 10:46:01
Na das sieht doch prima aus... Kannste bald bei uns anfangen ;).

Greets,
DN2
Titel: Re: Denksportaufgabe: Solaris Migration/Upgrade
Beitrag von: Ebbi am 12. August 2009, 10:50:38
Ich glaub's einfach nicht: :o
# zpool attach -f rpool c1t1d0s0 c1t0d0s0
cannot attach c1t0d0s0 to c1t1d0s0: device is too small

c1t0d0 = 68.35GB (SUN72G)
c1t1d0 = 68.43GB (FUJITSU-MAW3073FC-0102)

Jetzt kann ich gleich ein Live Upgrade von ZFS auf ZFS auf die kleinere Platte üben.  ::)


Kannste bald bei uns anfangen ;)
Bei Oracle? ;)
Neulich habe ich durch Zufall entdeckt, dass es auch hier eine Geschäftsstelle gibt.


Titel: Re: Denksportaufgabe: Solaris Migration/Upgrade
Beitrag von: Drusus am 12. August 2009, 12:45:05
Moin,

falls du die ganze Disk in den Zpool nehmen willst, dann nimm "zpool attach -f rpool c1t1d0 c1t0d0" (d.h. ohne das s0 am Ende). Die Fehlermeldung koennte daher kommen das auf Slice 0 hier in der Tat noch eine zu kleine Partiion liegt (laesst sich mit prtvtoc anzeigen).

Tschau,
  Drusus.
Titel: Re: Denksportaufgabe: Solaris Migration/Upgrade
Beitrag von: Ebbi am 12. August 2009, 12:47:56
falls du die ganze Disk in den Zpool nehmen willst, dann nimm "zpool attach -f rpool c1t1d0 c1t0d0" (d.h. ohne das s0 am Ende). Die Fehlermeldung koennte daher kommen das auf Slice 0 hier in der Tat noch eine zu kleine Partiion liegt (laesst sich mit prtvtoc anzeigen).
Da ich von UFS komme, scheint das aber wegen des SMI-Labels nicht zu funktionieren.
Beim EFI-Label kann ich die ganze Disk nehmen, aber bei SMI brauche ich einen Slice.

Umgekehrt funktioniert es aber: :)
# zpool destroy -f rpool
# zpool attach -f rpool2 c1t0d0s0 c1t1d0s0
# zpool status
  pool: rpool2
 state: ONLINE
status: One or more devices is currently being resilvered.  The pool will
        continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
 scrub: resilver in progress for 0h2m, 22.90% done, 0h8m to go
config:

        NAME          STATE     READ WRITE CKSUM
        rpool2        ONLINE       0     0     0
          mirror      ONLINE       0     0     0
            c1t0d0s0  ONLINE       0     0     0
            c1t1d0s0  ONLINE       0     0     0

errors: No known data errors

Hurra, fertig! ;D