Novell Storage Services (NSS) Information

  • 3617750
  • 03-Jul-2007
  • 27-Apr-2012


Novell NetWare 5.1
Novell NetWare 5.1 Support Pack 2a (NW51SP2A.EXE)
Novell NSS Volumes


Q1) how does the rebuild process operate.

Q2) Is there any way of optimizing this rebuild process. Do any of the parameters for NSS have an effect on this process, such as the amount of cache assigned to NSS.

Q3) Currently there is no option with NSS but to have 4k block sizes. What impact should this have on the strip size of the raid array (raid 5). Will performance be enhanced by making the strip size on the raid the same as the 4k block size in NSS or is the impact of this not going to have any affect on performance.
Novell Storage Services (NSS) Information


A1) Per the explanation in the NSS white paper NSS uses a B-tree structure.

Performance. The Object Engine stores objects on disk in balanced trees, sometimes called B-trees, to improve system performance. Using the compact B-tree structures guarantees the system can retrieve an object from the disk in no more than four I/O cycles. B-trees also improve memory management by letting the system locate an object anywhere in storage without loading the entire directory entry table into memory.
The ability to share name spaces also improves disk space usage. Instead of storing a name for each name space in a single stored object, such as one name for DOS and another for NFS, the name spaces in an object share a common name, if no naming conflicts exist.

Robustness. To enable rapid volume mounts after a crash, the Object Engine maintains a journal that records all transactions written to disk and all transactions waiting to be written. In the event of a system crash, the traditional IntranetWare recovery procedure would include using the VREPAIR utility to laboriously check and repair inconsistencies in the Directory entry tables. Instead, the Object Engine can locate an error on a disk by referencing the transaction journal, noting the incomplete transaction, and correcting the error by either re-processing the incomplete transaction or by backing it out-all without searching the volume.

A2 ) Change cache buffers parameters to speed up the process of rebuild

A3 ) The answer would to be to match the block sizes with the strip size. This comes from information given by IBM and not from Novell. The Note at the end explains that it would be best to get this information from the hardware vendor.

"After you configure an array and store data on the logical drives, you cannot change the stripe-unit size without destroying data in the logical drives. The stripe-unit size is the amount of data written on a given disk before writing on the next disk. To maximize the overall performance, you should choose a size that is close to the size of the system I/O request. You can set the stripe-unit size to 8 KB, 16 KB, 32 KB, or 64 KB. When the stripe-unit size is 8 KB (the default setting) or 16 KB, the maximum number of physical drives supported in an array is 16. When the stripe-unit size is 32 KB or 64 KB, the maximum number of physical drives supported in an array is eight. The ServerRaid controller transfers data from a disk to local cache in increments equal to the system I/O request size, without reading ahead to the end of the stripe. The book indicates that the stripe Unit Size should be set to the System I/O Request size. According to IBM technicians, it is the block size on the volume.
NOTE: The above information is IBM's recommendation for their Raid Array. Although other raid vendors have similar recommendations - it's best for our customers to contact their respective hardware vendors for this information. "

Additional Information

Formerly known as TID# 10061571