As discussed in Chapter 10, NAS hardware works like a Network I/O manager for remote applications. From the perspective of the NAS software, which functions as the I/O manager, it essentially becomes a remote file system with attached storage. As such, similar consideration should be given to the software components that utilize the corresponding NAS hardware features. Working together, they form the complex functionality that facilitates Network Attached Storage. This chapter discusses the software components and their sometimes-eclectic characteristics. Given the bundled architecture of the NAS devices and the black box orientation of NAS, nee storage appliance, each component will confront different issues as they perform their primary functions as a remote file system and attached storage.
NAS software can be categorized into three major components, as shown Figure 11-1. The first is the NAS micro-kernel, an optimized operating system. Working with the micro-kernel is file system software and file communication protocols that provide the NAS with its remote file capabilities. The foundation for the NAS solution is the storage software itself, made up of device drivers, RAID software, and other feature enhancements provided by particular vendors .
Although a fourth category exists, defined as the connectivity component, we defer discussion of this until the next chapter. The importance of networking and connectivity issues demand enough attention that in-depth discussions need to be dedicated to these subjects alone. Consequently, this chapter will deal with the internal software components of the NAS devices, with network communication factors being addressed only in a high level.