Portál AbcLinuxu, 13. května 2025 10:08
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:
* 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.
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?
# 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:av 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:aa 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?
# svcs -x svc:/system/filesystem/usr:default # tail etc/svc/volatile/system-filesystem-usr:default.log # metastat -c
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#
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
/dev/md/dsk/c1t0d0s0 /dev/md/rdsk/c1t0d0s0 / ufs 1 no loggingje spatne, spravne by pro c1t0d0s0 (pri nepouzivani metadevices) melo byt:
/dev/dsk/c1t0d0s0 /dev/rdsk/c1t0d0s0 / ufs 1 no loggingbez toho md, takhle by se snazil jako / mountovat neexistujici device.
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
eeprom|grep devalias eeprom|grep boot-device cat /etc/path_to_inst|grep ""sd"" ls -lh /dev/dsk/|grep s0nebo, pokud se Vam nepodari dostat do solarisu
devalias printenva typ stroje? Dekuji
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
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
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.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.