iXOS Jukeman

3. The Server


[Table of Contents] [Glossary]

The jukebox file server is the core of iXOS-JUKEMAN. It controls the devices, and replies to NFS requests and to requests from the iXOS-JUKEMAN local file system for NT.

To run the server you need the SCSI driver, the cdnfsd server, and the cdadm administration program. The server and all the programs and files it needs are in the installation directory. All paths described here are relative to the installation directory.

cdnfsd.exe (NT) or cdnfsd (UNIX) is called by administrator (NT) or root (UNIX) without parameters. It runs as a daemon and receives requests from NFS clients and from cdadm.exe (NT) or cdadm (UNIX) and the iXOS-JUKEMAN native file system for NT. It creates logfile.txt for messages and a small volumes database for CD names and properties. It needs a server.lic file containing the license key and a server.cfg file containing basic configuration.

To enable task distribution and efficient service to a large number of clients, the server splits into separate processes for each drive or changer. These processes appear in the process table. The number of processes increases with the number of devices. They share text and data to minimize load on the computer.

The server controls devices for handling CDs and exports the CDs in a single large file system in which each CD is represented by a directory. NFS clients need just a single mount, and PC clients connect a single network drive.

The server hides the physical positions of the CDs. Each CD is represented by a subdirectory, whether it is in a storage slot or in a drive. Clients don't know if a CD is actually stored in a jukebox or is a copy stored in another jukebox. They experience faster access to the CD because the server chooses the jukebox with less load.

3.1 Configuring the Server with Jukeman Administrator (NT only)

Jukeman Administrator is a GUI program that can run on any Windows computer in the network. The network address of the host where iXOS-JUKEMAN is running is stored internally by Jukeman Administrator. You can configure devices and views on the file system and insert and remove CDs from a jukebox using the GUI.

To maintain the configuration, the Jukeman Administrator reads and writes the server configuration file (server.cfg) and a device description file for each device.

You can also edit these files manually (see "Configuring the Server without the GUI Tool" later in this chapter), but it is easier to use the GUI to configure devices and exported views.

3.1.1 Main Dialog

The main dialog has five menus, a list of devices, and the buttons you use to configure the devices. The device status is either 'attached' or 'detached'. 'Attached' indicates that a device is controlled by iXOS-JUKEMAN.

The property 'Startup' in the dialog indicates whether a device should be attached automatically at the startup of iXOS- JUKEMAN or manually ('manual'). If a device status is 'detached' and marked with the mouse, then you can see a button 'Attach'. Otherwise a button 'detach' appears.

Start Menu

Start Service: Starts iXOS-JUKEMAN on the host by triggering the command 'net start cdnfsd'.

Stop Service: Stops iXOS-JUKEMAN by triggering the command 'net stop cdnfsd'.

Select Host: Since the GUI can run anywhere on the network, you must specify the name of the host where iXOS- JUKEMAN is running.

The GUI communicates via TCP/IP (port number 4072) with an administration server, which must be running on the (NT) host where iXOS-JUKEMAN is running. In most cases, this will be the local computer (the default), but since the GUI can run on any computer in the network, you can choose a particular host.

In the text box, enter the host name or IP address (xxx.xxx.xxx.xxx). If you have iXOS-JUKEMAN and the GUI running on the same computer, enter localhost.

When you run the GUI the first time, no host name is specified. The host name you specify is stored in the ixos.ini file, which is created in the GUI directory.

License Key: Fill in the dialog box to register or update your license information.

Configuration Menu

File System Views: See "Configuring the Views" later in this chapter.

Volumes: Displays a list of the CDs that are inserted in all attached devices.

Parameters: Shows list of the parameters you can use with iXOS-Jukeman. Double-click a parameter to find out what it does and to change its settings.

Buffers and caches: Use this command to change the buffer for the incremental file system and the caches for directory structure and regular file data. You must stop service before you can change buffers or caches.

Devices Menu

The commands on this menu mirror the buttons below the list of devices. See the following section for information.

3.1.2 Configuring the Devices

Each device controlled by the server needs a description file that describes the device type, the SCSI addresses and properties of the drive, and the SCSI address or the RS232 address of the changer. It also describes which storage slots the server should use; the default is all.

When you use the GUI to configure devices, you are asked for a device name. The GUI then creates a description file using that name and the extension .dev. So that the server doesn't have to inspect the disks upon each startup, the information about which CDs reside in which slots of the jukebox is stored in a save file. The name of the save file has the same name as the description file, but with the extension .sav. So if you have a device named juke1, a description file named juke1.dev is created in the jukeman directory on the host. After you attach juke1 the first time, the server inspects the slots and creates a juke1.sav save file.

The name of the jukebox and information as to whether it should be attached automatically is stored in the device section of server.cfg.

Note: If you do not use the GUI to configure the devices, you can give the description and save files any name you want. Put them into the directory where cdnfsd.exe resides, since this is where iXOS-JUKEMAN looks for them. However, random names can cause problems if you use the GUI afterward, since the GUI only accepts description files with the name of the device (stored in server.cfg) and the extension .dev.

Adding, Modifying, or Removing a Device

You can add a device by clicking the New button under the device list in the main dialog.

In the Device Setup dialog, click Device Browser, and then select the appropriate search criteria. Select the device you want to add and click Configure. The fields in the dialog are filled in for you. Click OK.

To modify or remove a device, select it in the device list and click Setup or Remove.(Before you remove a device, stop the service.)

Add descriptions of other devices in the order of the jukebox (see the Note in the "Defining Devices" section of Chapter 2). Use the radio buttons in the upper left part of the dialog to choose the properties of the drive you want to use. "Not available" or "defect" has the same effect as declaring the drive "defective/missing." Choose "Not used by file system" for a recorder drive that you want to use only for this purpose (see "Producing CDs in Jukeboxes" in Chapter 5). For a recorder drive that you want to use for transparent writing through the file system (see "Writable File System" later in this chapter), choose "Used for track recording also." In all other cases, stick to the default choice used by the file system.

You can change these drive settings later by clicking the Setup button, choosing the drive, and clickingDefine.

If your device type is a hard disk image, you need to specify a file with an .iso file name extension instead of drives. Note that the file system of your local computer will be listed. If you run the GUI and iXOS-JUKEMAN on different computers, first map the hard disk that you want to access.

Robot: Most device types need a robot specified. If this is a SCSI target (most devices) or a LUN of a SCSI target (Pioneer 18 CD or Sony), all choices are listed in this combo box. If it is a serial port (Kubik or NSM jukeboxes), COM1-COM4 are listed.

If your jukebox type does not need a robot specified (for example, a Pioneer 6-CD changer), this combo box is disabled.

