Portál AbcLinuxu, 13. května 2025 10:08

Dotaz: Solaris 10: metadetach d0 d10

13.7.2011 11:16 nicco | skóre: 7
Solaris 10: metadetach d0 d10
Přečteno: 392×
Odpovědět | Admin
Zdravim. Na Solarise 10 som mal mirrorovany / FS:

d0

primarny submirror d10

sekundarny submirror d20

metastat

d0: Mirror
    Submirror 0: d10
      State: Okay
    Submirror 1: d20
      State: Okay
    Pass: 1
    Read option: roundrobin (default)
    Write option: parallel (default)
    Size: 65553792 blocks (31 GB)

d10: Submirror of d0
    State: Okay
    Size: 65553792 blocks (31 GB)
    Stripe 0:
        Device     Start Block  Dbase        State Reloc Hot Spare
        c1t0d0s0          0     No            Okay   Yes

d20: Submirror of d0
    State: Okay
    Size: 65553792 blocks (31 GB)
    Stripe 0:
        Device     Start Block  Dbase        State Reloc Hot Spare
        c1t1d0s0          0     No            Okay   Yes

Namiesto

metadetach d0 d20

som spravil

metadetach d0 d10

a rebootoval som to.

Teraz samozrejme server nechce nastartovat pise to:

The file system (/dev/md/rdsk/d0) is being checked.
ERROR: svc:/system/filesystem/usr:default failed to mount (see 'svcs -x' for details)
Jul 12 15:23:21 svc.startd[7]: svc:/system/filesystem/usr:default: Method "/lib/svc/method/fs-usr" failed with exit status 95.
Jul 12 15:23:21 svc.startd[7]: system/filesystem/usr:default failed fatally: transitioned to maintenance (see 'svcs -xv' for details)
Requesting System Maintenance Mode
(See /lib/svc/share/README for more information.)
Console login service(s) cannot run

Root password for system maintenance (control-d to bypass):

Cakam na schvalenie console access, takze viacej zatial neviem. Mam teda nejaky cas na pripravu.

Neviete, aky by mal byt spravny postup.

1) Zmenit boot disk

a/alebo

zmenit /etc/vfstab /etc/system

z /dev/md/rdsk/d0

na /dev/dsk/c1t1d0s0

?

2) Potom, ked to nastartuje, tak mam dat metattach d0 d10 ?

Diky za pomoc


Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

13.7.2011 14:19 Filip Jirků | skóre: 1 | Praha
Rozbalit Rozbalit vše Re: Solaris 10: metadetach d0 d10
Odpovědět | | Sbalit | Link | Blokovat | Admin
Dobry den,

nejdriv bych zkusil nabootovat z toho druheho disku (c1t1d0s0).

Mirrorovy metadevice d0 by mel byt v poradku, s jednim submirrorem d20, tudiz system by z nej mel nabehnout bez problemu. Pote bych, jak pisete, udelal metattach d0 d10 a mirror d0 by se mel resyncnout a zacit fungovat s obema submirrory.

Pokud by se to chovalo stejne jako z prvniho disku bude asi potreba nabootovat bud z dvd/site anebo si RW namountovat disk z ktereho nemate nabootovano, predpokladam /dev/dsk/c1t0d0s0, treba do /mnt a z /etc/vfstab odstranit/zakomentovat radek s /dev/md/rdsk/d0 a pridat radek s /dev/rdsk/c1t0d0s0 + v /etc/system zakomentovat hvezdickou sekci pro metaroot
* Begin MDD root info (do not edit)
*rootdev:/pseudo/md@0:0,0,blk
* End MDD root info (do not edit)
a tim se metarootu zbavit.

Pote nabootovat z disku s upravenou konfiguraci a znovu ustavit root mirror.

13.7.2011 15:23 nicco | skóre: 7
Rozbalit Rozbalit vše Re: Solaris 10: metadetach d0 d10

Diky za odpoved.

Doteraz som robil iba so Solarisom 8, takze 10-ka je pre mna novinka.

Vyskusam najprv tu prvu moznost :

