In computing, a file server is a computer attached to a network that has the primary purpose of providing a location for shared disk access, i.e. shared storage of computer files (such as documents, sound files, photographs, movies, images, databases, etc.) that can be accessed by the workstations that are attached to the computer network. The term server highlights the role of the machine in the client-server scheme, where the clients are the workstations using the storage. A file server is usually not performing any calculations, and does not run any programs on behalf of the clients. It is designed primarily to enable the rapid storage and retrieval of data where the heavy computation is provided by the workstations.
File servers are commonly found in schools and offices and rarely seen in local internet service providers using LAN to connect their client computers.
In the mid-1980s enterprises became increasingly interested in ways to connect a rapidly growing population of personal computers. Novell proposed an approach using software to connect each workstation to a network file server that would manage both the network and access to network resources. Novell grew upon the strength of its Netware operating system, used for file serving, and by the late 1980s had a 50% market share of local area networks.
A file server may be dedicated or non-dedicated. A dedicated server is generally designed specifically for use as a file server, with workstations attached for reading and writing files and databases. File servers may also be categorized by the method of access: Internet file servers are frequently accessed by File Transfer Protocol (FTP) or by HTTP (but are different from web servers, that often provide dynamic web content in addition to static files). Servers on a LAN are usually accessed by SMB/CIFS protocol (Windows and Unix-like) or NFS protocol (Unix-like systems). Database servers, that provide access to a shared database via a database device driver, are not regarded as file servers. Most file servers are simultaneously print servers too, as they provide access to printers via network. A single file serving computer may be accessible by multiple means: it may run an FTP server, an SMB server, etc., serving the same files.
In modern businesses the design of file servers is complicated by competing demands for storage space, access speed, recoverability, ease of administration, security, and budget. This is further complicated by a constantly changing environment, where new hardware and technology rapidly obsoletes old equipment, and yet must seamlessly come online in a fashion compatible with the older machinery. To manage throughput, peak loads, and response time, vendors may utilize queuing theory to model how the combination of hardware and software will respond over various levels of demand. Servers may also employ dynamic load balancing scheme to distribute requests across various pieces of hardware.
The primary piece of hardware equipment for servers over the last couple of decades has proven to be the hard disk drive. Although other forms of storage are viable (such as magnetic tape and solid-state drives) disk drives have continued to offer the best fit for cost, performance, and capacity.
Since the crucial function of a file server is storage, technology has been developed to operate multiple disk drives together as a team, forming a disk array. A disk array typically has cache (temporary memory storage that is faster than the magnetic disks), as well as advanced functions like RAID and storage virtualization. Typically disk arrays increase level of availability by using redundant components other than RAID, such as power supplies. Disk arrays may be consolidated or virtualized in a storage area network (SAN).
In 1990s, introduction of specialized file serving devices, the NetApp filers, popularized the concept of network-attached storage (NAS). To this time, file servers were still implemented with general-purpose servers and OSes. NetApp changed this by introducing specialized network appliances, with a proprietary software and scalable to multiple disk enclosures holding tens or hundreds of disks grouped in multiple disk arrays. Filers later extended to non-file protocols, such as iSCSI, but still NAS is popularly perceived as mainly a file serving technology.
File servers generally offer some form of system security to limit access to files to specific users or groups. In large organizations, this is a task usually delegated to what is known as directory services such as openLDAP, Novell's eDirectory or Microsoft's Active Directory.
These servers work within the hierarchical computing environment which treat users, computers, applications and files as distinct but related entities on the network and grant access based on user or group credentials. In many cases, the directory service spans many file servers, potentially hundreds for large organizations. In the past, and in smaller organizations, authentication can take place directly to the server itself.
While file servers can provide an organization with a highly centralized method of sharing data, they frequently run up against performance bottlenecks that limit the speed at which data can be passed to and from the network clients.
For example, while gigabit backbones are common in organizations, as of 2009 it is still difficult for a single server using SAS disk storage to fully utilize a gigabit link at maximum speed, often only achieving up to 750 megabit of the rated link speed. Ten-gigabit backbones generally cannot be fully utilized by a single file server, but instead are used to aggregate client data across multiple servers operating in parallel.
Network performance also hindered by the desktop client computer, which has generally lower performance memory and storage than most servers, such that 100 megabit to the desktop is still considered acceptable for business networks. Many desktop computers are unable to achieve much greater than 250 megabit, using gigabit server connections.
Part of the difficulty is that current mechanical disk technology slows down severely when very small files are involved, due to relatively slow head seeking speed between sectors on the storage device. A desktop computer downloading a Microsoft windows roaming profile on a gigabit link can drop to no more than 20 megabit speed when downloading the user's cookies, favorites, and recent files list, which can consist of thousands of individual files in a roaming profile, with each file less than 4 kilobytes in size.
As desktop and server storage moves towards solid state technology, these smaller files can be read and written much more quickly because sector seek time does not apply to solid-state storage.
The file server can be a normal computer, or a Network Attached Storage, which is a special computer created to only be a file server. Often people recycle their old computer and they modify it to become a file server which can hold photos, songs, films, and backups. Sometimes web servers that are "hand made" are used as a media center, people put things on the file server (for example movies) and then watch (or use) the things on the file server, often on a Television (like how a DVD player works).