Robot ID: Most jukeboxes do not need a robot ID specified. If this is the case for your jukebox type, the Robot ID box is disabled.

For NSM jukeboxes, a serial line controls up to 16 jukeboxes, so you should provide an ID from 0 to 15. See your jukebox manual for details about this ID.

Attach at Server Start:Leave this box checked if you want your device to be attached automatically when the server starts. If you uncheck it, you have to attach the device explicitly.

Double sided: Check this box if you are configuring a WORM or MO jukebox (otherwise this box is disabled) and your WORM and MO discs are double sided.

Use only these slots:To save time, you may want to use only a few slots during installation or to store recordable CDs in unused slots. Specify the slots you want to use by a line such as 1-3 or 1,2,4-6. If you do not want the server to use any slots, type-. In this case you have to make CDs known to the server by explicitly testing them.

3.1.3 Server Administration

Administering the server means starting and stopping it, attaching and detaching devices, testing slots, and changing and renaming CDs. To do this, the server must be running. You can use the Jukeman Administrator GUI or type the cdadm commands into a command line as described elsewhere in this manual.

Note: Communication between the GUI and server is always initiated by the GUI. That means, for example, if a device is detached by a cdadm command in the command line or is switched off, the server cannot inform the GUI. Therefore it will still appear as attached in the device listbox. If you want to be sure about the current server state, restart the GUI or click the Attach/Detach button. This also applies to situations where the GUI issues a timeout error.

Attach and Detach Devices

To attach or detach a device, select it in the device list in the main dialog and clickAttach/Detach. To do this, the server must be running. If you stop the server, all devices will be detached.

Note: When you attach a device the first time, the server inspects all slots. The GUI waits for the server to confirm that the device is attached and you cannot take any other action using the GUI. To avoid this, click the Cancel button. This does not stop the attach process, but you no longer have to wait for a response.(to stop the attach process, clickDetach). If you clickCancel, the GUI does not recognize that the device is attached and it continues to appear as detached in the device listbox. To check whether the device is already attached, click Attach again.

3.1.4 Contents Dialog

Click the Contents button in the main dialog to open the Contents dialog.

The Contents dialog lists all slots with their current contents.

Name Format: The name of the CD is displayed as it is burned in the CD (Original) as the default. You can also choose PC, RR, or HS format. The names of the CDs are stored in the volumes database.

Insert/Remove: If your jukebox has a mail slot, such as Mercury, Kubik, or standard jukeboxes, use the Insert/Remove button to change, import, or export a CD using the mail slot.

Insert instructs the server to search for a free slot and then open the tray or release the mail slot. Insert a CD and press the button or close the mail slot. If you selected one or more slots in the slot list, the choice of slots is restricted to these slots.

Use Remove to export a CD from the jukebox. If you select one slot, the server removes this CD. If you select a set of slots or no slots, the server inspects the set or all slots and searches for an invalid CD. If no invalid CD is found, it searches for any CD and exports it to the mail slot.

Change CD: This button is displayed if your jukebox doesn't have a mail slot to exchange CDs. To change a CD, select the slots you want to change and click Change CD.Then change the CDs by whatever means the jukebox provides. After the change, the server tests the selected slots and updates the display just as if you had clicked Test.

Test: If you are not sure about the slot contents, for example, if you changed CDs without telling the GUI, you can update the display by selecting one or more slots and clickingTest.

Rename:For PC, RR, and HS formats you can change the name of a CD. Select the appropriate format, select one CD, and click Rename.The name is changed for the currently selected format.

Move CD:If a client wants to access a CD, the file system automatically moves it into a drive. However, you may want to move a CD explicitly into a certain drive, for instance into a recorder drive to burn a CD. To do so, click the Move button and select a slot number and a drive.

You can also free a drive by moving a CD back to its slot. Simply select this option and the drive.

Rescan: Click this button to search every slot for new volumes (this could take a long time).

IncrementalFS: Displays information about a CD that is being written incrementally. See Chapter 5, "The Writer," for information about the incremental file system/

3.1.5 Configuring the Views

server.cfg contains—among other entries—descriptions of the exported views. A view represents a set of CDs that can be mounted by clients.

For PC clients, a view is a drive letter on the host that can be shared. For UNIX clients, a view is a path that can be mounted with NFS. This path consists of a directory and the name of the view.

If you configure server.cfg with the GUI, the directory will always be \views. Thus the path of a view with the name pc would be \views-pc. The GUI can only read and process views with the directory name \views. So if you prefer to edit server.cfg manually, but plan to use the GUI afterward, you should only use this directory.

To configure views, select the File System Views command from the Configuration menu in the main dialog.

Adding, Modifying, or Removing a View

You can add a view by clicking the New button above the view list.

A new view is added to the list. Type up to eight characters to name the view.

For UNIX clients, a view is a path on the host that can be mounted. This path will have the name /views/viewname, where viewname is the name you fill in. The path is created as soon as you restart the server.

Visible Volumes/Excluded Volumes: Use these fields to specify which volumes will be visible to clients mounting the view. If you type *, all CDs are visible. You can restrict the set of CDs by explicitly listing those CDs that should be visible. This is useful to restrict and simplify access to CDs.

The characters ? * [- ^] {,} in CD names are used as csh-styled wildcards: ? for any character, * for any string, […] for alternative characters, - for a range, ^ for forbidden characters, and {…,…,…} for alternative strings. The CD names are separated by a space key. Example: sdk* develop win* nt*.

Format:In a file system view, a client sees a set of CDs in one of the three name formats supported by the server: PC, Rock Ridge, or High Sierra.

If a client mounts a view for which the High Sierra format is specified, it sees the file and directory names exactly as they are stored on the CD in High Sierra or ISO 9660 format. The version numbers that are part of the ISO 9660 standard are useless for most clients. This format is supported mainly for completeness. The PC format is a modified High Sierra format, optimized for PC clients. The version number is cut off and all characters are converted to lowercase.

If a client mounts a view for which the Rock Ridge format is specified, it sees the file and directory names in High Sierra or ISO 9660 format, modified by Rock Ridge extensions if they are available. These ISO 9660 compliant extensions are a common way to add UNIX names to the ISO 9660 format. Rock Ridge extensions may also contain owner and permission.

Available as Drive: For PC clients, a view is a file system that is represented as a drive letter on the host and can be shared. Choose the drive letter from a list of letters that are not yet in use. The new drive is created as soon as you restart the server.

To modify a view, highlight its name in the list and change the option settings.

To remove a view, select it in the view list and click Remove.

