This chapter introduces the management aspects of a file system, and discusses organizing one. The objectives important to this chapter are found on page 7-1:
Concepts:Use NetWare Management PortalNetWare Management Portal is a GUI-based tool that allows you to remotely manage NetWare servers. The Portal is run in a browser on a workstation running any 32-bit version of Windows. Basic requirements for running NetWare Management Portal:
The interface includes a link to Novell's web site. It displays a vertical list of seven "tabs" that let you manage features of your server. (Some of these features will not mean much to you until you read the rest of the chapter):
Define NetWare 5.1 Memory ManagementMemory on a server is managed by the NetWare operating system. The NetWare operating system uses 4 KB blocks of memory called pages. No one ever seems to have enough memory, so we manage what we have. We can set several parameters that affect how it is managed. One characteristic that makes this possible is that the server does not need to use actual contiguous (i.e. sequentially numbered; touching) blocks of memory. Discontiguous blocks may be used as logically contiguous blocks, increasing the efficiency of programs run on the server. This is an advantage because some programs will not run unless loaded into contiguous blocks. The Novell server "tricks" the programs into "thinking" that they are so loaded. Two areas of memory management are listed in the chapter:
It is important to know that when a process runs on the server, a pool of memory is allocated to that process. This pool may be several pages. Pages of memory are used and then may be returned to a local pool (which belongs to the server) while a process is still running, and the memory may be reclaimed by the server for further use. NetWare servers now use virtual memory, which means that
free space on the hard drives can be used to simulate RAM with a swap
file, similar to the one you may be used to in Windows. Swap file
activity is checked every 10 seconds. When the the swap file is used heavily,
a process called Garbage Collection takes place often.
Garbage Collection gathers small amounts of free memory and makes them
look like contiguous memory space. If the swap file is relatively inactive,
it works like this: when programs let go of memory they call the Free
utility, and the memory is reallocated to their individual pool.
It may not be usable until Garbage Collection takes place, because
of the small amount of memory released. Three settings may help this take
place:
Describe and Manage Virtual MemorySwap files are very important to memory usage. Some facts about them:
Frequent swapping from RAM to swap files is called disk thrashing. You do not want this to happen, for obvious reasons: it wears out the drive and it wastes time that the server could use doing something else. If the server is exhibiting disk thrashing, the standard solution is to add more RAM. Commands used to manage swap files: (You should review this list carefully.)
NetWare Management Portal allows you to change these settings from a workstation. Describe and Manage NetWare ApplicationsThe next discussion concerns allocating CPU time to applications. Two terms are defined:
If you think of NLMs as applications, and applications as groups of threads, it is easier to understand the idea that all programs running on the server are assigned to some application, some group. If an NLM does not create its own application, it is assigned to the NetWare Application, which is the default. This can put too much burden on the server, by not dividing its attention. To overcome the potential burden of having all threads assigned to the
default application, you can use a syntax like this when loading an NLM: LOAD -A= user_defined_name NLM_nameThe "-A=" means "I am about to define an application name". The application name should be unique. The name of the NLM being loaded comes last. Once the application is loaded, you can assign an arbitrary share value to each application. The actual numbers used are not percentages, nor do they have any particular unit of measure. The NetWare Application has an arbitrary share value of 100. The processor is assigned time for each application based on the value assigned to it, relative to the values assigned to other applications. Describe and Manage Protected Address SpacesThe next concept is protected memory. The idea is that programs that run in protected space are safer from intrusion by other programs, and are less likely to intrude on other programs themselves. NetWare 5.1 allows the administrator to abort programs that trespass out of their protected space without crashing the server or harming other programs. Unfortunately, the NetWare operating system itself does not run in protected space. The space it runs in is called the OS address space or the kernel address space. So, the SYSCALLS.NLM program serves as an interface between the protected mode programs and the operating system. More points about protected memory:
A chart of commands associated with protected memory appears on page 7-33. You should review this chart. Evaluate MONITOR Screen StatisticsMONITOR is a character-based utility for watching over the server. The next section of the chapter discusses how to use MONITOR (it is a real pain, typing that in caps every time). This objective requires that you know how to run MONITOR (type its name on a server console command line), and how to read the various statistics it displays. Character-based menus are easy to use: navigate up and down with arrow keys, select with the enter key, and back up with the escape key. MONITOR can be used to change settings, as well as monitor them. Identify How to Monitor and Modify Cache PerformanceOne of MONITOR's most useful pages of information is Cache Utilization.(Cache is pronounced like cash.) The caches referenced here are areas in RAM where the NOS has stored information read from a hard drive. Information is stored in caches to make it quickly available to a process that might have to refer to it several times. It is faster to read a RAM cache than to read from a hard drive. The statistic to care about here is the Long Term Cache Hits. It should be above 90%. If not, your server needs more RAM. A more immediate solution is to unload some NLMs you are not using. Read and Write Caches are discussed next. The system will store information it needs to write until it thinks there is enough information to make accessing the hard drive worthwhile. (This is like the performance of smartdrive in DOS/Windows.) A Dirty Disk Cache (pronounce it carefully) is one that has not been written to disk in the amount of time allowed by the Dirty Disk Cache Delay Time. This time is set by default to 3.3 seconds. The text recommends we set it higher if users are making lots of small write requests. This would decrease the number of Dirty Cache Buffers that would appear in the General Information screen. Changes to the Read Cache are listed on the same page, to increase the response to requests. Note that the change to Maximum Concurrent Directory Cache Writes is a reduction, the opposite of the change recommended to accommodate lots of small file writes. Processor Utilization was discussed in the previous version of this book. This will vary from moment to moment. Note that the Idle Loop process will take up a large percentage of the CPU time when nothing is happening on the server. A server may show Processor Utilization at 100% for a few moments or a few minutes during normal operation. If performance suffers during these times, adjustments may be needed. Memory Utilization is discussed briefly at the end of this topic.
A point worth noting is that the amount of memory taken up to run an NLM
is usually the size of the NLM file, but there are two exceptions:
Identify Server Buffer and Packet ParametersPackets are an important concept. A packet is essentially a message unit, a piece of a message, passed across the net. Packet size in use on a net may depend any of several limits: the size required by the server, a workstation, a router, or the topology being used. Token rings often have a default maximum packet size of 4202 bytes, while ethernets often use 1514 bytes per packet. There is a discussion about using MONITOR to set the Maximum Physical Receive Packet Size. This can be a dangerous thing, since some users have reported being kicked off their nets by receiving packets too large for their machines. In determining the maximum allowable packet size, make sure you check all limits on all parts of your network. Packet Receive Buffers are is a kind of buffer meant to receive
packets from the net. These buffers will normally hold requests from clients
until they are processed. Settings regarding these buffers:
The network board statistics are related to the Packet Buffers. An important one is Receive discarded, no available buffers. If this number is high, we are getting more packets than we can handle. (High is more than 2% of the total packets received.) Increase the Maximum and Minimum Packet Receive Buffers to compensate. A new statistic is Packets queued for transmission. If this number is high compared to other servers, the NIC may be too slow for the server. The discussion of disk drivers is primarily concerned with the relative efficiency of the card and driver combination you are using in the server. You should make sure they match and are as up to date as possible. Identify Methods for Optimizing Disk SpaceThe next section of the text concerns the issue of Disk Space.
Two methods of optimizing disk space are explained:
Block Suballocation is easy to understand. Files are stored on disks in space allocation units called blocks. In general, small files waste space if they do not fill a block. In large hard drives, blocks can be fairly large, 16 or 32 Kilobytes for instance. This means that a file that is less than a block in size will still take up a whole block to save, since files have to be saved starting in an empty block. (This is a rule: memorize it.) Even larger files are wasteful, in that they can flow into a new block from the one they started in, and still leave a large part of the block empty. Novell to the rescue. Block suballocation allows us to divide blocks into 512 byte sections (suballocation blocks). The small file (less than a block in size) still takes up its space in an empty block. The larger file, however, may overflow into the unused space in the block of the small file, once it has filled its starting block. Block Suballocation is enabled by default when NetWare is installed. File Compression is a tedious process for the computer to do.
It is broken down into five steps on page 7-57, all carried out by the
NOS:
This process takes an appreciable time for the server to carry out, so it usually compresses files after business hours. Block suballocation and file compression are enabled by default. You may choose whether to enable them in a Custom installation, or enable them later. Once enabled, neither can be turned off without recreating the volume in question. File Compression, however, can be overridden at the file and directory levels, using file and directory attributes. On page 7-60, there is a review of the attributes used to override compression schedules. The IC attribute engages immediate compression for a file or directory after use, and the DC attribute tells the system not to compress a file or directory regardless of space that would be saved. |