by
Hewlett
Packard Company
2025
Larpenteur Ave.
St. Paul, MN
55113
651-603-3111
Fax
651-603-3009
greg_fields@hp.com
Ignite-UX and Bootable Tapes
Contents
Restore
Exceptions
Patches
check_recovery
Using the System
Recovery Tape
findholes
Screen
Examples
Making vg00 Changes
Using the Unsupported Method
Making vg00 Changes Using
the Supported Method
Unedited
config.recover
Edited
config.recover
The Results
Summary
Man Page for
make_recovery
Have
you ever had a drive die in your boot volume group? This usually happens at the
worst time! Month end or just before vacation there is never a good time for
such a disaster. In the past after your Customer Engineer repaired the drive
you had to reinstall the operating system, restore from you back up, worry
about changed device files, LVM configuration, etc.. In the middle of the night
after the 100th time you were called and asked when is the system going to
be up didn. t you say to yourself . There has got to be a better
way!. Well there is now and it is
called Ignite-UX. Start using Ignite-UX and make your life less stressful!
Ignite-UX was introduced in April of 1997. Ignite-UX really has two main parts. The first part is to do initial configuration and software installation of HP-UX systems over the network. It replaces the existing HP-UX Install program (also known as Cold Install). A 700 or 800 series system will be designated as the Ignite-UX server. This server will push operating systems images to systems over the network. This is very handy for installing new systems. That. s neat you say but all I want to do is fix my broken root volume group. I don. t want to have to designate a system as a Ignite-UX server. You don. t need to because the second part of Ignite-UX allows any 700 or 800 series 9000 to make a bootable tape to restore the root volume group. This requires the Ignite-UX software to be installed on the system but, it doesn. t require a separate system to be used as a Ignite-UX server. Ignite-UX can then be used to create a system recovery tape. Anyone can do this! For large data centers that don. t want to manage individual tapes for each system the net_recovery can be used to store images back to a system designated as the Ignite-UX server. This paper will focus on how to a make system recovery tape on a individual system using the Ignite-UX command make_recovery and how to restore from the tape.
How
do I get Ignite-UX and how much does it cost? Anyone can afford Ignite-UX
because it is free! It can be downloaded from the web at:
www.software.hp.com/products/IUX/index.html
It is
also on the application CD. s. Ignite-UX works with HP-UX version 10.X and
11.X for series 700 and series 800 systems. Ignite-UX is fully supported by the
Response Center.
It
is very easy to make a system recovery tape since only one command is
needed. The command is:
/opt/ignite/bin/make_recovery
The make_recovery command is fairly simple but, it has many uses! Not only can you restore your broken root volume group but, you can also do the following.
·
Convert
file systems from HFS to VxFS
·
Modify
root file system sizes
·
Modify
primary swap space allocation
·
Extend
/stand file system
·
Clone
nearly identical systems
With
make_recovery you can create an image of your whole root volume group or you
can just make a image of the core operating
system. See the attached man page for make_recovery to see what files make up
the core operating system. Because the store/restore utility pax is used the
image can not be over 2GB so must people will be able to make a image of the
whole root volume group. The system
recovery tape will consist of three parts.
·
Boot
or LIF area
·
System
configuration file as produced by save_config
·
Operating
system archive
make_recovery
options
The
follow options are used with make_recovery.
-A Specifies the entire root volume group
is be included in the tape
-p Allows you to preview processing that
will take place without actually creating
the tape.
-r Allows you to resume creation of the tape
after the . p option has been used.
-v Verbose mode that displays progress
messages
-d Specifies either a DDS or DLT tape
drive where the tape will be created
-b Specifies the temporary area where the LIF volume will be made before it is
stored to the tape. The default
directory is /var/tmp/uxinstlf.recover. At least
32 MB is required in this
directory or the build of the LIF volume will fail.
-C Creates the status file that
check_recovery is run against. (More on this later.)
When the
.
A option isn. t used only the core
operating system is used. There are a couple of files (See attached man
page) that can be used with the core to make it more flexible but, we
will focus on recovering the whole root volume group. It is important to
remember that normally only vg00
will be backed up with make_recovery.
Looks
pretty
simple doesn. t it? Well it is but, if you are one of those who have put
the root volume files outside of vg00 then you will have to be aware of how
make_recovery handles that. Ignite-UX requires that the file systems /, /stand,
/sbin, /dev, and /etc reside on the root volume group. The file systems /opt,
/var, /home, /tmp, and /usr can reside outside of the root volume group. Only /usr is considered part of the core operating
system. If make_recovery . A is done and /usr is outside of vg00 the entire volume group that /usr belongs to will also be backed up.
If your boot volume group fails vg00 and the volume group that /usr resides in
will be restored. Be careful that your tape will not grow over 2 GB in size or
make_recovery will not work! What about the other root volume file systems
that reside outside of vg00, how much of those get backed up? Only the files that
are considered to be part of the core will be backed up. (See attached man page for list)
For example, if /opt resides in vg01 then only four files from /opt will be
backed up. When the restore tape is used vg01 will not be restored,
only vg00. If this tape were used to clone a system /opt will end up with only
four files! So remember if root volume file systems reside outside of vg00 the
only file system that will be backed up completely in another volume group is
/usr and any other file systems in the /usr volume group. All other root file
systems outside of the root volume group will only have their core files backed
up. Always remember that make_recovery will back up only vg00 unless
the previous mentioned /usr situation is in place. Unless /usr is in
another volume group make_recovery will never back up other volume groups. It will only back up
vg00.
Is there
anything else you should be aware of? Yes, if you have used HP-UX LVM mirroring
on your root volume file systems Ignite-UX will NOT redo the
mirroring after you have recovered your system from the system recover tape. You
can manually incorporate the mirroring procedure with make_recovery. See the
paper entitled . Ignite-UX and Mirrored Disks. on the Ignite-UX home page. If
you don. t incorporate the mirroring procedure into your make_recovery you can
simply remirror the logical volumes once your system has reloaded from the
system recover tape.
Do you
need anything else on your system before running make_recovery? If you. ve been
around UNIX long enough it shouldn. t surprise you that a patch is needed. The
pax cumulative patch is needed to allow directory paths longer than 100
characters. It also fixes the problem of files that were hard-linked together
not coming back as links after restoring from the system recovery tape. The
patches are as follows for Series 700 and 800 servers:
10.01 PHCO_11975
10.10 PHCO_11976
10.20 PHCO_16877
10.30 PHCO_11978
11.X No patch needed
(Be aware that these patches could be superceded in the
future.)
check_recovery
How
often should you make your tape with make_recovery? This will be a judgement
call on your part. If you do not have many changes being made in the root volume
files then you probably won. t need to make the tape very often. Is there a way
to check the aging of the tape and take some of the guess work out? Of course!
The command is:
/opt/ignite/bin/check_recovery
The check_recovery command compares the current state of vg00 to the system recovery status file, /var/opt/ignite/recovery/makrec.last, that was made when make_recovery was done with the . C option. Check_recovery will look for the following discrepancies.
· Additions
Files added to vg00 since the last tape was made
· Deletions
Files not existing on the current system but, was on the last tape
· Modifications
Files existing on the current system but, with a different
modification date then the file on the tape
There are no options to check_recovery but, you must remember to use the . C option when you create the system recovery tape with make_recovery. You could check the aging of your tape every day by running check_recovery in a cron job. If you e-mailed the results of your cron job outside of the system you would then have a record of what has changed. If you use your system recovery tape you will know what has changed since the tape was created. Note! The output of check_recovery doesn. t show you how the file was modified, it only shows you what files were modified.
O.K.,
you now have been faithfully creating your tape and the big moment finally
arrives! You must restore your root volume group! With shaking hands you put
your boot tape into your drive, point the boot path to the tape drive, and boot!
What do you do now? Nothing!!! Don. t
interact with ISL. Don. t do anything but, watch!
It. s as simple as that! By letting the system boot from the
tape uninterrupted you will eventually have the system at the log in prompt.
After you log in you will see all volume groups and file systems back on the system!
If you have been running check_recovery and e-mailing the results you can do a
quick review to see if anything else needs to be researched.
findholes
If all
looks good you have one more step if you are on 10.X. You must run
/opt/ignite/data/scripts/findholes
This is
only necessary on 10.X, not 11.00. Why is findholes needed? Because
make_recovery uses pax to restore the files from the system recovery tape. Pax
attempts to optimize disk space by creating files with . holes. (sparse files) if a
file contains a block of nulls. In most cases this doesn. t matter since the
files will appear identical except for the disk space reported by the . du.
command. However, if the changed file is an executable it can cause the
executable to unpredictably die with errors. When findholes is run it will
automatically list and fix any sparse files it finds. The time it takes will
vary with the speed of the system. A H40 will usually take less than 15 minutes
for findholes to complete. Newer systems are quite a bit faster. You can run
with sparse files and not use findholes if you have the appropriate patches
listed here.
10.01 Series 800 PHKL_17448 plus dependencies
10.10 Series 800 PHKL_11241
10.20 Series 800 PHKL_16751 plus dependencies
10.01 Series 700 PHKL_17447 plus dependencies
10.10 Series 700 PHKL_11240
10.20 Series 700 PHKL_16750 plus dependencies
(Be aware that these patches could be superceded in the
future.)
Remember this rule of thumb when rebuilding your root volume group with your system recovery tape.
Do Not Interrupt the Boot in any way!
Follow this rule and you will get all
of your volume groups and file systems back. What would happen if you interrupt
the boot process of Ignite-UX and went into interactive mode? Only vg00 would be
brought back and NO other volume groups would be created. There
will also be some other files that will not be brought back. See the attached
man page of make_recovery under heading Interactive Mode for the list. That is why it is so
important not to interrupt the boot!
What if
you want to do some modifications to your root volume group? Do something like
change a file system from HFS to VxFS? You will need to interrupt the Ignite-UX
process and go into interactive mode. The following are screens you will see
when you go into interactive mode.
Point
the boot path to the tape device and begin the boot process. Do not interact
with ISL. At the point shown on the next page interrupt the Ignite-UX boot
process to go into interactive mode.
Notice
that [A1] you have
10 seconds to cancel the automatic batch-mode and go into interactive mode.
Note! If Ignite-UX notices significant hardware differences between the system
the tape was created on and the system you are restoring to Ignite-UX will
automatically bring you into interactive mode and present the
user-interface.
This is
the first screen you will be presented with. This is the same screen you will
see when installing 11.00 from the Install/Core CD. Highlight Install HP-UX and
hit return.
Notice here that you want
the * to be in the Advanced Installation which gives you the maximum
ability to make changes. The Guided Installation is the default which isn. t as
flexible as the Advanced Installation. Tab to OK and hit
return.
Ignite-UX will give you
five tabs. The Basic
tab is the first screen shown. Here you can even point the Root disk to
another drive. The other sections on this screen should not be changed. Now tab
to the next screen.
The Software screen has
no fields that should be changed. This is a screen that is used
for the
server version of Ignite-UX. Now tab to the System screen.
The System tab has many
parameters that can be changed. If you want to change network parameters this
would be the screen to make those changes. Now tab to the File System
screen.
The File System screen
is where HFS file systems can be changed to VxFS. This is also where changes can be
made to the sizes of file systems and also to swap. Now tab to the Advanced screen.
The Advanced screen is
also another screen where no changes are made. This screen is only used by the
Ignite-UX server. If you went to Show Summary near the bottom of the screen you would be
presented with the next screen.
The General Summary is a
review of the file system types and sizes. This screen can be
reached
by selecting Show
Summary at the bottom of any of the five tab screens.
![]() |
The
Hardware screen is a review of the hardware configuration. After OK is hit you will be
returned to the tab screen that you originally entered the Show Summary from.
Once the tab screen is display tab to Go! to continue the
boot.
Figure
11
If you
already have a root drive installed you will receive this warning. Tab to Go! to continue.
The
archive will be extracted from the tape and stored onto the root volume group.
Depending on the speed of your system and tape drive the
time will vary. K series with a DDS II will take less than a half a
hour!
At this
point Ignite-UX is done building the kernel. It will now reboot but, this
is not the
final reboot. Ignite-UX will put the system through two boots with the
second boot being the normal boot.
Figure
14
At the
point you see large a OK Ignite-UX is done installing the system. It
will now do a normal
reboot and the system will be up.
When the
system is back up you will only have
vg00 mounted. Since you interrupted the boot the other volume groups were not
built. If you look under /dev you will notice there are no directories for the
other volume groups such as vg01, etc. You will now need to import all the other
volume groups. Hopefully you have recorded your LVM configuration! A copy of the
original fstab will be at:
/var/opt/ignite/recovery/fstab
What a
pain it is to import all the volume groups you say to yourself. There must be
another way! The makers of Ignite-UX thought about this too. There are two ways
to get around the vgimport problem. One way is supported way the
other is unsupported.
First we
will go over the unsupported way. Be warned! You will be on your own if
you go this route. The Response center doesn. t support this method.
The
following shows the screens that you will see when go the unsupported way.
Instead
of going the normal route of Install HP-UX go to the Advanced
Options.
Figure
16
Once you
are into the Advanced Options go into Edit (vi) config file.
This is
the screen where you can fool Ignite-UX into thinking you didn. t interrupt it.
Notice how the two RECOVERY_MODE are different. Since you interrupted Ignite-UX
the second RECOVERY_MODE is set FALSE. This means that none of the volume groups
will be created except for vg00 and a set of files will not be brought back to
as defined in the man page. To fool Ignite-UX into thinking you didn. t
interrupt it, set the second RECOVERY_MODE=TRUE. Now all your other volume
groups will be created and all your files will also be brought back. But, be
forewarned!
Since all
your files are brought back you have to be VERY careful on how
you use this method. Usually it is going to mean coming up in single user mode
to change things to match what you altered with Ignite-UX. For example, if you
change file systems from HFS to VxFS you will need to alter the /etc/fstab after
the system is back up in single user mode. The original /etc/fstab still has the
file systems listed as a HFS mount so you will need to vi the /etc/fstab and
change the mount options to VxFS, then reboot the system as you normally would.
The unsupported method
is not the best route for those not completely confident in their UNIX skills.
The supported
method is more straight forward and lets Ignite-UX worry about the details.
Instead of interrupting Ignite-UX to change options you actually make your
changes before
the system recovery tape is created. To accomplish this issue the command:
/opt/ignite/bin/make_recovery . A . p
/var/opt/ignite/recovery/config.recover
This is
where you will make your changes before the system recovery tape is made. Let. s say we
have a system with a /etc/fstab that looks like this.
# System /etc/fstab file. Static information about the file systems
# See fstab(4) and sam(1M) for further details on configuring devices.
/dev/vg00/lvol1 / hfs defaults 0 1
/dev/vg00/lvol3 /home hfs defaults 0 2
/dev/vg00/lvol4 /opt hfs defaults 0 2
/dev/vg00/lvol5 /tmp hfs defaults 0 2
/dev/vg00/lvol6 /usr hfs defaults 0 2
/dev/vg00/lvol7 /var hfs defaults 0 2
/dev/vg01/lvol1 /HPWorld vxfs delaylog 0 2
/dev/vg01/lvol2 /HPWorld1999 vxfs delaylog 0 2
This
system is on 10.20 but, you will notice that /stand isn. t broken out and that
all of the vg00 file systems are still HFS. This is seen quite often on systems
that have been upgraded from 10.01 to 10.20 since /stand wasn. t broken out and
VxFS still wasn. t available in 10.01. In this case we wish to break /stand out
and make it lvol1, have / be lvol3, and change all file systems to VxFS, except
/stand of course. This would be the traditional 10.20 file system layout. To
accomplish this use make_recovery with the following options:
/opt/ignite/bin/make_recovery . A . v . p
/var/opt/ignite/recovery/config.recover
After it creates this file you will be returned to the HP-UX prompt. The tape will not be created yet since you used the . p option. Now you can edit the config.recover file. This is the unedited version of config.recover.
cfg "HP-UX System Recovery"=TRUE
_hp_saved_detail_level="vfph"
#
# Variable assignments
#
init _hp_root_disk="8/4.8.0"
init _hp_root_grp_disks=1
init _hp_root_grp_striped="NO"
init _hp_pri_swap=524288KB
init _hp_disk_layout="HP-UX save_config layout"
#
# Disk and Filesystems
#
_hp_disk_layout+={"HP-UX save_config layout"}
(_hp_disk_layout=="HP-UX save_config layout") {
# Disk/Filesystem Layout:
volume_group "vg00" {
max_physical_extents=2200
max_logical_vols=255
max_physical_vols=16
physical_extent_size=4
minor_number=0x00
physical_volume disk[_hp_root_disk] {
} # end pv_options
logical_volume "lvol1" {
usage=HFS
size=204800KB
mount_point="/"
minfree=10
file_length=LONG
blksize=8192
fragsize=1024
ncpg=16
nbpi=6329
rotational_delay=0
largefiles=FALSE
bad_block_relocate=false
contiguous_allocation=true
stripes=0
stripe_size=0KB
minor_number=0x01
disk[_hp_root_disk]
} # end logical_volume
logical_volume "lvol2" {
usage=SWAP_DUMP
size=524288KB
bad_block_relocate=false
contiguous_allocation=true
stripes=0
stripe_size=0KB
minor_number=0x02
disk[_hp_root_disk]
} # end logical_volume
logical_volume "lvol6" {
usage=HFS
size=339968KB
mount_point="/usr"
minfree=10
file_length=LONG
blksize=8192
fragsize=1024
ncpg=16
nbpi=6397
rotational_delay=0
largefiles=FALSE
bad_block_relocate=true
contiguous_allocation=false
stripes=0
stripe_size=0KB
minor_number=0x06
disk[_hp_root_disk]
} # end logical_volume
logical_volume "lvol4" {
usage=HFS
size=258048KB
mount_point="/opt"
minfree=10
file_length=LONG
blksize=8192
fragsize=1024
ncpg=16
nbpi=6381
rotational_delay=0
largefiles=FALSE
bad_block_relocate=true
contiguous_allocation=false
stripes=0
stripe_size=0KB
minor_number=0x04
disk[_hp_root_disk]
} # end logical_volume
logical_volume "lvol7" {
usage=HFS
size=163840KB
mount_point="/var"
minfree=10
file_length=LONG
blksize=8192
fragsize=1024
ncpg=16
nbpi=2157
rotational_delay=0
largefiles=FALSE
bad_block_relocate=true
contiguous_allocation=false
stripes=0
stripe_size=0KB
minor_number=0x07
disk[_hp_root_disk]
} # end logical_volume
logical_volume "lvol5" {
usage=HFS
size=32768KB
mount_point="/tmp"
minfree=10
file_length=LONG
blksize=8192
fragsize=1024
ncpg=16
nbpi=2056
rotational_delay=0
largefiles=FALSE
bad_block_relocate=true
contiguous_allocation=false
stripes=0
stripe_size=0KB
minor_number=0x05
disk[_hp_root_disk]
} # end logical_volume
logical_volume "lvol3" {
usage=HFS
size=20480KB
mount_point="/home"
minfree=10
file_length=LONG
blksize=8192
fragsize=1024
ncpg=16
nbpi=5884
rotational_delay=0
largefiles=FALSE
bad_block_relocate=true
contiguous_allocation=false
stripes=0
stripe_size=0KB
minor_number=0x03
disk[_hp_root_disk]
} # end logical_volume
} # end volume_group "vg00"
} # end "HP-UX save_config layout"
hw_instance_num = 8/4 "ext_bus" 0
hw_instance_num += 8/4.5 "target" 0
hw_instance_num += 8/4.5.0 "disk" 0
hw_instance_num += 8/4.7 "target" 1
hw_instance_num += 8/4.7.0 "ctl" 0
hw_instance_num += 8/4.8 "target" 2
hw_instance_num += 8/4.8.0 "disk" 1
hw_instance_num += 8/16 "ba" 0
hw_instance_num += 8/16/0 "ext_bus" 2
hw_instance_num += 8/16/4 "tty" 0
hw_instance_num += 8/16/5 "ext_bus" 1
hw_instance_num += 8/16/5.0 "target" 3
hw_instance_num += 8/16/5.0.0 "tape" 0
hw_instance_num += 8/16/5.2 "target" 4
hw_instance_num += 8/16/5.2.0 "disk" 2
hw_instance_num += 8/16/5.7 "target" 5
hw_instance_num += 8/16/5.7.0 "ctl" 1
hw_instance_num += 8/16/6 "lan" 0
hw_instance_num += 8/16/7 "ps2" 0
hw_instance_num += 8/20 "ba" 1
hw_instance_num += 8/20/2 "tty" 1
hw_instance_num += 8/20/5 "ba" 2
hw_instance_num += 8/20/5/1 "unknown" -1
hw_instance_num += 32 "processor" 0
hw_instance_num += 34 "processor" 1
hw_instance_num += 49 "memory" 0
release="B.10.20"
#
# System/Networking Parameters
#
_hp_custom_sys+={"HP-UX save_config custom sys"}
init _hp_custom_sys="HP-UX save_config custom sys"
_hp_custom_sys visible_if false
(_hp_custom_sys=="HP-UX save_config custom sys") {
final system_name="m26061p"
final ip_addr["8/16/6"]="12.30.43.200"
final netmask["8/16/6"]="0xfffff800"
final broadcast_addr["8/16/6"]="12.30.45.255"
final route_gateway[0]="12.30.40.1"
final route_destination[0]="default"
final dns_domain="msr.hp.com"
final dns_nameserver[0]="12.40.100.102"
is_net_info_temporary=FALSE
} # end "HP-UX save_config custom sys"
RECOVERY_MODE=TRUE
_hp_locale = "SET_NULL_LOCALE"
run_ui=FALSE
env_vars +="INST_ALLOW_WARNINGS=10"
sw_source "recovery"{
source_type="MT"
source_format=archive
load_order=0
post_load_script="/opt/ignite/data/scripts/os_arch_post_l"
post_config_script="/opt/ignite/data/scripts/os_arch_post_c"
}
sw_sel "recovery_tape"{
description = "Recovery Archive"
sw_category = "HPUXEnvironments"
sw_source="recovery"
archive_path="1"
archive_type=tar
} = TRUE
sw_source "no select"{
source_format = cmd
}
sw_sel "English" {
description = "English Language Environment"
sw_source = "no select"
sw_category = "Languages"
locale = { "SET_NULL_LOCALE:English", "C:English" }
} = TRUE
post_load_cmd="
if [[ -f /tmp/install.vars ]]; then . /tmp/install.vars; fi
if [[ $RECOVERY_MODE = TRUE ]]; then
cp /stand/vmunix /var/vmunix.makrec &&
cp /var/vmunix.makrec /stand/vmunix
rm -f /var/vmunix.makrec
fi
"
final_cmd="
if [[ -f /tmp/install.vars ]]; then . /tmp/install.vars; fi
if [[ -a /var/tmp/remove ]]; then rm /var/tmp/remove; fi
if [[ -d /var/tmp/removedir ]]; then rm -rf /var/tmp/removedir; fi
/usr/sbin/vgimport -v -m /etc/lvmconf/vg01.mapfile /dev/vg01 \
/dev/dsk/c0t5d0
/usr/sbin/vgchange -a y /dev/vg01
/usr/sbin/vgcfgbackup /dev/vg01
/usr/sbin/vgcfgbackup /dev/vg00
"
Take
notice the print in bold. You will see that each lvol has it. s own section.
Pay close attention to the following parts.
· The
usage of each lovl, except swap, is set to HFS
· The size
of each lvol is in KB, not MB. To find the size in MB take 1024 x # MB to reach
the size in KB. Don.
t forget to make the conversion!
· The
minor number of each lvol matches the lvol number. For example lvol3 has a minor
number of 0x03
We want
to do the following to our system.
· Make
lvol1 /stand with a size of 90 MB
· Make
lvol3 / with it. s original size of 200 MB
· Change
all file systems to VxFS except /stand which must be HFS
Since
lvol3 is already assigned to /home we must change /home to a new lvol number.
Since 8 isn. t being used let. s make /home lvol8. This also means we must
change the minor number of /home to 0x08.
Next we
will change lvol1 to be /stand with a size of 90 MB. Then will insert a lvol3
and assign it to / with a minor number of 0x03 and a size of 200 MB. Finally we
will make the appropriate file systems VxFS instead of HFS. You can use
/opt/ignite/bin/instl_adm . T . f config.recover
to check
the syntax.
Here is
what the edited config.recover file will look like.
cfg "HP-UX System Recovery"=TRUE
_hp_saved_detail_level="vfph"
#
# Variable assignments
#
init _hp_root_disk="8/4.8.0"
init _hp_root_grp_disks=1
init _hp_root_grp_striped="NO"
init _hp_pri_swap=524288KB
init _hp_disk_layout="HP-UX save_config layout"
#
# Disk and Filesystems
#
_hp_disk_layout+={"HP-UX save_config layout"}
(_hp_disk_layout=="HP-UX save_config layout") {
# Disk/Filesystem Layout:
volume_group "vg00" {
max_physical_extents=2200
max_logical_vols=255
max_physical_vols=16
physical_extent_size=4
minor_number=0x00
physical_volume disk[_hp_root_disk] {
} # end pv_options
logical_volume "lvol1" {
usage=HFS File system type unchanged
size=92160KB
Size changed to 90 MB
mount_point="/stand" lvol 1 now set
to /stand
minfree=10
file_length=LONG
blksize=8192
fragsize=1024
ncpg=16
nbpi=6329
rotational_delay=0
largefiles=FALSE
bad_block_relocate=false
contiguous_allocation=true
stripes=0
stripe_size=0KB
minor_number=0x01
disk[_hp_root_disk]
} # end logical_volume
logical_volume "lvol2" {
usage=SWAP_DUMP
size=524288KB
bad_block_relocate=false
contiguous_allocation=true
stripes=0
stripe_size=0KB
minor_number=0x02
disk[_hp_root_disk]
} # end logical_volume
logical_volume "lvol3" { lvol 3 is changed to /
usage=VxFS Changed to VxFS
size=204800KB Size of 200 MB
mount_point="/"
minfree=10
file_length=LONG
blksize=8192
fragsize=1024
ncpg=16
nbpi=6329
rotational_delay=0
largefiles=FALSE
bad_block_relocate=false
contiguous_allocation=true
stripes=0
stripe_size=0KB
minor_number=0x03
disk[_hp_root_disk]
} # end logical_volume
logical_volume "lvol6" {
usage=VxFS Changed to VxFS
size=339968KB
mount_point="/usr"
minfree=10
file_length=LONG
blksize=8192
fragsize=1024
ncpg=16
nbpi=6397
rotational_delay=0
largefiles=FALSE
bad_block_relocate=true
contiguous_allocation=false
stripes=0
stripe_size=0KB
minor_number=0x06
disk[_hp_root_disk]
} # end logical_volume
logical_volume "lvol4" {
usage=VxFS Changed to VxFS
size=258048KB
mount_point="/opt"
minfree=10
file_length=LONG
blksize=8192
fragsize=1024
ncpg=16
nbpi=6381
rotational_delay=0
largefiles=FALSE
bad_block_relocate=true
contiguous_allocation=false
stripes=0
stripe_size=0KB
minor_number=0x04
disk[_hp_root_disk]
} # end logical_volume
logical_volume "lvol7" {
usage=VxFS Changed to VxFS
size=163840KB
mount_point="/var"
minfree=10
file_length=LONG
blksize=8192
fragsize=1024
ncpg=16
nbpi=2157
rotational_delay=0
largefiles=FALSE
bad_block_relocate=true
contiguous_allocation=false
stripes=0
stripe_size=0KB
minor_number=0x07
disk[_hp_root_disk]
} # end logical_volume
logical_volume "lvol5" {
usage=VxFS Changed to VxFS
size=32768KB
mount_point="/tmp"
minfree=10
file_length=LONG
blksize=8192
fragsize=1024
ncpg=16
nbpi=2056
rotational_delay=0
largefiles=FALSE
bad_block_relocate=true
contiguous_allocation=false
stripes=0
stripe_size=0KB
minor_number=0x05
disk[_hp_root_disk]
} # end logical_volume
logical_volume "lvol8" { /home is changed to lvol 8
usage=VxFS Changed to VxFS
size=20480KB
mount_point="/home"
minfree=10
file_length=LONG
blksize=8192
fragsize=1024
ncpg=16
nbpi=5884
rotational_delay=0
largefiles=FALSE
bad_block_relocate=true
contiguous_allocation=false
stripes=0
stripe_size=0KB
minor_number=0x08 minor number is 8 match lvol 8
disk[_hp_root_disk]
} # end logical_volume
} # end volume_group "vg00"
} # end "HP-UX save_config layout"
hw_instance_num = 8/4 "ext_bus" 0
hw_instance_num += 8/4.5 "target" 0
hw_instance_num += 8/4.5.0 "disk" 0
hw_instance_num += 8/4.7 "target" 1
hw_instance_num += 8/4.7.0 "ctl" 0
hw_instance_num += 8/4.8 "target" 2
hw_instance_num += 8/4.8.0 "disk" 1
hw_instance_num += 8/16 "ba" 0
hw_instance_num += 8/16/0 "ext_bus" 2
hw_instance_num += 8/16/4 "tty" 0
hw_instance_num += 8/16/5 "ext_bus" 1
hw_instance_num += 8/16/5.0 "target" 3
hw_instance_num += 8/16/5.0.0 "tape" 0
hw_instance_num += 8/16/5.2 "target" 4
hw_instance_num += 8/16/5.2.0 "disk" 2
hw_instance_num += 8/16/5.7 "target" 5
hw_instance_num += 8/16/5.7.0 "ctl" 1
hw_instance_num += 8/16/6 "lan" 0
hw_instance_num += 8/16/7 "ps2" 0
hw_instance_num += 8/20 "ba" 1
hw_instance_num += 8/20/2 "tty" 1
hw_instance_num += 8/20/5 "ba" 2
hw_instance_num += 8/20/5/1 "unknown" -1
hw_instance_num += 32 "processor" 0
hw_instance_num += 34 "processor" 1
hw_instance_num += 49 "memory" 0
release="B.10.20"
#
# System/Networking Parameters
#
_hp_custom_sys+={"HP-UX save_config custom sys"}
init _hp_custom_sys="HP-UX save_config custom sys"
_hp_custom_sys visible_if false
(_hp_custom_sys=="HP-UX save_config custom sys") {
final system_name="m2606jp"
final ip_addr["8/16/6"]="12.30.43.185"
final netmask["8/16/6"]="0xfffff800"
final broadcast_addr["8/16/6"]="12.30.45.255"
final route_gateway[0]="12.30.40.1"
final route_destination[0]="default"
final dns_domain="msr.hp.com"
final dns_nameserver[0]="12.40.100.102"
is_net_info_temporary=FALSE
} # end "HP-UX save_config custom sys"
RECOVERY_MODE=TRUE
_hp_locale = "SET_NULL_LOCALE"
run_ui=FALSE
env_vars +="INST_ALLOW_WARNINGS=10"
sw_source "recovery"{
source_type="MT"
source_format=archive
load_order=0
post_load_script="/opt/ignite/data/scripts/os_arch_post_l"
post_config_script="/opt/ignite/data/scripts/os_arch_post_c"
}
sw_sel "recovery_tape"{
description = "Recovery Archive"
sw_category = "HPUXEnvironments"
sw_source="recovery"
archive_path="1"
archive_type=tar
} = TRUE
sw_source "no select"{
source_format = cmd
}
sw_sel "English" {
description = "English Language Environment"
sw_source = "no select"
sw_category = "Languages"
locale = { "SET_NULL_LOCALE:English", "C:English" }
} = TRUE
post_load_cmd="
if [[ -f /tmp/install.vars ]]; then . /tmp/install.vars; fi
if [[ $RECOVERY_MODE = TRUE ]]; then
cp /stand/vmunix /var/vmunix.makrec &&
cp /var/vmunix.makrec /stand/vmunix
rm -f /var/vmunix.makrec
fi
"
final_cmd="
if [[ -f /tmp/install.vars ]]; then . /tmp/install.vars; fi
if [[ -a /var/tmp/remove ]]; then rm /var/tmp/remove; fi
if [[ -d /var/tmp/removedir ]]; then rm -rf /var/tmp/removedir; fi
/usr/sbin/vgimport -v -m /etc/lvmconf/vg01.mapfile /dev/vg01 \
/dev/dsk/c0t5d0
/usr/sbin/vgchange -a y /dev/vg01
/usr/sbin/vgcfgbackup /dev/vg01
/usr/sbin/vgcfgbackup /dev/vg00
"
After
you are done editing the config.recover file start the creation of your system
recovery tape with
/opt/ignite/bin/make_recovery . r . v
The tape will now be created with the configuration you just specified in the config.recover file. When the system is back up this is what your /etc/fstab file will look like.
# System /etc/fstab file. Static information about the file systems
# See fstab(4) and sam(1M) for further details on configuring devices.
/dev/vg00/lvol3 / vxfs delaylog 0 1
/dev/vg00/lvol1 /stand hfs defaults 0 1
/dev/vg00/lvol4 /opt vxfs delaylog 0 2
/dev/vg00/lvol5 /tmp vxfs delaylog 0 2
/dev/vg00/lvol6 /usr vxfs delaylog 0 2
/dev/vg00/lvol7 /var vxfs delaylog 0 2
/dev/vg00/lvol8 /home vxfs delaylog 0 2
#/dev/vg00/lvol1 / hfs defaults 0 1
#/dev/vg00/lvol3 /home hfs defaults 0 2
/dev/vg01/lvol1 /HPWorld vxfs delaylog 0 2
/dev/vg01/lvol2 /HPWorld1999 vxfs delaylog 0 2
Compare
this to the original /etc/fstab before the system was recovered with the system
recovery tape.
# System /etc/fstab file. Static information about the file systems
# See fstab(4) and sam(1M) for further details on configuring devices.
/dev/vg00/lvol1 / hfs defaults 0 1
/dev/vg00/lvol3 /home hfs defaults 0 2
/dev/vg00/lvol4 /opt hfs defaults 0 2
/dev/vg00/lvol5 /tmp hfs defaults 0 2
/dev/vg00/lvol6 /usr hfs defaults 0 2
/dev/vg00/lvol7 /var hfs defaults 0 2
/dev/vg01/lvol1 /HPWorld vxfs delaylog 0 2
/dev/vg01/lvol2 /HPWorld1999 vxfs delaylog 0 2
Notice
we now have /stand as it. s own lvol. /home has changed to lvol8, / is now lvol3, and
the appropriate file systems are now VxFS. Notice how Ignite-UX even comments
out the original lvols for / and /home. And also take note that the other volume
group vg01 is still configured in the system. So, as you can see all of our
changes were made and we lost no files. This Ignite-UX is a clever program!
Using
Ignite-UX can make the life of any system administrator less stressful! As you
have seen a system can be recovered using the system recovery tape created by
make_recovery. You can also modify the layout of vg00 with Ignite-UX. This paper only
covered the make_recovery aspect of Ignite-UX. Imagine how many more things you
could do when you are using a Ignite-UX server in your environment! Ignite-UX
was engineered and is regularly being updated with new functionality by a team
of Hewlett Packard engineers in Fort Collins, Colorado. Thanks to this team
there will be less time spent recovering and loading systems!
make_recovery(1M)
NAME
make_recovery -
creates a System Recovery Tape
/opt/ignite/bin/make_recovery [-AprvC] [-d destination]
[-b boot_destination_file]
make_recovery
creates a bootable system recovery tape for an LVM or
whole disk system
while it is up and running. When a system has a
logical volume layout,
the recovery tape will only include data from
the root volume group,
plus data from any Non-root volume group
containing /usr. make_recovery is
capable of creating system recovery
tapes for all DDS tape
devices, with the ability to span multiple
tapes. For some systems,
DLT tape devices can be used to create
system recovery tapes
(See DEPENDENCIES).
Root-user privileges are
required to execute make_recovery.
Data which is not in
the root volume group is expected to be backed up
and recovered using
normal backup utilities.
The recovery tape can
be used to:
restore a non-bootable system with little or no user
intervention.
restore a system in the event of a hardware failure of the root
disk or volume group when a disk has to be replaced or gets
corrupted.
Clone software from one system to another when systems are nearly
identical. Most system having nearly identical architectural
characteristics are within the same class (example: K Class HP-UX
systems).
In many cases, make_sys_image and make_medialif may
be
more suitable tools for cloning systems. See WARNINGS section
for more info.
Convert from HFS to VxFS file systems.
Modify root file system size.
Modify primary swap space allocation.
make_recovery makes
use of the installation technology provided by the
Ignite-UX product, and
can be considered a "customized" installation
media. A system can be
recovered by booting and installing from the
tape without user
intervention. All information regarding disk
configuration,
software, and system identity is stored on the tape at
the time that
make_recovery is executed.
The System
Recovery tape consists of three parts:
- A Boot Image (made by make_medialif)
- System Configuration File (produced by save_config)
- OS archive
The contents of the
archive portion of the tape depends on which
command options are
provided. The
archive portion of the recovery
tape can be classified
as:
Core-OS only:
Core-OS consists of:
/.profile, /.rhosts,
/dev, /etc, /sbin,
/usr/bin, /usr/sbin,
/usr/lib, /usr/obam,
/usr/sam, /usr/share,
/usr/ccs, /usr/conf,
/usr/lbin, /usr/contrib,
/usr/local, /usr/newconfig
/var/adm/sw/security, /var/opt/ignite/local/manifest,
/var/adm/sw/products, /var/adm/sw/save,
/var/adm/sw/sessions/swconfig.last,
/var/adm/sw/sessions/swmodify.last,
/var/adm/sw/sessions/swlist.last,
/var/adm/sw/swconfig.log,
/var/adm/sw/getdate.templ,
/var/adm/sw/defaults.patchfilters,
/var/adm/sw/ui/preferences, /var/adm/sw/targets,
/var/adm/sw/software, /var/adm/sbtab,
/var/opt/ignite/recovery,
/var/adm/cron, /var/spool/cron,
/sbin, /dev, /stand,
/opt/ignite/bin/print_manifest,
/opt/ignite/share/man/man1m.Z/print_manifest.1m,
/opt/upgrade, /opt/dce
Generated by: make_recovery
Core-OS and all
Non-Core data on both the root and Non-root volume
groups:
When there is a root volume group and a non-root volume group,
the recovery archive will include all data from both volume
groups if /usr is contained within the Non-root volume group.
Generated by: make_recovery -A
Core-OS and all
Non-Core data on the root volume group:
Non-core data are any files or Non-Core file systems containing
files outside the minimum Core-OS. It is highly likely that the
root volume group will contain Non-Core files and/or filesets.
When this is the case all data under the root volume group can be
archived.
Generated by: make_recovery -A
Core-OS and some
Non-core data on the root volume group:
There are some cases where it may be feasible to archive the
minimum Core-OS, then add some files to the archive without
capturing the entire root volume group. This may be feasible
when only some Non-core data is desired to be included on the
recovery tape, but not all of it.
Generated by:
Editing
the /var/opt/ignite/recovery/makrec.append file before
invoking make_recovery.
Core-OS and some
Non-core data on a Non-core volume group:
It is possible to include data from a Non-Root volume group This
is useful when there is a need to archive filesystem data such as
OmniBack which typically reside in /opt. This fits the model
where there is a need to restore the minimum Core-OS, then pull
in an application that will restore backups in their entirety on
the root and/or Non-Root volume groups. This is only possible
for /var
and /opt
filesystems when they exist on a Non-Root
volume group.
When /usr
is on the Non-Root volume group, any
file, dir, or
product on that volume group can be included in the
archive.
Generated by:
Editing the /var/opt/ignite/recovery/makrec.append file before
invoking make_recovery.
Handling filesystem
data on Non-root volume groups:
Ignite-UX requires that: /, /stand, /sbin, /dev, and /etc reside
on the root disk/volume group.
Ignite-UX allows the following to be outside the root volume
group:
/opt, /var, /home, /tmp and /usr.
volume group, only /usr is cosidered part of the Core-OS.
Therefore, if an attempt is made to archive the entire system,
and
/usr is
contained on a Non-root volume group, that entire
volume group will be included in the recovery archive.
/var and /opt are considered Non-Core OS, because many
Non-Core
applications reside in these locations.
Example Scenario #1:
Filesystem
kbytes used avail %used
Mounted on
/dev/vg01/osdepot 2621440 2530838 84872 97% /osdepot
/dev/vg01/lvol1 480341 58696 373610 14% /var
/dev/vg01/lvol7 378965 297521 43547 87% /usr
/dev/vg01/lvol6 588643 245540 284238 46% /opt
/dev/vg00/lvol3 107669 38577 58325 40% /
/dev/vg00/lvol1 67733 12409 48550 20% /stand
/dev/vg00/lvol4 30597
19
27518 0% /tmp
/dev/vg00/lvol5 19861
1416
16458 8% /home
Consider the example scenario #1
The volume group vg01 contains:
/var, /opt and /usr
The
volume group vg00 contains:
/, /stand, /tmp and /home
If make_recovery (with no options) is invoked, the archive
will
include:
from vg00: /stand, /sbin, /dev, /etc, /tmp, /home
from vg01: parts of /opt and /var (see Core-OS list)
/usr/bin,
/usr/lib
/usr/obam, /usr/sam,
/usr/share, /usr/ccs,
/usr/conf, /usr/lbin,
/usr/contrib,
/usr/local,
/usr/newconfig
If make_recovery -A is invoked, the archive will
include:
from vg00: Everything under the root volume group.
from vg01: Everything on the non-root voume group.
Everything contained within /osdepot will be
included in the recovery archive.
Since /usr is part of the
core, and resides on vg01, the
entire vg01 will be included in the archive.
Example Scenario
#2:
/dev/vg01/osdepot 2621440 2530838 84872 97%
/osdepot
/dev/vg01/lvol1
480341
58696
373610
14% /var
/dev/vg01/lvol6
588643
245540
284238
46% /opt
/dev/vg00/lvol7
378965
297521
43547
87% /usr
/dev/vg00/lvol3
107669
38577
58325
40% /
/dev/vg00/lvol1
67733
12409
48550
20% /stand
/dev/vg00/lvol4
30597 19 27518 0%
/tmp
/dev/vg00/lvol5
19861 1416 16458 8%
/home
Consider example
scenario #2
The volume group vg01
contains:
/var and /opt
The volume group vg00
contains:
/, /stand, /tmp, /home, /usr
If make_recovery is
invoked, the archive will include:
from vg00: /stand, /sbin, /dev, /etc, /tmp, /home
from vg01: parts of /var and /opt (See Core-OS list)
If make_recovery -A is
invoked, the archive will include:
from vg00: /stand, /sbin, /dev, /usr
from vg01: Core portions of /var and /opt. Contents of /osdepot
will not be contained in the archive.
Customizing the
recovery tape:
make_recovery also
provides a mechanism for the user to exclude
selected files from
the archive via the -p and -r options. When
excluding files,
extreme caution should be taken considering that
exclusion of important
files could produce a system that is
unbootable. make_recovery does
not perform any checks to determine
whether or not files
being excluded are crucial in the boot process.
The /var/opt/ignite/recovery/makrec.append file is provided
for the
user to append
selected data files to the archive. This has the
format:
** User Core OS **
file: filename
file: filename
file: filename
dir: dirname
product:
productname
** User Data **
file: filename
file: filename
product: productname
dir: dirname
The headers ** User Core OS **
and ** User Data
** are fixed form.
The file, product, dir keywords
indicate that portions of the OS can
be appended on a per file, directory, or
productname bases.
Files,
products names and/or
directories included under ** User CORE OS **
are included in /var/opt/ignite/recovery/makrec.last, while file,
product, dir contained under
the ** User Data
** portion are not
appended to /var/opt/ignite/recovery/makrec.last. The
/var/opt/ignite/recovery/makrec.last file is used by check_recovery.
Adding
files/directories to the ** User Core OS ** section will
increase the amount of
time required for both tape generation and
check_recovery
execution.
The product tag is
provided to allow a user to append a backup utility
to the System Recovery
tape. This is limited to utilities that have
been installed using
SD (Software Distributor), and follow the SD
guidelines.
Lines starting with
"#" are treated as comments and ignored. Blank
lines are also
ignored.
Re-Creating Recovery
Tapes:
The System Recovery
tape is only as good as the last time it was
created. The tape should be
recreated if the software, hardware,
patches, etc. on the
system are changed. The check_recovery command
can be used to
determine if the system has changed enough that the
tape needs to be
recreated.
To recover a failed
system disk or volume group, the user would
- Insert the System Recovery tape into the tape drive
- boot the system
- interrupt the boot sequence to redirect it to the tape drive
- elect no intervention with ISL
- allow the install process to complete automatically.
Using The Recovery Tape
to Clone
To clone a system disk
or volume group, the user would
- Insert the System Recovery tape into the tape drive
- boot the system
- interrupt the boot sequence to redirect it to the tape drive
- Cancel the non-interactive installation by hitting the return
key when
the following messages are displayed:
WARNING: The
configuration information calls for a non-
interactive installation.
Press <Return> within 10 seconds to cancel batch-mode
installation:
- The
"Ignite-UX Welcome" screen will be presented.
As a "customized" installation is being performed, select the
option
[ Install HP-UX ]
and then the option
[
] Advanced Installation
Then configure/change disks, file systems, hostname, IP address,
timezone, root password, DNS server, and gateway information.
These can also be configured by using /sbin/set_parms
after the
system has been finally re-booted.
- allow the install process to complete.
The system recovery
tape can be used to clone the software on a system
on to another system,
with manual configuration to be performed by the
user during the
interactive installation. Cloning should only be
considered when the
hardware of the systems are nearly identical.
Extracting files from
tape
After the system
recovery tape has been created, a single file or
files can be extracted
from tape by seeking to the tape position where
the archive is
located. The mt
command can be used to seek to the
appropriate location,
and pax or tar can be used to extract files from
the archive.
To extract a single
file from the recovery archive:
mt -t /dev/rmt/0mn fsf 1
tar -xvf /dev/rmt/0m filename
Extracting files from
tape can take a long time, especially when
archives are
large.
Options
make_recovery
recognizes the following options:
logged to /var/opt/ignite/logs/makrec.log1.
-A
Specifies that the entire root disk/volume group
is to be included in the System Recovery tape.
This creates a complete bootable backup of the
disk or volume group.
In the case of large root disks or volume groups,
or when other utilities are used for normal
backups, this option should not be used. Instead,
the default minimum core OS should be backed up,
to recover a minimum system, and then the full
recovery
should be done from the backups.
-p
Previews what processing would take place, without
actually creating the tape. This is a way of
verifying /var/opt/ignite/recovery/makrec.append,
and getting /var/opt/ignite/recovery/arch.include
created. The latter file determines what goes into
the archive. This file can be edited to exclude
some
files/directories from the archive if desired
by deleting them from the file. Only files or
directories that are known to be user created
should be deleted. The -p option can also be used
to modify the
/var/opt/ignite/recovery/config.recover file, to
add final commands or change basic configurations
like converting from HFS to JFS. No further
checks are done by make_recovery. The creation of
the System Recovery tape can then be resumed using
the -r
option.
-r
Resumes creation of the
System Recovery tape after
the -p
option has been used to create
/var/opt/ignite/recovery/arch.include, and it has
been possibly edited. The -r option also resumes
creation of the recovery tape after the
/var/opt/ignite/recovery/config.recover file has
been edited.
If the -A
and -r options
are both
used, the -A option will override the -r option,
and the entire root disk/volume group will be
backed up.
-v
Specifies verbose mode that displays progress
messages.
-d destination Specifies the device file of a DDS or DLT
tape
drive where the System Recovery Tape is to be
created.
A no-rewind device file is required. The
default is /dev/rmt/0mn.
-b boot_destination_file
Specifies the temporary location where the LIF
volume will be assembled before it is written to
tape. The default directory is
/var/tmp/uxinstlf.recovery.
At least 32 Mb is
required in the directory where the LIF volume
will be assembled. The LIF volume and other
temporary files required by make_medialif(1M) will
be assembled in the directory specified and then
removed after the recovery process completes.
-C
Create the System status file
/var/opt/ignite/recovery/makrec.last. This file
reflects the current state of the system. It
contains the names, dates of last modification,
and checksums of all the files on the tape that
are considered "Core OS" files. It may also
contain the file information for the user files
specified in the
/var/opt/ignite/recovery/makrec.append file if the
file exists. This option would be used if the user
plans to use check_recovery to determine if the
system has been changed such that the System
Recovery tape needs to be recreated.
EXAMPLES
To create a Core-OS
System Recovery tape at /dev/rmt/0mn. This tape
includes only the
minimum OS required to boot the system. A system
recovery from this
tape would mean booting from the tape to recover
the minimum Core OS,
and then following up with a user data recovery
from normal backup
media.
make_recovery
To create a Minimum OS
System Recovery tape at /dev/rmt/c0t1d1BESTn
(assuming a writable
DDS tape is in the drive pointed to by
/dev/rmt/c0t1d1BESTn.) User data recovery is done as
described above.
make_recovery -d /dev/rmt/c0t1d1BESTn
To preview the
creation of a System Recovery tape at
/dev/rmt/c0t1d1BESTn (assuming a writable DDS tape is in
the drive
pointed to by /dev/rmt/c0t1d1BESTn), review the list of files that
will be included in
the archive, possibly modify the list, and then
subsequently continue
the creation.
make_recovery
-p -d /dev/rmt/c0t1d1BESTn
vi /var/opt/ignite/arch.include
make_recovery -r -d /dev/rmt/c0t1d1BESTn
To create a System
Recovery tape, at the default device /dev/rmt/0mn,
and include the entire
root disk in the archive.
make_recovery
-A
To create a System
Recovery tape that
- includes the entire root file system in the disk,
- adds the file /mnt/fileA as a users system file,
-
adds the data directory /mnt/dirB to the archive as non-system
data.
(assuming that /mnt is mounted on the same volume group as
the core File Systems),
- creates the system status file.
Edit the /var/opt/ignite/recovery/makrec.append file to
include:
** User Core OS **
file: /mnt/fileA
** User Data **
dir: /mnt/dirB
Then issue the
command:
make_recovery
-v -C
To clone a system,
create the System Recovery tape.
make_recovery -v -A
Install it on the new
system. Invoke the user interface by hitting any
key during the 10
second interval given for this purpose during the
installation.
Configure the hostname, IP address, root password etc.
using the "system"
screen of the user interface.
The installation can
be non-interactive if the systems have identical
hardware
configurations.
When this is the case, the hostname and IP
addresses should be
changed.
If the system is
installed non-interactively, immediately run
/sbin/set_parms to
configure the new hostname, IP address etc for the
system. This method is
not recommended. (See WARNINGS).
same as that of the
original system, the normal user interface for
installation will be
presented, and the user has the opportunity to
provide the
configuration information via the "system" and
"filesystem" installation
configuration screen.
WARNINGS
Importing Volume
Groups
Logical volumes which
are unmounted will not be imported using
vgimport by
make_recovery. Unmounted volume groups must be imported by
the user after
recovery completes.
When a user interrupts
the automatic installation, or is forced into
interactive mode
because of differences in hardware or networking
configurations,
recovery mode is set to false. When this happens the
following files are
modified by the installation process, and the
original files become
altered. See
/opt/ignite/data/scripts/os_arch_post_l and
/opt/ignite/data/scripts/os_arch_post_c.
Following is the list
of files that are changed when a user performs
interactive
installations using the make_recovery tape:
/etc/fstab,
/etc/hosts, /etc/resolv.conf, /etc/rc.config.d/netconf,
/etc/rc.config.d/namesvrs,
/etc/ioconfig,
/stand/ioconfig, /etc/eisa/system.sci,
/var/adm/sw/security/_ACL, /var/adm/sw/security/_OWNER,
/var/adm/sw/security/_PROD_DFLT_ACL,
/var/adm/sw/security/_SOC_DFLT_ACL,
/var/adm/sw/security/secrets, /var/adm/sw/defaults,
/var/opt/ignite/local/manifest/manifest,
/var/opt/ignite/local/manifest/manifest.info,
/var/opt/ignite/local/manifest/manifest.oinfo,
/var/opt/ignite/local/manifest/manifest.orig,
/var/opt/ignite/local/manifest/manifest.seed,
/opt/ignite/bin/print_manifest,
/opt/ignite/share/man/man1m.Z/print_manifest.1m
These
files/directories are removed:
/var/adm/crash,
/etc/dhcpclient.data
make_recovery
relies on the Installed Products Database (IPD) to
extract files relevant to a
product added to the System Recovery tape
via the "product" tag
in the append file. It is only as reliable as
the IPD. Only products
installed via SD (Software Distributor) are
logged into the IPD. It is also necessary
that the SD commands be
used to add, modify,
remove these products, so that the IPD is
correctly updated to
reflect these changes.
If there is any
possibility that the
product has been manipulated without using SD, or
that the products'
installation/configuration scripts are not
modifying the IPD
reliably, then it is better to set up
/var/opt/ignite/recovery/makrec.append with all the
filenames for the
product as a one time
effort.
Cloning
The primary purpose
of make_recovery is to create a system recovery
tape, which is used to
later restore that same system back to its
previous state. make_recovery is
not a generic cloning tool. It can
be used to clone only
systems with similar characteristics, such as
kernel, drivers and
i/o devices.
When cloning is the objective,
make_recovery isn't
always the ideal tool, since the OS archives are
specific to the
machine the tape was created on. The cloning
capabilities of
make_recovery have only been tested only for systems
within the same class.
To create generic archives to be used across a
wider range of
systems, make_sys_image and make_medialif
should be
used.
If the System Recovery
tape is used to clone the software on another
system, the newly
installed system will have the same hostname and IP
address as the
original system. These should be immediately changed
using /etc/set_parms. Introducing a second system into the
network
with the same hostname
or IP address will cause networking problems.
The -p and -r options can be
used to exclude some NON-OS
files/directories from
the System Recovery archive. These should only
be used by
knowledgeable System Administrators as excluding required
files/directories from
the boot tape could render it useless.
make_recovery does
survey the files attempting to be excluding to
determine whether
these files are crucial to the boot process.
Exclusion of important
files could cause the system to be un-bootable,
which renders the
recovery tape useless.
Large UID/GIDs and
Large Files:
On systems that
support Large UID/GIDs or Large Files (>2GB), the
System Recovery tape
should be created for only the Minimum OS, and
remaining user data
recovered from Normal Backup Media that support
these features. make_recovery does
not directly support these
features since pax (used to
generate the archive) does not support
make_recovery
creates recovery tapes for all DDS tape devices. This
includes DDS1, DDS2,
and DDS3. If
the recovery tape will be used on a
system other then the
one it was created on, that system should have
the same kind of DDS
drive. It is
safe to use a DDS3 tape device if
the tape will only be
used to recover that system or others with DDS3
tape devices. To maximize
performance, DDS3 devices must be used
along with DDS3
tapes. When
portable tapes are needed, it is best to
use mksf to create DDS1
device files, so that the tape can be used on
any DDS device.
The make_recovery tool
will create a recovery tape for a system with
mirrored disks but it
will not preserve the mirrored disk
configurations. Using
make_recovery -p
allows appending commands to
restore mirrored disk
to be executed automatically after the system
has been restored.
NOTES
If a Non-Root disk is
corrupted, it should be recovered from normal
backups.
/usr is always
recreated during the installion process. Therefore,
any volume group which
containes /usr
will be included in the recovery
archive.
If /opt and /var are mounted on
the root volume group, these can
either be included in
the System Recovery archive, or recovered from
normal backups after
the system is brought up.
/opt and /var tend to grow large, and are occasionally mounted on
a
separate disk or in a
Non-Root volume group. In such cases, it is
essential that the
user data on these disks should not be "wiped out"
during the process of
reinstalling the root disk/volume group. Some
files from these file
systems are required for Ignite-UX processing
and make_recovery would
automatically include them in the archive.
Other files from these
file systems can be included in the archive for
cloning purposes, but
if the same system is being recovered, the files
will not be restored
onto these file systems. These file systems will
be left unaltered.
If the disks on the
system have been changed, the install process can
detect that the
hardware is different, and starts up the install user
interface to allow
changes to the configuration. If the hardware
configuration is the
same, the installation can complete non-
interactively.
The user can also
elect to invoke the user interface by hitting any
key during the 10
second interval given for this purpose during the
installation. The user can then
make configuration choices, but the
archives will be
recovered in a manner similar to a cold install. The
software, data files
and so forth will be recovered, but the user will
manually complete the
configuration of hostname, IP address, DNS
server, date and time,
root password. The /etc/fstab and /etc/hosts
files will have to be
re-created. A copy of the original /etc/fstab
file is saved in /var/opt/ignite/recovery/fstab for reference.
All of the above
files/directories are included in the archive as
default.
DEPENDENCIES
make_recovery requires that the following filesets of the Ignite-UX
product be installed
on the system.
Ignite-UX.BOOT-KERNEL
Ignite-UX.BOOT-SERVICES
Ignite-UX.FILE-SRV-release
Ignite-UX.MGMT-TOOLS
Ignite-UX.IGNT-ENG-A-MAN
For 10.x systems, the
current patch for pax that fixes problems with
hardlinks is
required.
V-Class systems
require the appropriate firware upgrade. Contact your
local HP
representative about firmware upgrades.
DLT boot support works
for systems that use the HSC SCSI cards. K and
D class systems that
utilize the HSC bus will boot from DLT. V-Class
systems that use the
PCI bus will boot from DLT. T,E,G, and H class
systems do not boot
from DLT devices.
FILES
/var/opt/ignite/recovery/makrec.append
User created file for appending
files/directories/products to the System Recovery
archive.
/var/opt/ignite/local/install.log
Installation
Log reporting results of installation
from tape media. When a recovering from tape, the
results from the actual installation are captured
in this log file.
/var/opt/ignite/logs/makrec.log1
Progress and error log.
/var/opt/ignite/logs/makrec.log2
Archive content log.
/var/opt/ignite/recovery/makrec.last
System status file created with the -C option.
This file will be used by check_recovery for
system validation.
/var/opt/ignite/recovery/arch.include
List of files to be included in the System
Recovery archive.
/var/opt/ignite/recovery/chkrec.include
List of files that will be validated by
check_recovery.
/var/opt/ignite/recovery/config.recover
File that describes the System configuration.
/var/opt/ignite/recovery/fstab
A copy of the current /etc/fstab file for
reference in case the Interactive mode was used,
causing the /etc/fstab file to be re-created.
/var/tmp/uxinstlf.recovery
Default temporary location for Boot LIF volume
creation.
/opt/ignite/data/scripts/os_arch_post_l
post_load scripts which runs when booting from the
recovery tape.
Saves away important files that
get altered by recovery process.
/opt/ignite/data/scripts/os_arch_post_c
post_load script which runs when booting from the
recovery tape. Restores important files that get
altered by recovery process.
SEE ALSO
pax(1), instl_adm(5),
ignite(5), check_recovery(1M),
copy_boot_tape(1M),
instl_adm(1M), make_medialif(1M),
make_sys_image(1M),
save_config(1M).