The view will be configured by modifying server.cfg. iXOS-JUKEMAN reads server.cfg only once at startup. Therefore, if iXOS-JUKEMAN is already running, you are asked if you want to stop and restart iXOS-JUKEMAN, so the changes can take effect.

3.2 Configuring the Server without the GUI Tool (NT and UNIX)

You configure the server using server.cfg and device description files. The iXOS-JUKEMAN software contains examples of these files that you can change to meet your needs.

3.2.1 server.cfg

server.cfg contains descriptions of exported views, devices to be attached at startup, and server parameters. The description of exported views is mandatory. The list of devices is useful, but you can also attach devices using an administration command. You can often use the parameters' default values.

server.cfg is divided into named sections, which are limited by braces:{}. Each section can contain named subsections. For example, the description of views is a section named views; it contains a subsection named list that lists the names of all views and one subsection for each view. These subsections, named by the view names, contain several subsections describing the properties of the view: the name format to be used, the CDs allowed to be visible, and the CDs that are denied.

The following code is a sample of server.cfg.

views {list { /views/pc /views/rr }
/views/pc { format {pc } disks { * } drive { X } }
/views/rr { format {rr } disks { * } drive { Y } }
}
devices {
list { nsm31 }
nsm31 { startup { automatic } }
}
parameters {
loglev=5
}

Note:The 'drive' portions of this example apply to NT users only.

This sample configuration describes two exported views, named /views/pc and /views/rr. Each view exports all disks, but they differ in the file names presented to the clients:

Instead of '*', a list of exported disks may tell the server which disks are accessible through that view; some csh-like wildcards are also accepted.

For example, an additional mount point,

/views/ms { format { pc }
disks { vc2* ms* win* *nt* } drive { Z} }

might be useful for users who just need PC development tools and do not want to see any other disks.

Note:The 'drive' portions of this example apply to NT users only.

The default file included with the examples works for most configurations. However, if you have special requirements, you'll want to edit the configuration file to customize the server. The next sections describe how to configure file system views, attach devices automatically upon startup, and change internal server parameters from their default values.

3.2.2 Exported File System Views

For UNIX clients, a file system view is a path that can be mounted by clients. The NT version presents the same file system view as a drive letter that can be shared by PCs. In each file system view, a client sees a set of CDs in one of the three name formats supported by the server: hs, rr, and pc. The standard configuration offers two views, one containing all CDs in pc format, the other containing all CDs in rr format.

Name Format

If a client mounts a view with the hs name format specified, it sees the file and directory names exactly as they are stored on the CD in High Sierra or ISO 9660 format. The version numbers that are part of the ISO 9660 standard are useless for most clients. This format is supported mainly for completeness.

If a client mounts a view with the pc name format specified, it sees the file and directory names in a modified High Sierra or ISO 9660 format, optimized for PC clients. The version number is cut off and all characters are converted to lowercase. This is important for PC clients that insist on converting lowercase to uppercase. If these clients receive uppercase names, they convert them into strange artificial names.

If a client mounts a view with the rr name format specified, it sees the file and directory names in High Sierra or ISO 9660 format, modified by Rock Ridge extensions if they are available. These ISO 9660 compliant extensions are a common way to add UNIX names to the ISO 9660 format. rr extensions may also contain owner and permission.

A UNIX client mounts a view with the pc format in mount point /rom_pc. The command 1s -a1 /rom_pc yields: total 23

total23
dr-xr-xr-x 19 root root 304 Apr 17 13:21
drwxr-xr-x 34 root root 1024 Apr 15 13:53
dr-xr-xr-x 2 root root 2048 Mar 18 15:51 aiim
dr-xr-xr-x 2 root root 4096 Mar 1 1995 cebit_95
dr-xr-xr-x 2 root root 2048 Jan 1 1996 cebit_96
dr-xr-xr-x 2 root root 2048 Jan 10 19:21 compuser.ve
dr-xr-xr-x 2 root root 2048 Jan1 1995 hp_sap_c.d
dr-xr-xr-x 2 root root 4096 Jul 17 1995 klg007
dr-xr-xr-x 2 root root 4096 Mar 1 16:24 logimedi.a
dr-xr-xr-x 2 root root 2048 Dec 6 1994 sap_r3

The same UNIX client mounts a second view with the Rock Ridge format in mount point /rom. The output of 1s -a1 /rom is:

total23
dr-xr-xr-x 19 root root 304 Apr 17 13:21
drwxr-xr-x 34 root root 1024 Apr 15 13:53
dr-xr-xr-x 2 root root 2048 Mar 18 15:51 AIIMSHOW96
dr-xr-xr-x 2 root root 4096 Mar 1 1995 CEBIT-95
dr-xr-xr-x 2 root root 2048 Jan 1 1996 CEBIT_96
dr-xr-xr-x 2 root root 2048 Jan 10 19:21 COMPUSERVE_INSTALLATION
dr-xr-xr-x 2 root root 2048 Jan1 1995 HP_SAP_C.D
dr-xr-xr-x 2 root root 4096 Jul 17 1995 KLG007
dr-xr-xr-x 2 root root 4096 Mar 1 16:24 LOGIMEDI.A
dr-xr-xr-x 2 root root 2048 Dec 6 1994 SAP_R3

CD Sets

For each view described in server.cfg you must specify a CD set, a list of CDs that will be visible to clients mounting the view. Most CD sets contain the name *, which means all CDs are visible, but you can restrict the set of CDs by explicitly listing only those CDs that should be visible. This is useful to restrict and simplify access to CDs. For example, a PC software developer may only want to see disks containing products for PCs, so it will simplify access if you specify a view containing all CDs with information related to PC development.

The characters ?*[-^] {,} in CD names are used as csh-like wildcards: ? for any character, * for any string, […] for alternative characters, - for a range, ^ for forbidden characters, and {…,…,…} for alternative strings.

Example of a View Definition in server.cfg

If you want to export all disks to UNIX clients in rr format, most disks to PC clients in pc format, and some disks to PC developers in pc format, you must specify three views, each containing a path, a format, and a disk set. One directory shall make accessible all CDs with first letter a,b,c,...,m and with name not beginning with archive. A second directory shall make accessible all CDs beginning with letters n,...,z. The following example shows you, how to configure this

dive { z } views {
list { /views_rr views_pc find_easier }
roots {
/views_rr {format {rr} disks {*} drive {Y} }
/views_pc {format {pc} disks {*} drive {X} }
find_easier { views { list { a_m n_z }
roots {
a_m {format {pc} discs { [a-m]* } deny { archive* } }
n_z {format {pc} discs { [n-z]* } }
}}}}}

Note:The 'drive' portions of this example apply to NT users only.

The above configuration would present the following filesystem:

