UnixTips.net

* use my tips at your own risk !!

* use my tips at your own risk !!

Categories

  • Other (3)
  • Scripting (10)
  • Unix (70)
  • Wordpress (2)

Powered by Genesis

Archives for October 2013

Solaris Boot Failures

error on boot:

devfsadm: mkdir failed for /dev 0x1ed: Read-only file system

I usually see this error when there is a meta device issue or after breaking a sub-mirror.

From the OK prompt boot into failsafe mode.

 {ok} boot -F failsafe 

Mount a disk to /a , copy the md.conf file

# mount -o ro /dev/dsk/c1t0d0s0 /a
# cp /a/kernel/drv/md.conf /kernel/drv/md.conf
# umount /a
# update_drv -f md
devfsadm: mkdir failed for /dev 0x1ed: Read-only file system

At this point metastat command should work.
We only care about s0.
Your output may vary depending on how you set up your mirror.

# metastat -p 
d0 -m d2 d3 1
d2 1 1 c1t0d0s0
d3 1 1 c1t1d0s0

Now we are going to mount d0

# fsck /dev/md/rdsk/d0
# mount /dev/md/dsk/d0 /a

We are going to look at the /a/etc/vfstab and /a/etc/system files
Always backup your files before editing.

Your vfstab should have the corresponding metadevice:

# cat /a/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      -
/dev/md/dsk/d7  /dev/md/rdsk/d7 /var    ufs     1       no      -
/dev/md/dsk/d6  /dev/md/rdsk/d6 /home   ufs     2       yes     -
/dev/md/dsk/d5  /dev/md/rdsk/d5 /opt    ufs     2       yes     -

Your /etc/system should have this line uncommented out:
NOTE: in the /etc/system * (astrisk) are considered comments not # (pound signs)

# grep root /etc/system
rootdev:/pseudo/md@0:0,0,blk

Update the boot-archive and reboot

# bootadm update-archive -R /a
Creating boot_archive for /a
updating /a/platform/sun4u/boot_archive
15+0 records in
15+0 records out
# umount /a
# init 6

At this point your system should boot up.

If you broke your mirror as part of a patching exercise.

You would perform the same steps on your disk device instead of your meta device.

# mount -o ro /dev/dsk/c1t0d0s0 /a
# cp /a/kernel/drv/md.conf /kernel/drv/md.conf
# umount /a
# update_drv -f md
devfsadm: mkdir failed for /dev 0x1ed: Read-only file system
# metastat -p 
d0 -m d2 d3 1
d2 1 1 c1t0d0s0
d3 1 1 c1t1d0s0

Perform the steps on both c1t0d0s0 and c1t1d0s0

# fsck /dev/rdsk/c1t1d0s0
# mount /dev/rdsk/c1t1d0s0 /a

Your vfstab in this case would have disk devices as compared to meta devices.

Example of partial vfstab using disk devices.

Always backup your files before editing.

/dev/dsk/c1t1d0s1  -       -       swap    -       no      -
/dev/dsk/c1t1d0s0  /dev/rdsk/c1t1d0s0 /       ufs     1       no      -
/dev/dsk/c1t1d0s7  /dev/rdsk/c1t1d0s7 /var    ufs     1       no      -
/dev/dsk/c1t1d0s6  /dev/rdsk/c1t1d0s6 /home   ufs     2       yes     -
/dev/dsk/c1t1d0s5  /dev/rdsk/c1t1d0s5 /opt    ufs     2       yes     -

In this case /etc/system should have this line commented out:
NOTE: in the /etc/system * (astrisk) are considered comments not # (pound signs)

# grep root /etc/system
* rootdev:/pseudo/md@0:0,0,blk

Update the boot-archive and reboot

# bootadm update-archive -R /a
Creating boot_archive for /a
updating /a/platform/sun4u/boot_archive
15+0 records in
15+0 records out
# umount /a
# init 6

Manage Solaris Services SMF

