home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
-
-
-
-
- Chapter 8
- System Reliability
-
-
-
- This section on system reliability includes discussions
- of the the following NetWare 386 features:
-
- ■ Transaction Tracking System (TTS)
- ■ System Fault Tolerance (SFT)
-
-
-
-
- Transaction Tracking System (TTS)
-
- The NetWare Transaction Tracking System (TTS) protects
- database applications from corruption caused when server,
- workstation, or network failure interrupts a database
- transaction. TTS does this by backing out incomplete
- transactions when a network component fails. Backing out
- a transaction returns data and index information in the
- database to the state it was in before the transaction
- began.
-
- Advantages of TTS
-
- TTS is an integral part of NetWare 386 even if you don't
- plan to add a multiuser database to your server. It is
- valuable because it protects the NetWare bindery and
- queuing database files from corruption. Mainframe,
- minicomputer, and network database systems have offered
- transaction backout capability for some time. In most
- cases, however, this capability is implemented as part
- of the database application software and not as part of
- the operating system.NetWare TTS is implemented at the operating system level
- on the server. This method provides two major advantages
- over application-level implementation.
-
- First, performance is increased dramatically because
- transactions are tracked in the server where file writes
- are made. Because of this, less data is transferred
- across the network, and all transactions benefit from the
- speed of NetWare's disk caching system.
-
- Second, database applications not designed for
- transaction backout can have backout capability. When
- a database application without backout capability makes
- a physical record lock to a database file or a logical
- record lock when a database is open, the application
- implies to TTS that it is making a transaction. At this
- point, TTS begins tracking this implicit transaction so
- that it can be backed out if a failure occurs. When the
- application releases physical or logical record locks,
- it implies to TTS that the transaction is complete. At
- this point, TTS will cease tracking the transaction.
-
- Since some database applications leave one or more
- records locked at all times (some do this for copy
- protection), TTS allows you to set a locking threshold
- in the workstation so that an implicit transaction is not
- unnecessarily tracked at the first record lock when the
- application is started. Setting the locking threshold
- prevents having an entire database session tracked as a
- single transaction or having too many transactions per
- file update.
-
- Three kinds of database applications benefit from TTS:
-
- ■ Applications designed with no transaction backout
- capability (this is done with implicit
- transactions).
-
- ■ Applications with built-in transaction backout
- capability (for example, Btrieve).
-
- ■ Applications that use explicit NetWare TTS calls to
- provide transaction backout capability (examples of
- explicit transaction calls are "begin," "abort," and
- "end").How TTS Works
-
- TTS protects a transaction's data from network failure
- by making a copy of the original data before it is
- overwritten by new data. If a failure occurs during a
- transaction, TTS can back out the transaction (restore
- the original data). For example, if the server fails,
- TTS can back out the transaction when the server comes
- up again. If a workstation or network transmission
- component fails, TTS can back out the transaction
- immediately.
-
- TTS protects against failure for any type of application
- that issues record-locking calls. This includes
- applications that store information in records:
- traditional databases, some electronic mail applications,
- and some workgroup appointment schedulers. Files such
- as word processing files that are not organized into
- discrete records are not protected by TTS.
-
- The purpose of TTS is to guarantee that all transaction
- changes to a file are either wholly completed or not made
- at all. For TTS to track transactions on a given file,
- you must flag the file as transactional. The following
- steps describe how TTS tracks each write within a
- transaction:
-
- 1)An application writes new data to a file on a
- server.
-
- 2)The server stores the new data in cache memory. The
- target file on the server hard disk is unchanged.
-
- 3)The server scans the target file on the server hard
- disk, finds the data to be changed (old data), and
- copies the old data to cache memory. The server
- also records the name and directory path of the
- target file and the location and length of the old
- data (record) within the file. The target file on
- the server hard disk remains unchanged.
-
- 4)The server writes the old data in cache memory to
- a transaction work file on the server hard disk.
- This transaction work file resides at the root level
- of a volume on the server. The file is flagged
- System and Hidden. The target file on the server
- hard disk is still unchanged.
-
- 5)The server writes the new data in cache memory to
- the target file on the server hard disk. The target
- file is now changed.The server repeats these steps for each write within a
- transaction, and the transaction work file grows to
- accommodate the old data for each write. If the
- transaction is interrupted, the server writes the
- contents of the transaction work file to the target file,
- thereby restoring the file to pretransaction condition.
- In effect, the server backs out the transaction.
-
- Enabling and Disabling TTS
-
- TTS is an integral part of NetWare 386 rather than an
- optional feature as in previous versions of NetWare.
- Although, a server goes through a TTS enabling routine
- each time it boots, it is possible to disable TTS.
-
- Enabled
-
- When volume SYS is first mounted, TTS is automatically
- enabled if there is enough disk space and memory to allow
- transaction tracking. If TTS is ever disabled, you can
- enable it with the ENABLE TTS command. If a problem
- occurs that disables TTS automatically, you must fix the
- problem before you can enable TTS.
-
- Disabled
-
- When volume SYS is full or if the server does not have
- enough free memory, TTS is disabled automatically. This
- happens immediately after the server boots or after any
- server process (including TTS) requests more memory or
- disk space than the server has. You can also disable TTS
- in two other ways:
-
- ■ Dismount the TTS backout volume (usually volume SYS)
-
- ■ Issue the DISABLE TTS command.
-
- When TTS is disabled, workstations can still make
- transactions in a database, but TTS offers no protection
- to the database.System Fault Tolerance (SFT)
-
- NetWare 386 v3.0 supports SFT Levels I and II. SFT Level
- I includes the following features:
-
- ■ Redundant Tables
- ■ Read-After-Write Verification
- ■ Hot Fix I (flagging bad disk allocation blocks and
- writing or rewriting data to a redirection area)
-
- SFT Level II includes the following features:
-
- ■ Disk Drive Mirroring
- ■ Disk Channel Mirroring
- ■ Hot Fix 2 (re-issuing a read request to a mirrored
- disk and writing the good data to the redirection
- area)
- ■ Split Seeks On Reads
- ■ UPS Monitoring
- ■ Transaction Tracking System.
-
- NetWare 386 v3.1 also adds the Write File Audit (WFA) and
- the Transaction Roll Forward (TRF) features to TTS.
- Write File Audit maintains a file that records all writes
- to a corresponding database file. If the database file
- becomes corrupted, Transaction Roll Forward uses the
- Write Audit File to rebuild the database file. The
- NetWare 386 v3.0 server allows 25,000 concurrent
- transactions.