NetWare File System
Developer(s) | Novell |
---|---|
Full name | NetWare File System |
Partition IDs | 0x64 (2.x), 0x65 (3.X-6.X) |
Structures | |
Directory contents | 32 bit Mirrored FAT |
File allocation | 64K Indexed Block |
Bad blocks | Hotfixing |
Limits | |
Max volume size | 16 TiB |
Max file size | 4 GiB x 64K |
Max no. of files | 4 Billion |
Max filename length | 256 bytes |
Features | |
Transparent compression | Yes (Shannon Fano) |
Transparent encryption | Yes |
Other | |
Supported operating systems | Novell NetWare,Linux,Windows |
NetWare File System (NWFS) is a file system, based on a heavily-modified version of FAT. It was used in the Novell NetWare operating system. It is the default and only file system for all volumes in versions 2.x through 4.x, and the default and only file system for the SYS volume continuing through version 5.x. There were two varieties of NWFS: 16-bit NWFS 286, used in NetWare 2.x; and 32-bit NWFS 386, used in NetWare 3.x through NetWare 6.x. It was superseded by the release of Novell Storage Services (NSS) in 1998.
The Netware File System uses a 32 bit File Allocation Table scheme similar to the MSDOS file system with several improvements including block suballocation, sparse files by the use of block indexes in the fat tables, and mirrored fat and directory files. The NetWare file system also employed a 4 way cylinder aligned segment table to record volume disk segments should a drive spindle fail allowing recovery. NSS subsequently integrated many of the robust features of the NetWare File system into its design including mirroring and hotfixing. The Open Source NetWare File System was designed by Jeff Merkey and Darren Major.
The NetWare file system was the first storage architecture to employ sector remapping for failed drive sectors called drive hotfixing which would redirect sector mapping to a reserved area of the device. Later Disk Drive manufactuters employed the same technique internally within the drive logic to perform a similar function transparently to the host operating system.
Open Source NetWare File System
In 1999 the Open Source NetWare File System was released on Linux and Windows. The NWFS on-disk format for NetWare 3.x, 4,x, and 5.x was developed and then publicly released on Linux in 1999 and 2000 by former Novell Chief Scientist Jeff Merkey and Darren Major from the Timpanogas Research Group. The specifications for 32-bit NWFS was never published by Novell but the open source version published disclosed the actual specifications for NWFS:
- Maximum file size: 4 billion x 64K
- Maximum volume size: 16TB
- Maximum files per volume: 4 billion when using a single name space.
- Maximum files per server: 4 Billion
- Maximum directory entries: 4 Billion
- Directory Record Size: 128 bytes (DOS), 3 x 128 (LONGNAME), 3 x 128 (UNIX), 2 x 128 (MAC)
- Maximum volumes per server: 64
- Maximum volumes per partition: 8
- Maximum open files per server: 100,000
- Maximum directory tree depth: Infinite
- Characters used: ASCII double-byte, UTF8
- Maximum extended attributes: 16
- Maximum data streams: 10
- Support for different name spaces: Microsoft Windows Long names (A.K.A. OS/2 namespace), Unix, Apple Macintosh
- Support for restoring deleted files (salvage)
- Support for journaling (transaction tracking service)
- Support for block suballocation, starting in NetWare 4.x
Transparent file compression was also supported, although this had a significant impact on the performance of file serving.
Every name space requires its own separate directory entry for each file. The FTAM namespace was later converted into a B++ tree for journalled recovery as this namespace was reserved but never used in practice.
16-bit NWFS could handle volumes of up to 256MB. However, its only name space support was a dedicated API to handle Macintosh clients.