Need to disable services.

In this example inetd:

# svcs -a | grep -i inet
legacy_run     10:44:22 lrc:/etc/rc2_d/S72inetsvc
disabled       10:43:57 svc:/network/inetd-upgrade:default
online         10:44:18 svc:/network/inetd:default
# svcadm disable svc:/network/inetd:default
# svcs -a | grep -i inet
legacy_run     10:44:22 lrc:/etc/rc2_d/S72inetsvc
disabled       10:43:57 svc:/network/inetd-upgrade:default
disabled       11:06:21 svc:/network/inetd:default
# svcs -d inet
# svcs -d inetd
STATE          STIME    FMRI
disabled       11:42:38 svc:/network/inetd-upgrade:default
online         11:43:27 svc:/milestone/network:default
online         11:43:28 svc:/milestone/name-services:default
online         11:43:34 svc:/network/loopback:default
online         11:43:41 svc:/system/filesystem/local:default
online         11:43:42 svc:/network/rpc/bind:default
online         11:43:43 svc:/milestone/sysconfig:default
# svcs -l svc:/milestone/multi-user
fmri         svc:/milestone/multi-user:default
name         multi-user milestone
enabled      true
state        online
next_state   none
state_time   August 13, 2014 02:19:58 PM CDT
logfile      /var/svc/log/milestone-multi-user:default.log
restarter    svc:/system/svc/restarter:default
dependency   require_all/none svc:/milestone/sysconfig (online) svc:/milestone/single-user (online) svc:/milestone/name-services (online)
dependency   require_all/none svc:/system/filesystem/local (online)
dependency   optional_all/none svc:/platform/i86pc/kdmconfig:default (absent)
dependency   optional_all/none svc:/network/rpc/bind (online)
dependency   optional_all/none svc:/system/system-log (online)
dependency   optional_all/none svc:/system/utmp (online)
dependency   optional_all/none svc:/application/print/server (disabled)
dependency   optional_all/none svc:/network/inetd (online)
dependency   optional_all/none svc:/network/nfs/client (offline)
dependency   optional_all/none svc:/network/ntp (online)
dependency   optional_all/none svc:/network/smtp:sendmail (disabled)
dependency   optional_all/none svc:/platform/sun4u/sf880drd (disabled)
dependency   optional_all/none svc:/system/filesystem/autofs (disabled)
dependency   optional_all/none svc:/system/auditd (disabled)
dependency   optional_all/none svc:/system/cron (online)
dependency   optional_all/none svc:/system/name-service-cache (online)
dependency   require_all/none svc:/system/rmtmpfiles (online)
dependency   optional_all/none svc:/system/system-log (online)
dependency   optional_all/none svc:/system/power (online)
dependency   optional_all/none svc:/system/mdmonitor (disabled)
dependency   optional_all/none svc:/system/rcap (disabled)
dependency   optional_all/none svc:/quest/vas/vasd (disabled)
dependency   optional_all/none svc:/system/patch-finish:delete (disabled)
dependency   optional_all/none svc:/network/iscsi/initiator (online)
dependency   optional_all/none svc:/application/management/ocm (online)
# svcs -x -v
svc:/network/nfs/status:default (NFS status monitor)
 State: disabled since August 13, 2014 02:29:52 PM CDT
Reason: Disabled by an administrator.
   See: http://sun.com/msg/SMF-8000-05
   See: man -M /usr/share/man -s 1M statd
Impact: 2 dependent services are not running:
        svc:/network/nfs/nlockmgr:default
        svc:/network/nfs/client:default

svc:/network/bgssd/tcp:default (bgssd)
 State: maintenance since August 13, 2014 02:30:11 PM CDT
Reason: Restarter svc:/network/inetd:default gave no explanation.
   See: http://sun.com/msg/SMF-8000-9C
Impact: This service is not running.

http://docs.oracle.com/cd/E23824_01/html/821-1451/eqbrs.html