The built-in networking functionality of UNIX prompted the development of a system that not only allowed users to share files across the network but which provided a method of organizing data that allowed the server to share its files with users within the network. Thus, the importance of the UNIX file system became apparent. The file system, as shown in Figure 3-3, forms the foundation for data sharing.
The file system is a method by which data is organized and accessed within a computer system. Generally a component of the operating system, its employed by users and the OS itself. On behalf of application programs and interactive users, the system organizes data into logically defined instances, where the operating system can find information it needs to collect data on their behalf , and perform an I/O function to satisfy their request. The OS and the users form logical associations between the segments of datawhich are referred to as filesthrough a naming convention as defined by the operating system.
Emergence of the Network File System (NFS) drove the innovation behind the development of a special computerwhose only job was to do I/O. Two pioneering innovators, Auspex and Network Appliance, became the first to offer a downsized UNIX OS with larger amounts of disk storage and the capability to connect to a TCP/IP network. It leveraged an NFS file system organization that allowed users and their client computers to connect to their data, as shown in Figure 3-4. The result was the emergence of the first Network Attached Storage product.
The early NAS storage devices were UNIX-based and used largely in areas of academic research, scientific applications, and computer science development. The early deployment provided a method of storing large amounts of data used in research areas, such as simulating meteorological conditions, geological conditions, and nuclear testingin other words, it aided any project that involved massive amounts of data which couldnt be easily stored on individual workstations or file servers. Early NAS products also proved to be quite productive in code development areas, where computer code had to be shared between developers and development teams . Figures 3-5a and 3-5b depict these types, respectively.
The emergence of networking required the file system to become shared throughout the computers on the network. Consequently, the network file system allows a computer to make available its file system to other users within the network. Other systems and users within the network can attach to the file system and access the data. The remote files from the shared computer are thus seen as local files by the local operating system, thereby providing a virtual set of files which dont actually exist on the local computer. Instead, their location is Virtual , or Virtualized .
The next evolution was the integration into the traditional client/server environments supporting Windows operating systems. This initially provided a much more hybrid approach, given the capacities of early windows networks, proprietary protocols, and usage of database servers running UNIX. The first stage of Windows networking was the formation of a type of network file server, still in use today, using proprietary networking systems. Figure 3-6 depicts these early configurations that functioned as File Servers, not necessarily network attached storage, but which served in a similar capacity to the early UNIX servers mentioned previously.
However, Windows did have the capability to perform Remote Procedure Calls (RPCs) and through this function it was able to participate within a networked file system. The capability to provide and link to network drives became the Windows NFS compatible architecture, with the capability to participate within TCP/IP networks as well as proprietary networks based on Novell and Banyan proprietary packet-switched architectures. (More detailed information on file systems, network drives , and virtualization can be found in Part II of this book.)
These networking architectures gave way to the networking protocol standards of TCP/IP, based upon the standard OSI model. (Open Systems Interconnection is a standard description or reference model for how messages should be transmitted between any two points in a telecommunication network.) Although largely driven by everyones attempt to integrate with the Internet and growing web application infrastructure, this was something that the early UNIX users had long been doingfor example, already connecting to ARPANET.
These activities caused the development of a file system for use within the prolific web server software. Although Internet servers evolved and consisted largely of UNIX-based servers, the web application software phenomenon was founded on Windows systems. This formed the basis of the Common Internet File System (CIFS), a file system that was compatible with Windows web Internet environments and which could participate within a standard TCP/IP networked environmentand thus within UNIX-based environments.
Therefore those NAS vendors who already supported TCP/IP networks and network file systems, moved quickly to support multiple operating environments and file systems. Todays NAS devices come in a wide variety of flavors. However, most industry leaders support both UNIX-based environments based upon an NFS file system architecture with support for Windows through CIFS file systems. As indicated in Figure 3-7 these offerings often allow both systems access to a NAS device.
As we discussed previously, early NAS devices supported UNIX environments only. These file-oriented servers were used in academic, government, and computer science applications in which data requirements surpassed standard internal and external storage devices where no other device could be used. These environments furthered the black box characteristics of NAS as a storage device. The reason being that users could not configure NAS servers to run other applications or even access the OS itself. The OS in the NAS box is what is called a Real-Time Operating System (RTOS), a clever name for a specialized UNIX OS with a special set of functions for a specific assignment. In the NAS case, this was file I/Ofor example, the capability to optimize the execution of file access to the connected storage, and leverage the NFS system as a shared catalogue for network users.