 |
» |
|
|
 |
A rolling upgrade updates the software on one cluster member at a time. To support two versions of software within the cluster during a roll, clu_upgrade creates a set of tagged files in the setup stage. A tagged file is a copy of a current file with .Old.. prepended to the copy filename, and an AdvFS property (DEC_VERSION_TAG) set on the copy. For example, the tagged file for the vdump command is named /sbin/.Old..vdump. Because tagged files are created in the same file system as the original files, you must have adequate free disk space before beginning a rolling upgrade. Whether a member is running on tagged files is controlled by that member's sysconfigtab rolls_ver_lookup variable. The upgrade commands set the value to 1 when a member must run on tagged files, and to 0 when a member must not run on tagged files. If a member's sysconfigtab rolls_ver_lookup attribute is set to 1, pathname resolution includes determining whether a specified filename has a .Old..filename copy and whether the copy has the DEC_VERSION_TAG property set on it. If both conditions are met, the requested file operation is transparently diverted to use the .Old..filename version of the file. Therefore, if the vdump command is issued on a member that has not rolled, the /sbin/.Old..vdump file is executed; if the command is issued on a member that has rolled, the /sbin/vdump file is executed. The only member that never runs on tagged files is the lead member (the first member to roll).  |  |  |  |  | Note: File system operations on directories are not bound by this tagged file restraint. For example, an ls of a directory on any cluster member during a rolling upgrade lists both versions of a file. However, the output of an ls -ail command on a member that has not rolled is different from the output on a member that has rolled. In the following examples the ls -ail command is run first on a member that has not rolled and then on a member that has rolled. (The awk utility is used to print only the inode, size, month and day timestamp, and name of each file.) The following output from the ls command is taken from a cluster member running with tags before it has rolled. The tagged files are the same as their untagged counterparts (same inode, size, and timestamp). When this member runs the hostname command, it runs the tagged version (inode 3643). # cd /sbin
# ls -ail hostname .Old..hostname ls .Old..ls init .Old..init |\
awk '{printf("%d\t%d\t%s %s\t%s\n",$1,$6,$7,$8,$10)}`
3643 16416 Aug 24 .Old..hostname
3648 395600 Aug 24 .Old..init
3756 624320 Aug 24 .Old..ls
3643 16416 Aug 24 hostname
3648 395600 Aug 24 init
3756 624320 Aug 24 ls |
The following output from the ls command is taken from a cluster member running without tags after it has rolled. The tagged files now differ from their untagged counterparts (different inode, size, and timestamp). When this member runs the hostname command, it runs the non-tagged version (inode 1370). # cd /sbin
# ls -ail hostname .Old..hostname ls .Old..ls init .Old..init |\
awk '{printf("%d\t%d\t%s %s\t%s\n",$1,$6,$7,$8,$10)}`
3643 16416 Aug 24 .Old..hostname
3648 395600 Aug 24 .Old..init
3756 624320 Aug 24 .Old..ls
1187 16528 Mar 12 hostname
1370 429280 Mar 12 init
1273 792640 Mar 12 ls |
|  |  |  |  |
After you create tagged files in the setup stage, we recommend that you run any administrative command, such as tar, from a member that has rolled. You can always run commands on the lead member because it never runs on tagged files. The following rules determine which files have tagged files automatically created for them in the setup stage: Tagged files are created for inventory files for the following product codes: base operating system (OSF), TruCluster software (TCR), and Worldwide Language Support (IOS). (The subsets for each product use that product's three-letter product code as a prefix for each subset name. For example, TruCluster software subset names start with the TruCluster software three-letter product code: TCRBASE510, TCRMAN510, and TCRMIGRATE510.) By default, files that are associated with other layered products do not have tagged files created for them. Tagged files are created only for layered products that have been modified to support tagged files during a rolling upgrade.
The clu_upgrade command provides several tagged command options to manipulate tagged files: check, add, remove, enable, and disable. When dealing with tagged files, take the following into consideration: During a normal rolling upgrade you do not have to manually add or remove tagged files. The clu_upgrade command calls the tagged commands as needed to control the creation and removal of tagged files. If you run a clu_upgrade tagged command, run the check, add, and remove commands on a member that is not running on tagged files; for example, the lead member. You can run the disable and enable commands on any member. The target for a check, add, or remove tagged file operation is a product code that represents an entire product. The clu_upgrade tagged commands operate on all inventory files for the specified product or products. For example, the following command verifies the correctness of all the tagged files created for the TCR kernel layered product (the TruCluster software subsets): # clu_upgrade tagged check TCR |
If you inadvertently remove a .Old.. copy of a file, you must create tagged files for the entire layered product to re-create that one file. For example, the vdump command is in the OSFADVFSxxx subset, which is part of the OSF product. If you mistakenly remove /sbin/.Old..vdump, run the following command to re-create tagged files for the entire layered product: # clu_upgrade tagged add OSF |
The enable and disable commands enable or disable the use of tagged files by a cluster member. You do not have to use enable or disable during a normal rolling upgrade. The disable command is useful if you have to undo the setup stage. Because no members can be running with tagged files when undoing the setup stage, you can use the disable command to disable tagged files on any cluster member that is currently running on tagged files. For example, to disable tagged files for a member whose ID is 3: # clu_upgrade tagged disable 3 |
The enable command is provided in case you make a mistake with the disable command.
|