1) Do OK promptu (OpenBootPROM) sa dostanem cez init 0 zo "system maintenance" promptu, ktory mi teraz nabieha, ked sa snazim nabootovat server?

v OK prompte vypisem

> oprintenv

ten mi pravdepodobne zobrazi

> boot-device disk net

Vypisem si kam ukazuje ten alias:

> devalias

napr. disk /pci@1f,0/pci@1/scsi@1,1/disk

Tu budem musiet zistit, ako zapisat /dev/dsk/c1t1d0s0 v tom hierarchyckom formate, ale snad

> show-devs

mi poradi.

Ak potom urobim

metattach d0 d10

tak sa ten d0 vytvori z d10 alebo z d20?

 

2)  Pravdepodobne tam nie je CDROM, takze bude stacit nabootovat do "system maintenance" promptu a potom RW namountovat ten disk?

Len pre kontrolu. mam primountovat ten d10, teda /dev/dsk/c1t0d0s0, ktory som vyradil z RAIDu alebo ten druhy, ktory ostal v RAIDe /dev/dsk/c1t1d0s0?

13.7.2011 17:46 Filip Jirků | skóre: 1 | Praha
Rozbalit Rozbalit vše Re: Solaris 10: metadetach d0 d10
1. Ano, do OK promptu se dostanete z maintenance modu prikazem init 0

boot-device a devlaliasy si lze jeste pred tim zobrazit ze solarisu pomoci eeprom prikazu:
# eeprom|grep boot-device
boot-device=/pci@1f,0/ide@d/disk@0,0:a disk

# eeprom|grep devalias   
nvramrc=devalias cdrom /pci@1f,0/ide@d/cdrom@2,0
devalias sound /pci@1f,0/sound@8
devalias vx-rootdisk /pci@1f,0/ide@d/disk@0,0:a
devalias vx-rootmirr /pci@1f,0/ide@d/disk@2,0:a
v OBP jsou to jak pisete prikazy printenv a devalias

pokud nebudete mit alias na ten druhy disk, v OK promptu by mel byt prikaz show-disks ktery vam vypise disky ktere jsou videt z OBP (ok promptu)

pomoci nvalias si vytvorite novy alias

napriklad v mem pripade pro druhy disk:
nvalias disk2 /pci@1f,0/ide@d/disk@2,0:a
a pomoci nvstore jej ulozite aby vydrzel i po rebootu.

2. ano to by melo stacit.

Zkusil bych to nabootovat z toho druheho disku, namountovat ten prvni (/dev/dsk/c1t0d0s0), upravit na nem vfstab a /etc/system, vratit se do OBP a nabootovat z nej.

Ale myslim si ze by to nemelo byt treba.

Prikaz metadetach d0 d10 ten d0 device nemel znicit, stale by tam mel byt funkcni d0 s jednim submirrorem.

Muzete mi sem vlozit vas aktualni /etc/vfstab?
13.7.2011 17:56 Filip Jirků | skóre: 1 | Praha
Rozbalit Rozbalit vše Re: Solaris 10: metadetach d0 d10
jeste jsem zapomnel, prosim vlozte sem take vystup prikazu
# svcs -x svc:/system/filesystem/usr:default
# tail etc/svc/volatile/system-filesystem-usr:default.log
# metastat -c
14.7.2011 15:07 nicco | skóre: 7
Rozbalit Rozbalit vše Re: Solaris 10: metadetach d0 d10

Zatial stale cakam na tu konzolu a server je pristupny iba z nej, takze zatial nemozem nic spustat.

Pridam, ale vystupy z podobneho servera:

bash-3.00# cat /etc/vfstab
#device device mount FS fsck mount mount
#to mount to fsck point type pass at boot options
#
fd - /dev/fd fd - no -
/proc - /proc proc - no -
/dev/md/dsk/d1 - - swap - no -
/dev/md/dsk/d0 /dev/md/rdsk/d0 / ufs 1 no logging
/dev/md/dsk/d4 /dev/md/rdsk/d4 /var ufs 1 no logging
/dev/md/dsk/d6 /dev/md/rdsk/d6 /export/home ufs 2 yes logging
/dev/md/dsk/d5 /dev/md/rdsk/d5 /opt/Orchestream ufs 2 yes logging
/devices - /devices devfs - no -
ctfs - /system/contract ctfs - no -
objfs - /system/object objfs - no -
swap - /tmp tmpfs - yes -