server.cfg contains a view section for the CD views. This section defines three file system views. /views_rr exports all CDs in rr format. The other views use pc format. Clients that use /views_pc see all disks. Clients that use /find-easier see two subdirecories with name a_m and n-z. Note that in NT the first two views are bound to the drive letters x: and y:.

In drive letter Z: are three subdirectories visible: views_ps, views_rr and find_easier.

The directory find_easier contains two subdirectories a_m and n_z. For example, a CD with PC-format-name 'austria' is visible in directory 'a_m'. But directory a_m does not contain a CD with name 'archive-11-96', for example.

If the drive letter z: is shared over the pc network, then PC client computers can map the filesystem under z: as a network drive.

A UNIX client computer can also mount the filesystem view. A example NFS mount command is:

# mount -o retrans=14,soft,timeo=99 hostname:/ /mount_dir

Then in directory /mount_dir the same directory structure is visible as in drive z: on the server computer.

See Chapter 2 for a description of how UNIX exports file system views.

Devices to be Attached Automatically

You can use the cdadm command (see "Controlling the Server" later in this chapter) to dynamically attach or detach devices while the server is running. You can also define a list of devices to be attached automatically upon each server startup. This is useful for crash recovery.

For example, if your server computer crashes and reboots, the jukebox file system server restarts. If the server is set up to attach devices automatically, it will not accept file system requests until all devices are attached. If you attach devices using cdadm after server startup, there is a small time gap in which the server accepts requests without access to the CDs. During this time, it will send error replies to most CD requests. You can avoid this if the devices are listed in server.cfg.

For NFS especially, the result of automatic attach is that a server crash does not affect clients. They do not receive errors, they just wait for the server to reply. This demonstrates the power of the stateless NFS concept.

Format of the Devices Section

The devices section contains a subsection named list that lists the complete name of the corresponding device file. It includes a subsection for each listed device that defines if it should be attached automatically upon server startup or attached manually.

A device for which manual attach is defined has no effect in server.cfg (apart from making it known to the GUI in NT, so you can manually attach it through the GUI). This allows you to disable automatic attach of a device without deleting it in server.cfg.

A device for which automatic attach is defined is attached by the server upon startup before the server accepts any file system requests. This avoids a time gap in which the file system is present but incomplete.

Example of a Device List

Suppose you have two jukeboxes, whose device files are named mercury.dev and pioneer.dev, and you want the Mercury to be attached automatically upon server startup. The devices subsection in server.cfg should look like:

devices {
list { mercury pioneer.dev}
mercury {startup {automatic} }
pioneer.dev (startup {manual } }
}

The only effect of including pioneer.dev in the file is to declare it for the GUI in NT; it has no effect in UNIX.

3.2.3 Server Parameters

You can change server behavior using parameters, though the default values usually work. server.cfg entries override default values and command options override default values and server.cfg entries.

You can change a few server parameters dynamically while the server runs. See "Controlling the Server" later in this chapter for details.

All server parameters have the format key=value or key { value } where key is the parameter's name and value is a non-negative integer in decimal or hexadecimal notation. For example, suppose you want to change the server's log level, which is controlled by the parameter loglev. The default value for this parameter is 4, and you want to use the value 5.

To change a value permanently, add an entry in server.cfg. If there is no parameters section, create one and list all parameters to be changed:

parameters {
loglev=5
}

or

parameters {
loglev { 5 }
}

If you want to change the log level for a single server invocation only, type:

cdnfsd loglev=5

and the server will start with log level set to 5.

If you want to change the log level while the server is running, type:

cdadm setpar loglev 5

and the log level will change dynamically. This method, however, works only for few parameters (see below).

< a name="323_OverviewOf"Overview of Server Parameters

The following descriptions list the parameters with their default values and their meanings.

Dynamic changeable parameters:

autodc=1 That parameter controls the caching of CD directory structures. If a CD is inserted in a drive, then iXOS-JUKEMAN checks if the root directory of the CD is in the cache. If it is not in the cache, then autodc controls the further behavior. No caching is done with value 0. Value 1 means, that caching is only done, if a harddisk cache exists (RAM cache is the default, if no harddisk cache is configured). Value 2 means, that the whole directory structure is cached, even if a RAM cache is used.
blanks=0 After changing a CD or issuing a 'test' CD command iXOS-JUKEMAN tries to determine the type of CD. With many reader drives the CD test can not be completed successfully. The iXOS-JUKEMAN moves the CD to a writer drive to get more information about the CD. For example Jukeman will differentiate between a blank CD-R, a non ISO9660 CD or a non finalized CD. The parameter blanks can be used to speed up the test procedure. Value 0 means that first CDs are tested in reader drives (are faster) and eventually in writer drives a second time. Value 1 means, that only writer drives are used. If a CD is inserted and no testing should be done, then value 2 can be set.
fullvn=0 If the parameter fullvn is set to 0, then the original CD names are transformed to 8+3 in a PC format view. With fullvn=1 the names in PC format are 32 characters long and in lower case.
iotimo=60 Time in seconds until failed CD reads are abandoned.
loglev=4 Defines how many messages are printed to the log file. For your first try, use a value of 5 or 6 to see if everything works well. This parameter is most often changed dynamically.
ignore=0 All other values cause the server to ignore all file system requests. This can be changed dynamically; for example, to block the server for awhile.
lwords=5 The iXOS-JUKEMAN server internally stores last recent log messages in a buffer. If problems occur, then this buffer is written to the logfile. The parameter lwords sets the loglevel for the 'last words'.
mdelay=3 iXOS-JUKEMAN has a sophisticated adaptive scheduling policy for accessing CDs. IXOS-JUKEMAN learns from accesses in the past.
When the iXOS-JUKEMAN server has to move a CD out of a drive to insert a new one the server must first select which CD will be removed from the drive to make room for the new CD.. It is often preferable to delay this CD exchange as data requests are usually qued for the current CD. The parameter mdelay sets a limit according the delay. Value 0 means a strong serial use of the access queue (not much sense). The greater the value the longer is a delay even there is no access on the CD.
report=0 All other values cause the server to report all non-zero SCSI sense codes. This can be changed dynamically and is mainly useful for debugging.
trayto=60 That parameter can be used together with PioneerDRM1004X and SonyCDL-2*** jukeboxes. It is the time in seconds that the iXOS-JUKEMAN server waits until the mailslot of a jukebox is closed manually. After that time, the mailslot tray is closed automatically.
If a PioneerDRM5004X jukebox is used, then trayto defines the time until the jukebox continues its normal operation.
jobnum=256 Defines how many file system requests the server can queue internally. If you have more than 1000 clients, increase this number.
maxtty=4 Defines how many serial lines can be controlled simultaneously.
mountp=10000234 Defines the program number the server uses to register its mount service if there is no such program already registered. Use 0 for no registration at all.
memory=0x400000 Defines the total size of shared memory used by the server. The server maintains all internal tables, for example, job table and device table, and the volatile caches for data. Most table sizes can be changed by parameters, except the volatile data cache, which receives all remaining space after all other tables are created in the shared memory.
dacnum=0x100 Defines the maximum number of entries in the volatile data cache
rtrack=0x20000 Defines the size of chunks of files to be cached in the volatile data cache.

