THAYER@PFC-VAX.MIT.EDU (Bob Thayer) (10/23/86)
NOTES & OVERVIEW The objective of this series of command procedures is to allow a remote backup of a disk over the Decnet by using the Convert utility. The Convert utility sets up file definitions that can be recognized by a host system (in this case, host is the system with the mag tape) and this in turn permits the recording of remote data. See the Convert Utility reference section for details of the method. The set of procedures below is an adoption of an earlier info-vax command file set for remote backup and is intended to do a backup/image of a disk on a microvax without accessing the mico directly. Some other modifications can be made to this for local adoption but the syntax used here is essentially correct for establishing the method. It is necessary to establish net handshaking in such a manner that the host magtape is mounted and initialized by the remote system. This can be precarious if you have a net timeout due to heavy activity on the systems. The mag tape is then owned by the net process and this must be killed by the host in order for it to use the tape again (also true during experiments with this). This type of net activity, because of the length of time involved (10 mins/tape), is best done during the dawn's early light. The process itself involves initializing a number of tapes depending on the size of the disk so that the BACKUP initializing (/rew)is avoided, an item not permitted across the net for security reasons. The pre-defined FDL conversion is then used to dump the image save set to the tape. This is reasonably straight forward, noting that a reply to OPA0: is necessary for each tape mount. This involves a complex privelege system on both the host and remote. The easiest method is to establish a special Backup account and directory on both systems, with net proxy in both directions. These accounts should have Operater priveleges at least and the remote account also needs Bypass and other priveleges required for image backups. Set the remote account to net access only for security. DCL methods used in the command files are referenced (sort of) in the Network User Operations section, 'Guide to Networking' , DEC manual set. Note that having backed up an image, it is quite another story to recovor it. If it is a system image to be restored, you must have a VMS image with Decnet and the backup account on the disk before you can bring anything back. This could be a serious problem on 73MB microvax disks because you are attempting to created double VMS files in the VMS root structure. An alternative is to take tape segments of 10K blocks or so and place them on the host as save sets, copy the save set to the remote system and unbundle it to the appropriate directories. This is especially useful for recovoring individual users, although time consuming. Savesets can be copied from disk to remote disk without problem, but not from disk to remote mag tape. Bob Thayer MIT Plasma Fusion Center thayer%pfcvax@mc.lcs.mit.edu 22 Oct 1986 $! $! $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $! $! Command file 'bcknet.com' to initialize backup process on $! Remote system. This starts @bckuprem.com on remvax::[backup] $! Resides on host system, so that no remote login is necessary $! except via a net process. Remvax::[backup] should be a captive $! account with a login.com that logs out unless the process is $! "DECNET". $! $ set control_y $ on error then continue $ on control_y then goto end $! $ write sys$output " " $ write sys$output " " $ write sys$output " " $ write sys$output " " $ write sys$output " " $ write sys$output " Before starting the backup process, mount" $ write sys$output " a new magnetic tape on the drive. You have" $ write sys$output " one minute before remote process begins." $ write sys$output " Always check for write-ring on tape. " $ write sys$output " " $ write sys$output " " $ write sys$output " " $ write sys$output " " $! $! $ wait 00:01 $! $ open/write/read rmt remvax::"0=bckuprem" $ close rmt $ write sys$output " Waiting to mount second tape." $ again: $ inquire ready "Mount next tape? [Y]: " $ if ready .nes. "Y" then goto again $ inquire num "Enter console request number as shown on opa0: " $ reply/enable=tapes $ reply/to='num' "remv01" ! or "remv02, or "remv03" $! $ end: $! $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $! $! Command file 'bckuprem.com' on remote system $! Backup remote system to hostsystem magtape $! This file resides on system to be backed up and does $! remote backup with /save_set feature which must $! be used for remote backups. $! $ on error then goto error_exit ! $ on control_y then goto error_exit ! Set up handling $ open/write rmt hostvax::"0=netdcl2" ! $! $! $! Initialize Second tape in group first so that first tape $! will be ready for mount when initialized. Usually takes $! two tapes for a microvax. $! $ inquire yn "Press return when ready to continue" $ write rmt "Mount mta0 remv01" $ read rmt s $ write rmt "dism/nounload mta0: $ read rmt s $ write rmt "Init mta0 remv01" $ read rmt s$ $! $! $ type sys$input: Mount first tape for initialization $ inquire yn "Press return when ready to continue" $ write rmt "Mount mta0 remv00" $ read rmt s $ write rmt "dism/nounload mta0: $ read rmt s $ write rmt "Init mta0 remv00" $ read rmt s $ close rmt $! $! Leave it on magtape unit, remounted by $! HOSTVAX::tapeset.com $! Do Not use /rem! $! $ backup/image/ignore=interlock/block=4096- dua0: hostvax::"0=tapeset"/save_set $ exit $error_exit: $ close rmt $ exit $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $! $! Command file 'netdcl2.com' to process dcl commands over $! network and reply with status. $! to start all this try 'open/write rmt hostvax::"0=netdcl" $! This places status conditions in netserver.log of unit $! to be backed up and slows operations somewhat. $! $ set verify $ open rmt sys$net:/read/write $nxt_line: On error then continue $ read rmt line/end=exit $ set verify $ 'line $ set noverify $ s= $status $ write rmt s $ goto nxt_line $exit: exit $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $! Command file 'tapeset.com' on host system, used to set up $! local magtape by remote net command from unit to be backed up. $! Warning: This process must complete or magtape remains allocated $! to remote system net process. $! $ set verify $ $ allo mta0 $ mount mta0 molvax/block=4096 $ convert sys$net:/fdl=netin mta0:remvax.bck/fdl=mta0out $ dism/nounl mta0 $ deallo mta0 $ exit $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $! Command file 'netin.fdl' used to define incoming file $! characteristics to the convert utility. Might be defaulted in $! some cases, but block size is specified here to be the same $! throughout the process. Resides in the parent system. $! $! IDENT "17-sep-1985 08:59 vax-11 FDL Editor" SYSTEM source vax/vms FILE allocation 20 best_try_contiguous no contiguous no extension 0 global_buffer_count 0 organization sequential protection (system:rwed, owner:rwed, group:re, world:re) RECORD block_span yes carriage_control none format variable size 4096 $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $! Command file 'mta0out.fdl' used to define the file characteristics $! for the convert utility going to the magtape unit. Basically changes $! the format from variable to fixed. Resides in the parent system. Do $! not add comments to FDL files. NOTE: For a two tape backup, it is $! necessary to start the second tape by a operator reply on the host $! system. The operator console receives a message asking for a mount $! of the second tape, and contains a request number. To start, type $! "reply/to=<request number> molv01". Backup cannot complete without $! this command on the operator console. $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! IDENT "17-sep-1985 08:59 vax-11 FDL Editor" SYSTEM source vax/vms FILE allocation 20 best_try_contiguous no contiguous no extension 0 global_buffer_count 0 organization sequential protection (system:rwed, owner:rwed, group:re, world:re) RECORD block_span yes carriage_control none format fixed size 4096 End of text