sharefs - /etc/dfs/sharetab sharefs - no -
bash-3.00#

 

 

bash-3.00# cat /etc/system|grep -v ^\*
set noexec_user_stack=1
rootdev:/pseudo/md@0:0,0,blk
set c2audit:audit_load = 1
bash-3.00#

15.7.2011 00:07 nicco | skóre: 7
Rozbalit Rozbalit vše Re: Solaris 10: metadetach d0 d10

1) Skusil som nabootovat z druheho disku:

boot-device disk1:

a je to teda d20 c1t1d0s0

 

#metattach d0 d10
metattach: hostname: d10: invalid unit



#mount
/ on /pseudo/md@0:0,0,blk read/write/setuid/devices/dev=1540000 on Thu Jan 1 00:00:00 1970
/devices on /devices read/write/setuid/devices/dev=5840000 on Thu Jul 14 20:12:05 2011
/system/contract on ctfs read/write/setuid/devices/dev=5880001 on Thu Jul 14 20:12:05 2011
/proc on proc read/write/setuid/devices/dev=58c0000 on Thu Jul 14 20:12:05 2011
/etc/mnttab on mnttab read/write/setuid/devices/dev=5900001 on Thu Jul 14 20:12:05 2011
/etc/svc/volatile on swap read/write/setuid/devices/xattr/dev=5940001 on Thu Jul 14 20:12:05 2011
/system/object on objfs read/write/setuid/devices/dev=5980001 on Thu Jul 14 20:12:05 2011
/etc/dfs/sharetab on sharefs read/write/setuid/devices/dev=59c0001 on Thu Jul 14 20:12:05 2011
/platform/sun4u-us3/lib/libc_psr.so.1 on /platform/sun4u-us3/lib/libc_psr/libc_psr_hwcap1.so.1 read/write/setuid/devices/dev=1540000 on Thu Jul 14 20:12:26 2011
/platform/sun4u-us3/lib/sparcv9/libc_psr.so.1 on /platform/sun4u-us3/lib/sparcv9/libc_psr/libc_psr_hwcap1.so.1 read/write/setuid/devices/dev=1540000 on Thu Jul 14 20:12:26 2011


#cat /etc/vfstab
#device device mount FS fsck mount mount
#to mount to fsck point type pass at boot options
#
fd - /dev/fd fd - no -
/proc - /proc proc - no -
/dev/md/dsk/d1 - - swap - no -
/dev/md/dsk/d0 /dev/md/rdsk/d0 / ufs 1 no logging
/dev/md/dsk/d4 /dev/md/rdsk/d4 /var ufs 1 no logging
/dev/md/dsk/d6 /dev/md/rdsk/d6 /export/home ufs 2 yes logging
/dev/md/dsk/d5 /dev/md/rdsk/d5 /opt/Orchestream ufs 2 yes logging
/devices - /devices devfs - no -
ctfs - /system/contract ctfs - no -
objfs - /system/object objfs - no -
swap - /tmp tmpfs - yes -
sharefs - /etc/dfs/sharetab sharefs - no -

 

2) Tak som skusil druhu moznost

# mount /dev/dsk/c1t1d0s0 /mnt
mount: The state of /dev/dsk/c1t1d0s0 is not okay
and it was attempted to be mounted read/write
mount: Please run fsck and try again

 

tak som spravil fsck a tym som ho asi nadobro znicil, lebo ked to dam bootovat z disk0, tak:

{1} ok boot disk0

SC Alert: Host System has Reset
Probing system devices
Probing memory
Probing I/O buses


Warning: This system is restricted.




Rebooting with command: boot disk0
Boot device: /pci@1c,600000/scsi@2/disk@0,0 File and args:

Can't open boot_archive

Evaluating:
The file just loaded does not appear to be executable.

 

este som zmenil /mnt/etc/vfstab a /mnt/etc/system

takze mam