After start of iXOS-JUKEMAN not changeable parameters:

jcdnfsp=100003 This paramter defines with which program number iXOS-JUKEMAN registers its NFS service, if no other program of that kind exists. Value 0 means no registration.
dcheck=300 Defines a time intervall in centiseconds. After which time iXOS-JUKEMAN checks automatically whether a CD has been changed in a single CD drive or a CD drive tower. Value 0 inactivates such a check.
jobnum=256 Defines how many file system requests the server can queue internally. If you have more than 1000 clients, increase this number.
maxcvt=1000 This parameter defines, how many nodes the views tree of the controlled CDs can have.
portno=4027 Defines the UDP port for NFS and cdadm requests.
mountp=10000234 Defines the program number the server uses to register its mount service if there is no such program already registered. Use 0 for no registration at all.
Nonfsd=0 If this parameter is set to 1, then the NFS daemon integrated in iXOS-JUKEMAN does not start. It makes only sense on NT platforms, because on UNIX NFS is the only interface to the iXOS-JUKEMAN filesystem.
Synclm=0 With value 1 log messages are written without buffering into the logfile.txt.
waitpm=0 If no port mapper is found at startup of iXOS-JUKEMAN, then iXOS-JUKEMAN does also this job. The parameter waitpm sets the time in seconds, how long iXOS-JUKEMAN should wait for a eventually slowly starting other port mapper.
Rtrack=131072 Defines the size of chunks of files to be cached in the volatile data cache. Value has to be a multiple of 8192 (8kB).

3.3 Controlling the Server

The server interacts with drives and jukeboxes, file systems, and admin RPCs. Drives and jukeboxes are controlled by the server, and file system requests are generated by NFS clients or by the kernel part of the NT file system. Admin remote procedure calls are generated by cdadm. The RPCs instruct the server, for example, to attach a device.

You can use cdadm either locally or on a remote host. For the latter, the first two arguments to cdadm should be -h hostname, where hostname is either the name or the IP address of the remote host.

cdadm is called with variable parameters. The first parameter (after the -h hostname part, if any) defines the type of the requested action. The other parameters depend on the desired action. The server replies with at least an error code. If the error code is not 0, the string describes the error, and no more output follows. If the error code is 0, there might be more output depending on the arguments.

3.3.1 Survey of Administration Commands

Note: For clarity, a possible -h hostname after the cdadm keyword is omitted in the following survey list.cdadm null Test if the server is alive.
cdadm survey options Print a survey of devices or CDs.
cdadm attach device Attach the jukebox described in device.
cdadm detach device Detach the jukebox described in device.
cdadm getpar var Get the current value of the variable var.
cdadm setpar var new Set var to new, report previous value.
cdadm rename nf old new Rename a disk in the nf name format.
cdadm import device[list] Import a new CD into the device.
cdadm insert device[list] Same functionality as cdadm import.
cdadm export device[list] Export a CD out of the device.
cdadm remove device [list] Same functionality as cdadm export.
cdadm testcd device[list] Test slots with changed CDs.
cdadm movecd device args Move an unused CD to an unused drive.

Survey of Administration Commands

cdadm writer Commands for transparent write features.
cdadm rescan device Re-initialize the internal memory of a jukebox.
net start cdnfsd (NT ONLY) Start the iXOS-JUKEMAN server.
cdstart.bat (NT ONLY) Start the iXOS-JUKEMAN server.
net stop cdnfsd (NT ONLY) Stop the iXOS-JUKEMAN server.
cdstop.bat Stop the iXOS-JUKEMAN server.
cdadm byebye Terminate the file system server.

null

cdadm null

does nothing. This is useful if you want to test if the server is alive.

survey

cdadm survey options

prints a survey of devices or CDs, depending on several parameters in which you specify list type, columns, restrictions, and sort options.

The order of the parameters is:

  1. What should be reported?
  2. What should be displayed in the report?
  3. Shall the report be constrained? (for example just one device)
  4. Shall the output be sorted and what are the criteria?

Four list type parameters are available, one for devices and three for volumes:
-d Print a list of devices (jukeboxes or drives).
-v Print a list of volumes (CDs).
-n Print a list of volumes (CDs) without listing identical volumes several times
-s Print the content of all slots.

The list type determines the source of information. You can choose the pieces of information you want to see using "+" options. Note that for a device list only +d can be used.

General parameters:
+d Print device names.
+s Print slot numbers.
+i Print i-node number (number in volume database).

Media:
+m type of media.
+R displays 'r', if a CD recorder is necessary to read, 'a' else.
+a displays '@', if the medium is in a drive, '-' else.
+u displays '+', if the medium can be accessed via the filesystem, '-' else.
+U time of the last access on the medium in seconds since 1970.
+S Size of the whole volume including free space.

Names:
+o Print volume names as originally found on the CDs.
+r Print volume names in rr format.
+p Print volume names in pc format.
+h Print volume names in hs format.

Recordable filesystem:
+B Amount of buffered data for a volume.
+W Amount of data written to the disc.
+w W+B (total amount of data for a volume).
+F S-W (free space on the physical volume).
+f S-w (available space for more data).
+T Number of tracks written to the disc.

Statistics:
+D Amount of data (Mbytes) read from one CD.
-D like +D, but sets all values to zero.
+P Number of operations on one CD, i.e. read accesses with max. block size of 64kB.
-P like +P, but sets all values to zero.
+M Number of movements of a CD into a drive.
-M like +M, but sets all values to zero.

For example, cdadm survey -d +d prints the names of attached devices. cdadm survey -v +dsipr prints a list containing device name, slot, i-node, and the name in pc and rr format for all volumes in all attached jukeboxes.

You can restrict the output using parameters such as d=device, which prints only the specified device or only volumes residing in it. For a volume list, you can apply restrictions for all columns, even if a column is not selected. For example, cdadm survey -v +sip d=juke.dev prints all volumes in juke.dev only. cdadm survey -v +dsipr p=ixos96 prints all volumes named ixos96.

Finally, you can specify how the output should be sorted:

