Page Numbers: Yes X: 527 Y: 10.5" First Page: 72
Columns: 1 Edge Margin: .4" Between Columns: .4"
Margins: Top: 1.3" Bottom: 1"
Line Numbers: No Modulus: 5 Page-relative
Odd Heading:
Maxc OperationsBSYS Operation
Even Heading:
BSYS OperationMaxc Operations
19. BSYS OPERATION
This section describes normal operating procedures for backup and archiving by means of BSYS. Further information on BSYS commands may be obtained from the document "BSYS - Tenex Backup System" by Smokey Wallace, a copy of which is kept in the Maxc room book case.
The procedures are identical for Maxc1 and Maxc2, with the exception that archiving is not presently supported on Maxc2. Separate sets of backup disk packs are used for the two systems.
One should be aware of what procedures can and cannot be performed simultaneously. Only one dump of any kind (incremental or full dump, archiving, or backup to tape) can be in progress at a time. However, it is ok to perform archive retrieval (or retrieval of files from backup) at the same time as a dump. Of course, since Maxc1 and Maxc2 are independent systems, there are no restrictions relating to simultaneous Bsys operations on the two systems.
19.1. Backup Procedures
A full dump of the file system is performed approximately once a month, and incremental dumps every weekday, onto disk packs mounted on auxiliary drives. At present, the backup packs consist of two sets of packs for full dumps and enough packs for incremental dumps to last about a month. Successive full dumps alternate between the two sets of full dump packs, and the incremental dump packs are then recycled until they are all rewritten with data more recent than the last full dump, at which point it is necessary to perform another full dump. This procedure ensures that (1) if the file system is wiped out, it will be possible to restore it to its state at the time of the last incremental dump, and (2) if a user loses a file and notices its loss within one month, it will be recoverable.
In addition to full and incremental dumps, a full backup to tapes is performed once every three months and the tapes stored in Building 34. This provides backup in case of a catastrophe such as a fire in the machine room.
BSYS is organized around the use of tapes as the backup medium. Disk packs have been interfaced to BSYS at a very low level, with the result that most of BSYS still thinks it is dealing with tapes. The backup packs are laid out in a manner that allows several logical "tapes" to be stored on each one. Every such "tape" has a "tape number" (just as with real tapes) whose format is "xxxyy", where xxx is the pack number and yy is the logical "tape" number (or "dump number") on that pack. Hence, "Parc tape number 21402" means the second dump on pack number 214.
When a full dump is performed, each pack contains a single logical "tape", since every pack except the last is completely filled by its respective portion of the full dump. An incremental dump, on the other hand, typically fills somewhat less than one pack. Hence it is possible to write incremental dumps for several successive days onto a single pack. When a pack becomes full, the last incremental dump will usually be split between the last logical "tape" on that pack and the first "tape" on the next pack. This is ok since each "tape" has its own directory and is completely self-contained. (However, the last incremental dump pack should not be allowed to overflow for obvious reasons.)
A record of usage of full and incremental dump packs is posted on the Maxc room bulletin board. It should be kept up to date.
19.2.Incremental Dumps
Every working day, an incremental dump should be performed, preferably during periods of light Maxc load (e.g. before 8 am or after 5 pm). The procedure is as follows.
1.Consult the "Incremental Dumps" chart to determine the pack currently being used for incremental dumps. Mount that pack on any free drive. Wait for it to be on-line before starting BSYS.
2.Login as someone with "wheel" or "operator" capabilities and execute the following procedure (user typein is underlined):
@ENABLE password <cr>
!CONNECT BSYS <cr>
!BSYS <cr>
TENEX BSYS 4.03 23-MAY-75
*INC<esc>REMENTAL DUMP (CHANGED FILES) <cr>
Dump since t&d? No <cr>
Entire file system? Yes <cr>
3.You will now be asked to "Enter backup device (mtan:, dpkn:)". Here you should enter DPKn, where n is the unit number (drive A is unit 0, B is unit 1, ... H is unit 7). Then you will be asked for the pack number. When you supply this, BSYS will attempt a Tenex "Mount" of the pack. Assuming this is successful, one or more of the following things will happen:
a)"Pack has no home block. Do you want to initialize the home block?" This should happen only for a freshly-initialized pack, i.e. one that has not been used for backup before. Since all our backup packs have been used many times, you should not see this question.
b)"Home block type is xxxxx. Do you want to initialize the home block?" The mounted pack has been used for some other purpose and should probably not be used as a backup pack. (This is especially true if xxxxx is "TENEX"!)
c)"n dumps already written on this pack", followed by a list of the dates and times of the dumps, followed by "Do you want to overwrite these dumps?" If you are appending to the pack that was used in the previous day’s incremental dump (i.e. the most recent date printed out is yesterday), you should answer "No". If you are recycling a pack from the previous month (i.e. the dates printed are on the order of a month ago), you should answer "Yes".
d)If the number of free pages on the pack is less than 2000 and you answered "No" to the question about overwriting existing dumps, BSYS will say "Insufficient room for more dumps" and will ask you to mount another pack (on the same drive). The reason for this check is to ensure that it will be possible to write the file <SYSTEM>DIRECTORY on the first logical "tape" of this dump.
4.BSYS will then ask "Listing to file:". We keep incremental dump listings on the BSYS directory in files named BSYS/mm-dd-yy.INC, where mm-dd-yy is today’s date. So you should respond with, for example, "BSYS/7-25-75.INC<cr>".
5.Finally, BSYS will ask you to "Enter tape id:". You should respond with the same string as you gave for the listing filename, e.g. "BSYS/7-25-75.INC<cr>".
6.The dump should now proceed. BSYS prints a summary of files and pages dumped for each directory (more detailed information is sent to the listing file).
7.If the pack becomes full, BSYS will once again request you to "Enter backup device (dpkn:, mtan:)". You should dismount the pack, mount the next incremental dump pack, and repeat step 3 above. In this case, you should always answer "Yes" to the question "Do you want to overwrite these dumps?" since you are recycling an old incremental dump pack. Be sure to update the chart on the bulletin board.
8.When the incremental dump is finished, BSYS will type an asterisk. The last step of the daily backup procedure is to do an "Expunge" on all directories:
*QUIT <cr>
!DISCUSE <cr>
SYSTEM TOTAL: 6679 PAGES LEFT, 129401 USED
!EXPFILES <cr>
[Long pause while expunges are done]
!DISCUSE <cr>
SYSTEM TOTAL: 9475 PAGES LEFT, 126705 USED
!
9.Tear off the listing and put it in the filing cabinet. (Fanfold to 8.5" x 11" for filing.)
10.Occasionally you should delete obsolete incremental dump listing files, i.e., ones for dumps that have been overwritten. This is most conveniently done using the program DELBSYSINC (on the BSYS directory). It requests a date and deletes all files of the form BSYS/mm-dd-yy.INC in which mm-dd-yy is earlier than the date specified.
19.3. Full Dumps
The full dump procedure takes 6 to 8 hours depending on load, so it is usually run during the day (unless you plan to be at Parc all night anyway).
1.Consult the "Full Dumps" chart and select the least recently used set of full dump packs. Be sure to update the chart. Mount the first pack on any free drive. Wait for it to be on-line before starting BSYS.
2.Login as someone with "wheel" or "operator" capabilities and execute the following procedure (user typein is underlined):
@ENABLE password <cr>
!CONNECT BSYS <cr>
!BSYS <cr>
TENEX BSYS 4.03 23-MAY-75
*FULL<esc> DUMP (ENTIRE FILE SYSTEM) <cr>
3.You will now be asked to "Enter backup device (mtan:, dpkn:)". Here you should enter DPKn, where n is the unit number (drive A is unit 0, B is unit 1, ... H is unit 7). Then you will be asked for the pack number. When you supply this, BSYS will attempt a Tenex "Mount" of the pack. Assuming this is successful, one or more of the following things will happen:
a)"Pack has no home block. Do you want to initialize the home block?" This should happen only for a freshly-initialized pack, i.e. one that has not been used for backup before. Since all our backup packs have been used many times, you should not see this question.
b)"Home block type is xxxxx. Do you want to initialize the home block?" The mounted pack has been used for some other purpose and should probably not be used as a backup pack. (This is especially true if xxxxx is "TENEX"!)
c)"n dumps already written on this pack", followed by a list of the dates and times of the dumps, followed by "Do you want to overwrite these dumps?" The dates printed out should be aproximately two months old. Since you are re-using a full dump pack, you should answer "Yes" to this question.
4.BSYS will then ask "Listing to file:". We keep full dump listings on the BSYS directory in files named BSYS/mm-dd-yy.FULL, where mm-dd-yy is today’s date. So you should respond with, for example, "BSYS/7-25-75.FULL<cr>".
5.Finally, BSYS will ask you to "Enter tape id:". You should respond with the same string as you gave for the listing filename, e.g. "BSYS/7-25-75.FULL<cr>".
6.The dump should now proceed. BSYS prints a summary of files and pages dumped for each directory (more detailed information is sent to the listing file).
7.When the pack becomes full, BSYS will once again request you to "Enter backup device (dpkn:, mtan:)". You should dismount the pack, mount the next full dump pack, and repeat step 3 above.
8.When the full dump is finished, BSYS will type an asterisk. The last step of the monthly backup procedure is to do an "Expunge" on all directories:
*QUIT <cr>
!DISCUSE <cr>
SYSTEM TOTAL: 6679 PAGES LEFT, 129401 USED
!EXPFILES <cr>
[Long pause while expunges are done]
!DISCUSE <cr>
SYSTEM TOTAL: 9475 PAGES LEFT, 126705 USED
!
9.Tear off the listing and put it in the filing cabinet. (Fanfold to 8.5" x 11" for filing.)
10.Delete the listing file for the full dump that has just been overwritten.
19.4. Full Backup to Tape
The procedure for backup to tape, performed quarterly, is identical to the full dump procedure with the following exceptions:
1.The first command issued to BSYS should be "BACKUP" rather than "FULL".
2.The answer to "Enter backup device (mtan:, dpkn:)" should be MTAn, where n is the tape unit on which the backup tape is mounted.
3.The listing file should be BSYS/mm-dd-yy.BACKUP. After completion of the dump, this file should be printed in a small font (Gacha6R90) and then deleted.
19.5. Continuing Interrupted Dumps
BSYS records its state at the beginning of each logical "tape". If Maxc crashes in the middle of a dump, this information may be used to restart the dump at the appropriate point. The procedure is as follows:
1.Do not change packs or tapes, even if the dump began on a pack or tape different from the one currently mounted.
2.Start BSYS and issue the "Continue Dump" command. Your responses to the questions "Enter backup device" and the ones that follow should be the same as the answers you most recently gave to the same questions.
3.BSYS will print "Restarting at user xxxxx" and resume the dump (incremental, full, or backup).
19.6. Restoring Files from Backup
Individual files may be restored from backup packs by the following procedure.
1.Determine where the file was written, by poking around in the listing files (.FULL and .INC). When you have located in the listing file the name of the file to be restored, go up to the top of the page to find the "Parc tape number", which will be in the form xxxyy, where xxx is the pack number and yy the dump number as previously explained.
2.Mount the pack so determined on an auxiliary drive.
3.Go through the following dialogue (xxx and yy are the numbers determined above):
@ENABLE password <cr>
!BSYS <cr>
TENEX-BSYS 4.03 25-MAY-75
*RES<esc>TORE FILES (FROM TAPE) <cr>
Enter backup device (mtan:, dpkn:) DPKn <cr>
Mount pack number: xxx <cr>
Pack xxx mounted
n dumps already written on this pack
[Listing of dump numbers and dates]
nnn free pages
Enter dump # yy <cr>
Listing to file: TTY: <cr>
Mounting tape directory
4.BSYS will now prompt you with "Restore DPKn:", to which you should respond with the full filename to be restored (including directory). Editing and recognition may be used and "*" may appear in any field; however, BSYS’s filename logic is not as good as Tenex’s, and you should be careful to specify a complete filename (including version) before hitting carriage return.
5.After restoring the specified file(s), BSYS will again prompt with "Restore DPKn:", and further files in the same dump on the same pack may be restored. When you have no more files to restore, hit Delete.
19.7. Restoring the Entire File System
This is the procedure to be followed if the file system has been wiped out and it is necessary to restore it from backup.
1.Load Tenex using Micro-Exec, go into EDDT, set DBUGSW to 2, and start the system at SYSLOD. To the question "Do you really want to clobber the disc by re-initializing?" answer "Y". After some amount of churning and various error messages ("No SYSJOB", "No EXEC", etc.) you will end up in the Mini-Exec.
2.A copy of BSYS is kept on Save Area 4, so to load and start it:
.Load program from area 4.
.Start.
TENEX-BSYS 4.03 25-MAY-75
*
3.Consult the summary from the most recent incremental dump to determine the logical "tape" on which that dump started. This is in the form xxxyy, where xxx is the pack number and yy the dump number on that pack. Mount the pack. Note that this might not be the current incremental dump pack. (If there have been no incremental dumps since the most recent full dump, then just mount the first pack of that full dump.)
4.Go through the following dialogue:
*RES<esc>TORE FILES (FROM TAPE) <cr>
Enter backup device (mtan:, dpkn:) DPKn <cr>
Mount pack number: xxx <cr>
Pack xxx mounted
n dumps already written on this pack
[Listing of dump numbers and dates]
nnn free pages
Enter dump # yy <cr>
Listing to file: NIL: <cr>
Mounting tape directory
Restore DPKn: <*>*.*;* <cr>
Create users? Yes <cr>
Creating users...
Bypass restore checks? No <cr>
5.BSYS first obtains a copy of the <SYSTEM>DIRECTORY that was written in this dump. This directory is used to control what files get restored from this and all other backup packs, and is also used to restore the correct file attributes. This is why it is important that the first dump restored be the first logical "tape" of the most recent incremental dump.
6.BSYS now restores all appropriate files from the dump, then asks "More tapes?" to which you should answer "Y". You should now specify the previous dump on the same pack, or the last dump on the previous pack. You must restore all the dumps on each of the most recent full dump packs and on each of the incremental dump packs more recent than the last full dump. It is essential that the incremental dumps be restored in reverse chronological order, and that all incremental dumps be restored before any full dump.
7.When all files have been restored, answer "N" to "More tapes?"; then give the "Quit" command to exit BSYS and the Mini-Exec "Halt Tenex" command to stop the system. Now reload and start Tenex in the normal fashion.
BSYS also has a "RELOAD DIRECTORIES" command that may be used to restore the entire contents of one or more user directories from backup, but less than the entire system. You should start by reloading the first pack of the most recent incremental dump, just as for the full restore.
19.8. Archive Procedures
When users request that files be archived, the files are simply marked for archiving. Twice a week (generally on Monday and Thursday), BSYS is run to archive these files onto two different tapes and then delete the files from disk (if appropriate). At any given moment, there are two "current" archive tapes. Files from successive weeks are appended onto these tapes until they become full. The tapes then have their write rings removed and are kept "forever", and new tapes are used for further requests.
The effect of archiving a file twice is obtained by simply running the archive system twice, once with the first "current" tape mounted and once with the second. Generally, both tapes will end up containing the same information. However, occasionally a user will make a new request between the first archive run and the second. In this case, the file gets archived for the first time on the second tape and for the second time on the first tape next week. Hence the archive tapes may not be simply copies of each other.
When a user requests that an archived file be retrieved, the retrieval request is recorded in two places. File <SYSTEM>RETRIEVE-REQUESTS.TXT is a human-readable text file containing all relevant information (filename, tape numbers, requesting user, etc.) This file is deleted once a week. File <SYSTEM>RETRIEVE-REQUESTS.BINARY contains the same information in a form readable by BSYS. Every working day, BSYS is run to process accumulated retrieval requests and restore archived files from tape to disk.
19.9. Organization of the Archive Tapes
The archive tapes are consecutively numbered starting at 700.1 First and second archive tapes are paired. Each tape is labelled with an identifier such as "BSYS/7-21-75.ARC/1" or "BSYS/7-21-75.ARC/2", where the date specified is the starting date for that tape, and the trailing digit distinguishes the first archive tape from the second. When an archive tape is full, the date on which it became full is also written on the label, and the write ring is removed. (Actually, we usually do this before the tape has become completely full so as to avoid having archive runs split across two tapes. However, no harm arises if this occurs.)
The tape is also marked with the tape unit on which it was written. When possible, files should be appended to a tape using the same drive on which the tape was first written, and first and second archive tapes should be written on different drives.
19.10. Archiving Files to Tape
Twice a week (preferably Monday and Thursday), the following procedure should be followed to write files onto the archive tapes. User typein is underlined.
1.If the newest "first archive" tape (marked ".ARC/1") is not full (i.e. has no ending date), make sure there is a write ring in it and mount it on the drive noted on the label. If it is full, mount the first unused tape on unit 2 (if possible).
2.Login as yourself (assuming you are a wheel or operator; otherwise login as SYSTEM) and go through this dialogue:
@ENABLE password <cr>
!BSYS <cr>
TENEX BSYS 4.03 23-MAY-75
*ARC<esc>HIVE (USER FILES) <cr>
Archival period (days) = 999999 <cr>
Listing only? No <cr>
Listing to file: LPT: <cr>
------------------------------
1Tape number 999 was used on 6-28-79. At this point old tapes were scrounged up and the sequential numbering system went to pot. Tapes numbered 671 through 687 cover the period 6-28-79 to 8-28-79. Tapes numbered 039 through 540 cover the period 9-2-79 to 6-26-80. At this point new tapes were purchased and put into use. They are numbered consecutively from 1001 through 1098.
Entire file system? Yes <cr>
List to users? Yes <cr>
Preface with special message? No <cr>
Enter backup device (mtan:, dpkn:) MTAn <cr>
Density (n=800, p=1600): P
3.BSYS will now ask "New tape?". If you have mounted a new tape, answer "Yes"; BSYS will then ask you to supply the tape number. Otherwise, answer "No"; BSYS will ask you to verify that there is a write ring in the mounted tape.
4.BSYS will now space to the end of the used portion of the tape (if any) and start writing new files.
5.If the tape becomes full, BSYS will rewind it and again ask "Enter backup device (mtan:, dpkn:)". You should label the tape as full, remove its write ring, and put it away. Then mount the first unused tape (NOT the "second" archive tape) on the same drive, and go through this procedure:
Enter backup device (mtan:, dpkn:) MTAn <cr>
Density (n=800, p=1600):
P
New tape?
Yes <cr>
Really??
Yes <cr>
Parc tape number:
nnnn <cr>
Be sure to label the new tape properly.
6.When the archive run is finished, BSYS will report the number of files and pages archived. Dismount the archive tape and put it away.
7.Repeat the entire procedure (steps 1-6) to write the "second" archive tape, using the tape marked ".ARC/2" if you append to an existing tape, and using tape unit 3 if possible. If the second archive tape becomes full and you get to step 5, be careful to use another new tape to continue archiving on. That is, don’t append to the new archive tape written on during the first archive.
8.If either archive tape is almost full (less than 1/2 inch of unused tape thickness on the reel), mark both tapes as full and remove their write rings before putting them away.
9.Go to the Clover room, collect the two listings, and store them in the tape cabinet.
Normally, we archive only those files specifically marked by users for archiving. However, it is occasionally necessary to perform "forced" archiving of all files not referenced within the last n days (n is generally 90). The procedure for forced archiving is identical to the normal archiving procedure with the following exceptions:
1.The reply to "Archival period (days) =" should be 90 (or whatever interval is being used) rather than 999999.
2.The reply to "Preface with special message?" should be "Yes". BSYS will then give control to SNDMSG, to which you should type an appropriate explanatory message, such as "This archive includes all files not referenced in the past 90 days. New users will find useful information pertaining to how the archive system works by logging in on MAXC and using either the SEE or COPY commands to read the file <DOC>Archive-System.Doc.", followed by control-Z.
19.11. Retrieving Files from Tape
The following procedure should be executed once every working day to retrieve files from the archive tapes.
1.Login as yourself (assuming you are a wheel or operator; otherwise login as SYSTEM) and go through this dialogue:
@ENABLE password <cr>
!
BSYS <cr>
TENEX BSYS 4.03 23-MAY-75
*
RET<esc>RIEVE (ARCHIVED FILES) <cr>
Process retrieval requests for all users?
Yes <cr>
2.BSYS now sorts through all pending retrieval requests and tells you which tapes to mount:
Mount Parc tape number nnn
Enter backup device (mtan:, dpkn:)
MTAn <cr>
Density (n=800, p=1600)
P
[Following question asked only the first time]
Listing to file:
TTY: <cr>
3.BSYS automatically restores all requested files from the mounted tapes, and automatically notifies users via SNDMSG. When BSYS is done, it prints an asterisk.
If anything goes wrong during the retrieval process, it is possible to retrieve files from the second archive tape. You may first have to issue an Interrogate command for the files that were not retrieved from the first tape. Then run BSYS Retrieve in the normal way, but when it asks you to mount the first archive tape, mount the second one instead. BSYS will tell you that you mounted the wrong tape, but will go ahead anyway, if you tell it to. (Second archive tapes not found in tape cabinets are stored in boxes in the Maxc machine room behind Maxc1 disk drives.)