1# 2# CDDL HEADER START 3# 4# The contents of this file are subject to the terms of the 5# Common Development and Distribution License (the "License"). 6# You may not use this file except in compliance with the License. 7# 8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9# or http://www.opensolaris.org/os/licensing. 10# See the License for the specific language governing permissions 11# and limitations under the License. 12# 13# When distributing Covered Code, include this CDDL HEADER in each 14# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15# If applicable, add the following below this CDDL HEADER, with the 16# fields enclosed by brackets "[]" replaced with your own identifying 17# information: Portions Copyright [yyyy] [name of copyright owner] 18# 19# CDDL HEADER END 20# 21 22Copyright 2007 Sun Microsystems, Inc. All rights reserved. 23Use is subject to license terms. 24 25/lib/svc/share/README 26 27smf(7): Notes on maintenance mode and recovery 28 29Failures that bring the system to maintenance mode may include hardware 30or critical software failures. The procedures below are given so that 31some software repairs can be made; the recommended exit approach once a 32repair has been made is to reboot the system. The system can be brought 33to maintenance mode deliberately via the '-s' option to boot(8), or via 34the 's' option to init(8). 35 36In failure scenarios, smf(7) may or may not be running, depending on 37which component has failed. If smf(7) is running, and the /usr 38filesystem is reachable, then the usual svcadm(8) invocations to clear 39maintenance state and restart services instances can be used. 40Otherwise, the following instructions describe the direct execution of 41service methods, so that capabilities that svc.startd(8) would normally 42start automatically can be started manually. In the case that the 43document recommends an invocation like 44 45# /lib/svc/method/example-method start 46 47you may also consider running these scripts with the shell displaying 48the commands from the service method as they are executed. For sh(1) 49based scripts, this would mean running the method as 50 51# /sbin/sh -x /lib/svc/method/example-method start 52 53Some methods may be written to instead use ksh(1), with invocation 54 55# /usr/bin/ksh -x /lib/svc/method/example-method start 56 57The first line of the service method script will generally specify its 58required interpreter using the standard #! notation. Method scripts may 59potentially require interpreters other than sh(1) or ksh(1). 60 611. Boot archive failure 62 63The boot archive may become out of sync with the root filesystem in a 64reboot following an abnormal system shutdown. The recommended action is 65to reboot immediately to rebuild the archive and correct the inconsistency. 66To accomplish this, on a GRUB-based platform, choose "Solaris failsafe" 67when the boot menu is displayed. Type 'i' to get an interactive recovery 68shell and follow instructions to update the boot archive. On an OBP- 69based platform, type 'boot -F failsafe' and follow the instructions. 70 71If the list of stale files are not yet loaded by the kernel 72or are compatible, you may continue booting by clearing the 73boot-archive service state 74 75# svcadm clear system/boot-archive 76 772. Failure to mount filesystems. 78 79In cases where the system was unable to bring a combination of the 80system/filesystem/{root,usr,minimal} services online, it may be possible 81to directly execute the corresponding service methods 82 83# /lib/svc/method/fs-root 84# /lib/svc/method/fs-usr 85# /lib/svc/method/fs-minimal 86 87to mount the various filesystems. In the case that these methods fail, 88a direct invocation of mount(8), and potentially fsck(8), should be 89attempted for file systems required for recovery purposes. 90 91/lib/svc/method/fs-usr attempts to remount the root file system 92read-write, such that persistent changes can be made to the system's 93configuration. If this method is failing, one can directly remount 94using the mount(8) command via 95 96# /sbin/mount -o rw,remount / 97 98/etc/svc/volatile is a temporary filesystem generally reserved for Sun 99private use. It may prove a useful location to create mount points if 100the root file system cannot be remounted read-write. 101 1023. Failure to run svc.configd(8). 103 104svc.configd(8) will give detailed instructions for recovery if the 105corruption is detected in the repository. If svc.configd(8) cannot be 106run because of missing or corrupt library components, then the affected 107components will need to be replaced. Components could be copied from a 108CD-ROM or DVD-ROM, or from another system. 109 1104. Failure to run svc.startd(8). 111 112If the inittab(5) line to invoke svc.startd(8) is missing or incorrect, 113it will need to be restored. A valid entry is 114 115smf::sysinit:/lib/svc/bin/svc.startd >/dev/msglog 2<>/dev/msglog </dev/console 116 117If svc.startd(8) cannot be run because of missing or corrupt library 118components, then the affected components will need to be replaced, as 119for svc.configd(8) above. 120 1215. Activating basic networking configuration. 122 123If svc.startd(8) did not execute successfully, it may also be necessary 124to activate network interfaces manually, such that other hosts can be 125contacted. The service methods can be invoked directly as 126 127# /lib/svc/method/net-loopback 128# /lib/svc/method/net-physical 129 130If these methods fail, a direct invocation of ifconfig(8) can be 131attempted. 132 133In some scenarios, one may be able to use routeadm(8) to activate more 134dynamic route management functionality; restoring the default dynamic 135routing behaviour can be done using the '-u' option. (Invoking routeadm 136with no arguments will display which commands must be accessible for the 137current routing configuration to be invoked.) Otherwise, once 138interfaces are up, a default route can be manually added using the 139route(8) command. On typical IPv4 networks, this invocation would be 140 141# /sbin/route add net default _gateway_IP_ 142 143-- 144 145(An extended version of this document is available at 146http://illumos.org/msg/SMF-8000-QD. That version includes additional 147document references.) 148