s:options

sorts the output list according to the specified options.

options is a list of column names. The output is sorted by these columns. For example, cdadm survey -v +dsipr s:ds lists volumes, sorted by device name and within a device, by slot number. Like restrictions, you can use sort options even if the specified column is not printed. Thus cdadm survey -v +dspr s:i prints all volumes sorted by i-nodes, but does not print any i-node numbers. This may be useful if you want to see CDs in the order in which they were made known to the server, because the server associates i-node numbers with CDs sequentially.

The results of the commands to show amounts of buffered or written data, free space, and so on, are expressed in kilobytes (1024 bytes).

attach and detach

To make the CDs in a device visible, the device must be attached, or made known to the server. At startup some devices may be attached automatically (see "Devices to be Attached Automatically" earlier in this chapter). While the server is running, you can attach or detach devices using the cdadm attach or cdadm detach commands.

cdadm attach device

attaches the drive or jukebox described in device to the server. Unless a save file (see "Device Descriptions" in Chapter 2) is defined, the server inspects all slots described in the device file. All valid CDs found in these slots become visible through file system views.

cdadm detach device

detaches the same device from the server. The server moves the jukebox into a basic state, and the CDs in the jukebox are no longer visible.

getpar and setpar

cdadm getpar var

gets and displays the current value of the server variable var.

cdadm setpar var new

changes the server variable var to new and reports the old value. Very few variables can be changed while the server is running, and not all values are allowed. For most users, only the variable loglev is useful. For details see "Overview of Server Parameters" earlier in this chapter.

rename

cdadm rename nf old new

renames the CD old into new in the nf name format, which can be -pc, -rr, or -hs (see "Name Format" earlier in this chapter). old must be an existing name in the name format nf, and new must not exist. A name exists if it is known in the volumes database, even if there is no CD of this name physically available. Thus if you detach and attach a jukebox, the names of the CDs in the jukebox can't be reassigned. The new name changed by rename is stored in the volumes database.

import (insert), export (remove), and testcd

The import and export options to the cdadm command are used to put CDs into a jukebox or to remove them from a jukebox. For convenience, the insert option is equivalent to import and the remove option is equivalent to export.

The testcd option is used to inspect the contents of the slots when you want to make a new CD known to the server. (The new CD need not be included in the list of relevant slots. See "Device Descriptions" in Chapter 2). For instance, cdadm testcd jb.dev 27 causes iXOS-JUKEMAN to inspect slot 27.