/dev/md/dsk/c1t0d0s0 /dev/md/rdsk/c1t0d0s0 / ufs 1 no logging

namiesto

/dev/md/dsk/d0 /dev/md/rdsk/d0 / ufs 1 no logging

 

a zakomentoval som ten rootfs s *

-----

 

 

Mozno som spravil chybu v tom, ze som mal nabootovat z c1t0 a primountovat a menit c1t1. Ja som to spravil naopak. Mozno metadetach nejako znicil ten c1t0 a ja som to este dorazil tym fsck

 

----

 

Takze teraz mozem nabootovat s boot-device disk1:a a vojdem do maintenance modu, takze som viac menej tam, kde som bol

15.7.2011 11:21 Filip Jirků | skóre: 1 | Praha
Rozbalit Rozbalit vše Re: Solaris 10: metadetach d0 d10
1) No, pokud se Vam podarilo z disku1 nabootovat do init 3, coz podle vystupu prikazu mount vypada ze ano (/pseudo/md@0:0,0,blk bylo rw), nechapu proc jste provadel 2 moznost.

2) jestli to chapu spravne, mel jste nabootovano z disk1 = c1t1d0s0 tedy d0 (d20) a pokusil jste se rw primountovat /dev/dsk/c1t1d0s0 - coz je device pod tim d20, potazmo d0 metadevice?

A protoze to neslo primountovat (pochopitelne nebot byl pouzivan tim metadevicem) tak jste na nej pustil fsck a to v momente kdy jste z nej mel pres metadevice nabootovano?

Obavam se, ze to se tomu UFS filesystemu asi opravdu nelibilo.

Pokud jsem to spatne pochopil, tak se omlouvam.

Chyba "Can't open boot_archive" zda se znaci ze na s0 danem disku ma nakoply, bootarchive.

to by mohlo jit opravit ve failsafe modu, prikazem #boot -F failsave (jak psal nize v komentarich stefi).

kazdopadne si ale opravte ten vfstab
/dev/md/dsk/c1t0d0s0 /dev/md/rdsk/c1t0d0s0 / ufs 1 no logging
je spatne, spravne by pro c1t0d0s0 (pri nepouzivani metadevices) melo byt:
/dev/dsk/c1t0d0s0 /dev/rdsk/c1t0d0s0 / ufs 1 no logging
bez toho md, takhle by se snazil jako / mountovat neexistujici device.
15.7.2011 12:25 Filip Jirků | skóre: 1 | Praha
Rozbalit Rozbalit vše Re: Solaris 10: metadetach d0 d10
Jeste poznamka, metadetach d0 d10, data na tom c1t0d0s0 znicit nemel. Funkcnost prikazu metadetach v tomto pripade je pouze v tom, ze vyradi dany submirror ze synchronizace. Dokonce ani metaclear d10 by data na c1t0d0s0 neznicil, pouze by slice 0 uplne odkonfiguroval se SVM, ale data na te slice by zustala.

Pokud mate na ten server zaplaceny support, mozna by bylo lepsi zkontaktovat podporu Oracle a zacit to resit s nimi. Uz jen proto, ze je mozne jim zaslat explorer z tohoto stroje, tudiz supportni technik bude mit prehled o konfiguraci serveru a bude se mu to jednoduseji resit.
15.7.2011 12:44 nicco | skóre: 7
Rozbalit Rozbalit vše Re: Solaris 10: metadetach d0 d10

1) Nabootoval som z disk1:a (c1t1d0s0) a nefungoval mi metattach d0 d10

#metattach d0 d10 metattach: hostname: d10: invalid unit

tak som presiel ku kroku 2

2) kde som mal nabootovane z  disk1:a (c1t1d0s0)

primountoval som c1t0d0s0 a zmenil som vfstab a system, ale je pravda, ze som tam spravil chybu a nemal som dat /dev/md/...

Tak by som to este mohol skusit opravit, tak ze nabootujem boo-F failsafe a fsck na  c1t1d0s0

mount c1t1d0s0

a opravim ten vfstab a rebootujem z disk0:a

18.7.2011 13:18 Filip Jirků | skóre: 1 | Praha
Rozbalit Rozbalit vše Re: Solaris 10: metadetach d0 d10
1) aha, no asi bych to resil jinak nez krokem 2, ale to uz ted nema smysl pitvat.

2) boot -F failsafe by mohl nabootovat z toho c1t0d0s0 disku. Teoreticky by se vam mohlo podarit primountovat RW /dev/dsk/c1t0d0s0 tam opravit vfstab a nabootovat znej. Ten failsafe system by nemusel mit primountovan /dev/dsk/c1t0d0s0 a mohl by bezet z RAMFS, bohuzel to ale nemam kde vyzkouset.

Jeste jedna vec, prestavam si byt jisty ktery disk je ktery, mohl by jste prosim pripadne vlozit vystup z prikazu:
eeprom|grep devalias
eeprom|grep boot-device
cat /etc/path_to_inst|grep ""sd""
ls -lh /dev/dsk/|grep s0
nebo, pokud se Vam nepodari dostat do solarisu
devalias
printenv
a typ stroje?

Dekuji
19.7.2011 15:59 nicco | skóre: 7
Rozbalit Rozbalit vše Re: Solaris 10: metadetach d0 d10

Podarilo sa mi to cele nabootovat s tymto postupom:

http://dosh-devilla.blogspot.com/2011/04/recovering-boot-archive-solaris-10-on.html

+ teda nejake kroky predtym a potom.

Ked tak nad tym uvazujem, tak mozno stacilo vynechat bootovanie do failsave a ramdisku a vynechat to kopirovanie konfiguracie md a aj metasync -r a stacilo sa iba zalogovat sa do toho maitenance modu a tam hned spustit metasync -r +/- fsck na d0

13.7.2011 15:39 stefi
Rozbalit Rozbalit vše Re: Solaris 10: metadetach d0 d10
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ahoj,

vi /etc/vfstab

namiesto /dev/md/dsk/d0 daj /dev/md/dsk/d10 to znamena ze ti nabootuje z submirroru. ak budes mat system hore. tak metaclear d0. metainit d0 -m d10 1 metainit d20 1 1 /dev/dsk/c0t(?)d0s0 metattach d0 d20

nech sa resync zmen /etc/vfstab spat na d0 restart

P.S. ked budes menit vfstab z d0 na c*t*d*s0 nezabudni v /etc/system zakomentovat bootovanie z metadevicu.
13.7.2011 16:56 nicco | skóre: 7
Rozbalit Rozbalit vše Re: Solaris 10: metadetach d0 d10

Najprv musim nejako nabootovat. Ak tam cdrom nie je, staci teda do maintenance promptu? a potom mam RW primountovat ktory disk, aby som zmenil vfstab a system - c1t0(d10) alebo c1t1(d20)?

Ked uz bude system hore nestaci metattach d0 d10? Nerad by som zrusil data.

Mam spravne tie tvoje prikazy?:

metaclear d0

metainit d0 -m d10 1

metainit d20 1 1 /dev/dsk/c0t(?)d0s0

metattach d0 d20

 

14.7.2011 09:30 stefi
Rozbalit Rozbalit vše Re: Solaris 10: metadetach d0 d10
Ahoj,

bootovanie, mozes bootovat z hociktoreho disku: je to sparc alebo x86 ? ak je to sparc tak

boot -F failsave

popripade ak nepojde tak

boot milesone:none

ak je to x86 tak v grube zmen bootovaci script a dopln tak failsafe

consolove heslo predpokladam ze bude rovnake ako root heslo.

na a ked budes bootnuty, tak bud mas c1t1d0s0 disk alebo si primoutuj c1t1d0s0 disk do napr /mnt a zmen vfstab

teraz tam je tipujem take daco:
/dev/md/dsk/d0  /dev/md/rdsk/d0 /       ufs     1       no      -
tak to d0 zmen na d20

a skus bootnut

alebo sa to da este urobit tak ze vsetky zaznami v vfstab zmen z metadevice-ov na slice-i, zakomentuj /etc/system (ako bolo vyssie spomenute) a bootnes system. a potom nanovo rebuildnes metadevice.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.