Due to the different types of jukeboxes, there are three main scenarios for inserting and removing CDs:

  1. The jukebox provides a separate mail slot.
    cdadm export device
    instructs the server to move a CD from the jukebox to the mail slot. If the jukebox contains an invalid CD, the server moves it into the mail slot; otherwise it exports any CD.
    For the Mercury jukebox, the tray carries the CD. You must remove the CD and then press the Enter button to close the tray. For the Kubik jukebox, you must open the mail slot manually, remove the CD, and then close the mail slot. If you want to insert a new CD, use the command
    cdadm import device
    which instructs the server to search a free slot and then open the tray or release the mail slot. Insert a CD and press the Enter button or close the mail slot. The jukebox tests the CD afterward.
    You can restrict the choice of CDs or slots using additional parameters:
    cdadm export device name
    instructs the server to export a CD called name in the default name format.
    cdadm import device 20-30
    instructs the server to import a CD into one of the slots 20 to 30. Similarly,
    cdadm export device 27
    instructs the server to export the CD in slot 27.
  2. The Pioneer 500 has a virtual mail slot that is a position of the robot. You can use all of the above commands, but then you must open the door manually and insert or remove the CD. After this, you must close the door and tell the server that it may continue.
    cdadm testcd device
    instructs the server to check the changed CD and continue operation. Note that you must issue this command to make the new CD known to the server. See "Pioneer's 500-CD Jukebox" in Chapter 4 for details.
  3. These instructions apply to all jukeboxes without a mail slot, for instance the CDR 100, Sony, Pioneer 6, and Pioneer 18. For all these devices, cdadm import and cdadm export request the server to block incoming requests and free the drives. Then you can manually change disks. After making changes use cdadm testcd to tell the server which CDs are changed and that the device can resume normal operation. Clients do not receive errors; they simply think the server was slow for a while. A typical command sequence is:
    cdadm import device (blocks user requests - now change disks 2 and 3)
    cdadm testcd device 2-3 (server inspects CDs and continues normally)

    movecd

    cdadm movecd device drive slot

    moves a CD from slot to drive, where the latter is an integer in the range of 1 to the number of drives in the respective jukebox (for instance, 4 for a Mercury). Neither the slot nor the drive should be used by the file system. If the slot is 0 or missing, the jukebox server frees the drive. Note that the drive must be active (not disabled by a drive=! line in the device file) to be accessible for move commands ( see Chapter 2 for a description of the different drive=syntax styles).

    writer

    The commands for the transparent file system are described in the "Writable File System" section later in this Chapter.

    rescan

    cdadm rescan jb.dev

    causes some jukeboxes to re-initialize their internal memory. This is useful if you inserted CDs manually and directly into the slots of a Pioneeer 5004X or Grundig M200 jukebox.

    byebye

    terminates the server. Use cdnfsd to restart it.

    3.4 Hard Disk Directory Caching

    iXOS-JUKEMAN includes a permanent directory cache on the hard disk.

    With this feature the directory structure and filename information of all CDs can be held permanently on the harddisk. This can lead to higher performance, because a file search does not cause a insertion of a CD into a CD drive of a jukebox. If no directory cache on harddisk is defined, then a space of 1MB in memory is used for cache as default. If a jukebox is attached to the server then a hard disk cache should be configured.

    Because of sophisticated hash techniques the directory cache has a extraordinarily high performance.

    To enable this feature, you have to add lines to server.cfg, either by editing and starting or restarting the server, or using the NT GUI as described in "Configuring the Writable File System and Directory Cache using the Administration Tool" later in this chapter.

    The following lines are required.

    dircache {
    file {dircache}
    size {25}
    }

    declares that iXOS-JUKEMAN should create a dircache of 25 MB in the hard disk file named dircache in the installation directory. Note that you have to stop and start the server to initialize the directory cache. Also, such lines are inserted in file server.cfg automatically, if the GUI (NT) is used.

    The cache is filled on the fly, while clients use the server and encounter non-cached directories and files. Internally the caching occurs under the following conditions:

    1. If a directory is read and it is not found in the cache, then it is filled into the directory cache.
    2. If a new CD is inserted into a CD drive, then iXOS-JUKEMAN checks if the root directory is in the cache. If it is not in the cache, then the parameter 'autodc' controls the further behaviour. If 'autodc' is set to value 0, then no caching is performed . Autodc=1 prompts caching only when a permanent hard disk cache is configured.. When autodc is set to a alue of 2 Jukeman will always cache the entire directory structure.

    When setting the size of the directory cache, remember:

    1. Each file requires 25 bytes plus the length of the filename.
    2. Each directory requires 100 bytes plus the length of the directory name.
    3. Administration of the cache consumes approximately 15% of the space, so you have to add one sixth of the totals of items 1 and 2 to the sum.
    4. The space allocations in items 1 to 3 are required for each name format you use. So you use double or triple space if you export multiple name formats (see "Name Formats" earlier in this chapter for details).

    3.5 Harddisk Data Caching

    iXOS-JUKEMAN includes a feature for caching of regular data. This means, all read data is written into the cache. If cached data is read again, then no CD access is necessary. The cache is built up as a ring buffer. If the cache is filled up to the defined limit, then old data is overwritten.

    The default is, that the data cache resides in the RAM and has a size of 2 MB. But with the following lines in file 'server.cfg', a data cache on hard disk can be defined.

    regcache {
    file { regcache }
    size { 900 }
    }

    With the above example a file with name 'regcache' and size 900MB would be created after restarting of iXOS-JUKEMAN service. If no filename (with drive and path) is given, then the RAM would be used for data caching, thus the size should be set carefully.

    On Windows NT you should use the Administartor GUI instead of editing the file 'server.cfg' (Menu 'Configuration' -> Dialog 'Buffers and Caches').

    If the selection 'No data cache' is removed, then it is possible to set file name ( including path and drive) and size of the cache file. The default button gives a suggestion.

    Due to operating system limitations the size of data cache, directory cache and recordable filesystem buffer can not be more than 2GB.

    In most instances new data will be written to the cache quite frequently, therefore the presence of a data cache does not guarantee an increase in data throughput. If the same data in not read in a consecutive manner then it is quite possible to decrease data throughput as a result of increased overhead.

    3.6 Writable File System

    With iXOS-JUKEMAN you can write CDs in batch mode or incrementally and transparently through the file system.

    In batch mode you fill the jukebox with recordable CDs, reserve the jukebox recorder for writing, instruct the file system to insert one of the recordable CDs in the recorder, and write data on it as if it were a separate external recorder. Then you move the CD back and add it to the set of CDs visible through the file system. In short, you have visible data migration: you collect the data on the hard disk, write it to a CD, and it is presented through the file system. You reserve a drive by disabling it in the device description (see "Device Descriptions" in Chapter 2). This is described in more detail in Chapter 5, "The Writer."

    With version 2.1, you can also write a CD incrementally and transparently, which means that after initialization you can copy or move files to a CD as easily as you move them to your hard disk. The only difference is that you have to flash the system buffer where the data is cached to actually burn the files onto a CD.

    Note:Without a valid license key in the writer.lic file, you can't write more than 128 MB on a CD.

    To enable transparent writing, iXOS-JUKEMAN needs a global file system buffer on the hard disk. You specify this buffer in server.cfg (in NT you can use the GUI to specify the buffer; see "Configuring the Writable File System and the Directory Cache with the Administrator Tool" later in this chapter).

    fsbuffer {
    file {buffile}
    size {1024}
    inodes {10000}
    }
    declares that iXOS-JUKEMAN should create a buffer of 1024 MB (maximum on NT is 2GB) for up to 10000 files or directories in the buffile file in the installation directory on your hard disk. You have to stop and start the server to initialize a new buffer.

    To determine the correct buffer size and number of files, keep in mind that each file or directory on an unfinished disc needs an i- node and that the size should be sufficient to cache all data you plan to transfer via the buffer. Be sure to finalize all incrementally written CDs before you change the size of the fsbuffer. Otherwise those CDs will be of no use.

    A typical command sequence is:

    1. Initialize a file system on a recordable CD.
      cdadm writer action=init
      location=jb.dev,27 vname=vol

      initializes the CD-R in slot 27 of the device named jb.dev to be a volume named vol. You can create directories and files, and write data into files. However, everything you create or write goes into the hard disk buffer.
    2. If you want the buffered data to be written to the CD, run
      cdadm writer action=flush vname=vol
      but note that this consumes one of up to 99 tracks of the CD.
      Three small tracks are already consumed by iXOS-JUKEMAN after initialization, which leaves most of the space on the CD available for writing, but you cannot flush more than 96 times, since a CD is limited to 99 tracks.
    3. If you do not want to add more data to the CD, finalize it:
      cdadm writer action=finalize vname=vol
      This converts the CD into an ISO 9660 file system, and makes it readable on drives other than those controlled by Jukeman . However, full ISO 9660 compliance is not guaranteed if the user does not adhere to ISO 9660 naming conventions.
      For example, it records LongFileName as LongFileName not as LONGFILE.NAME;1 as defined by ISO 9660. But iXOS-JUKEMAN can read the CD correctly.
    4. After finalizing the CD, the CD is invisible and you must run testcd to make it visible again.
      cdadm testcd jb.dev 27
      causes iXOS-JUKEMAN to inspect slot 27.

    Use the following commands for a transparent write:

    cdadm writer action=init <vname>

    cdadm writer action=init fs=fake,track <vname>

    cdadm writer action=flush <vname>

    cdadm writer action=purge <vname>

    cdadm writer action=finalize <vname> []

    The following flags are added to cdadm survey -v (or -s):

    +S Size of the whole volume including free space.
    +B Amount of buffered data for a volume.
    +W Amount of data written to the disc.
    +w W+B (total amount of data for a volume).
    +F S-W (free space on the physical volume).
    +f S-w (available space for more data).
    +T Number of tracks written to the disc.
    All results are expressed in kilobytes (1024 bytes).

    Command Descriptions

    cdadm writer action=init <location> vname=<name>

    creates a recordable CD file system on the specified CD. The CD will be recorded in up to 99 tracks. has the format location=device,slot where device is the device description name and slot is the slot number.

    Example: cdadm writer action=init
    location=jukebox.dev,1 vname=CDR_001

    If you do not have a CD recorder drive or recordable CDs, you can simulate the function of the recordable filesystem by using a ISO image on hard disk (see 'CDs on Hard Disk' in chapter 4). Defineable with the GUI (NT) or via a device configuration file:

    device=image
    drive=c:\temp\rfs.iso

    The file rfs.iso has to exist and has to have a size greater than 64kB. After attaching the defined simulated device you can initialize a recordable filesystem with:

    cdadm writer action=init location=isoefv,1
    vname=<name>

    The contents of the file rfs.iso will be overwritten, when the burning is simulated with the commands described below:

    cdadm writer action=flush vname=<name>

    flushes the buffered data for the recordable file system <vname> to CD.

    cdadm writer action=purge vname=<name>

    deletes all buffered data for the recordable file system <vname>.

    cdadm writer action=finalize vname=<name>

    finalizes an incremental CD.

    Configuring the Writable File System and the Directory Cache with the Jukeman Administrator (NT only)

    To write a CD permanently, iXOS-JUKEMAN needs a global file system buffer on the hard disk. In the main dialog, open the Configuration menu and choose Buffers and Caches.

    If no incremental file system buffer exists, specify the path, size, and number of i-nodes. The default directory is the jukeman directory on the host. The number of i-nodes specifies the number of files or directories in the file system buffer. Each file or directory on an unfinished disc needs an i-node.

    Click OK to create the buffer and add an entry to server.cfg. Once it is created, you cannot simply rename or move the file system buffer; you have to remove the old buffer and create a new one. Be sure the buffer is empty since all stored data will be lost. Be sure to finalize all incrementally written CDs before you change the size of the fsbuffer. Otherwise those CDs will be useless.

    The directory cache configuration is analogous to the recordable file system configuration. Check "Directory Caching on a Hard Disk" earlier in this chapter to estimate the size of the directory cache.

    Administering the Recordable File System

    If you click IncrementalFS in the Contents dialog, the Incremental File Systems dialog is displayed.

    To use the recordable file system you must have at least one drive declared as a recorder drive (see "Configuring the Devices" earlier in this chapter).

    Format: Click this button to format a WORM/MO disc.

    Initialize: To write to a recordable CD you have to initialize it. A recordable CD appears in the list box as -badCD- or -empty-, XXX depending on your drives. Select it and clickInitialize. Enter a volume name; the CD is initialized to this name.

    Now you can create directories and files and write data into files. However, everything you create or write goes into the hard disk buffer.

    Flush: If you want the buffered data to be written to the CD, select it and click Flush.

    Three small tracks are already consumed by iXOS-JUKEMAN after initialization, so most of the space on the CD is available for writing, but you cannot flush more than 96 times, since the number of tracks is limited to 99.

    Finalize: If you don't want to add more data to the CD, finalize it by clicking the Finalize CD button(cdadm writer action=finalize).

    This converts the CD into an ISO 9660 file system, and makes it readable on drives other than those controlled by Jukeman .

    After finalizing, the CD is invisible, so you need to run a CD test.

    3.7 Macintosh Connection (NT only)

    iXOS-JUKEMAN allows Macintosh computers to read CDs in a jukebox. To export the iXOS-JUKEMAN filesystem to Macintosh computers, the 'MacFileService' Module for WindowsNT must be installed. The Module can be installed from the 'Network' configuration dialog in the 'Control panel'.

    If that service is installed, then a virtual volume can be created with the 'FileManager' (not with NT-Explorer!). Such a volume can be connected from the Macintosh client computers over a NT share name.

    There exists in version 2.1 a restriction:

    If CDs in a jukebox are changed, then the Macintosh client computers are not notified about changed or new CDs. Therefore the above explained 'volume' has to be recreated and the Macintosh clients have to perform a reconnect to the iXOS- JUKEMAN filesystem.

    3.8 Reading the Log File

    Under normal conditions, you should have no reason to read the log file. However, if the server fails, you will find an error description in the log file. If you need to have the server debugged, you will need the log file. If you are curious about what the server really does, try to read the log file.

    The server writes log messages into logfile.txt in the installation directory. These messages report errors, important events, and less important events. A level is assigned to each message. Important messages have low levels, less important messages have high levels.

    The server's log level defines up to which level messages are written to the log file. Messages with a level above the server's log level are suppressed.

    The default log level is 4. Most messages up to this level, and some of the level 5 messages, are easy to understand. A typical message looks like:

    3 3/29:1137:310@2\\.\p0b0t5 is JVC's WO-drive "XR-W1001"

    The first number is the log level. This messages indicates the attachment of a subdevice; this is important enough for log level 3. Then you see the time represented as month/date:hourminute:secondtenth. The next symbol specifies the type of process that issued the command. The process symbols are:

    @ controls a drive. It actually reads the data requested by clients.
    % controls a changer. For simple jukeboxes it may also control the drive.
    ? accepts NFS and adm requests and replies quickly or queues them.
    $ accepts internal requests to support the native file system of the NT version.
    # schedules the requests from ? and $ and passes them to % and @.
    & creates and terminates @ and % processes upon request of #.
    - is a @ or % process during asynchronous task processing.
    - is a portmapper, started if the operating system does not run a portmapper.

    After the process type, a digit or letter may follow. Non-trivial requests that cannot be satisfied quickly from cache are assigned these digits or letters cyclically. This simplifies the task of tracing a single user request through the large log file of a busy server. A blank indicates that no specific request caused the action.

    Finally, there is the individual log message. This may, for example, report that a specific piece of hardware was detected, or that the server found a CD. CD names are reported in rr and pc format. A large class of messages are SCSI error reports:

    2 3/27:0329:349 @ 7 \\.\p0b0t5: 28 00 00 00 02 9b 00 00 01 00
    1 3/27:0329:349 @ 7 SCSI-Error in 28 - READ (10)
    1 3/27:0329:349 @ 7 status=2 sense=3 - MEDIUM ERROR
    1 3/27:0329:349 @ 7 ascode 0x14 0x00 - BLOCK NOT FOUND
    2 3/27:0329:349 @ 7 ReRead (0x14d800+0x800) got after 1 fault
    2 3/27:0329:349 @ 7 read after 2 attempts from x11r5

    Here the server reports an error that occurred during a SCSI READ command on a CD. The first line reports the complete SCSI command: 10 bytes that were sent to the drive. The next line reports the command key, 28 hexadecimal, with the SCSI command name, the 10-byte version of the SCSI READ command. The next line reports the SCSI status and sense key together with the meaning of the sense key. The next line shows the additional sense code reported by the drive and its explanation as given in the vendor's SCSI manual or in the SCSI standard. If the hardware failed, this explanation should point out which part of it failed and why. The last two lines are not part of the standard SCSI error message; they report that the server retried the READ command and got the requested data in the second attempt from a CD called x11r5. 0x14d800+0x800 means the server tried to read 0x800 raw bytes at disk offset 0x14d14d800.

    [Table of Contents] [Glossary]

    Send mail to webmaster@munich.ixos.de with questions or comments about this web site.
    Copyright © 1997 iXOS Software GmbH
    Last modified: