In computing, a file server (or fileserver) is a computer attached to a network that provides 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 able to reach the computer that shares the access through a 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. It is common that a file server does not perform computational tasks, and does not run programs on behalf of its clients. It is designed primarily to enable the storage and retrieval of data while the computation is carried out by the workstations.
File servers are commonly found in schools and offices, where users use a "LAN to connect their client computers.
A file server may be dedicated or non-dedicated. A dedicated server is 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 as they may require "Record locking.
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 obsolesces 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 "SAN.
Network-attached storage (NAS) is file-level "computer data storage connected to a "computer network providing data access to a "heterogeneous group of clients. NAS devices specifically are distinguished from file servers generally in a NAS being a "computer appliance – a specialized computer built from the ground up for serving files – rather than a general purpose computer being used for serving files (possibly with other functions). In discussions of NASs, the term "file server" generally stands for a contrasting term, referring to general purpose computers only.
As of 2010[update] NAS devices are gaining popularity, offering a convenient method for sharing files between multiple computers. Potential benefits of network-attached storage, compared to non-dedicated file servers, include faster data access, easier administration, and simple configuration.
NAS systems are networked "appliances containing one or more hard drives, often arranged into logical, redundant storage containers or "RAID arrays. Network Attached Storage removes the responsibility of file serving from other servers on the network. They typically provide access to files using network file sharing protocols such as "NFS, SMB/CIFS ("Server Message Block/Common Internet File System), or "AFP.
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 could take place directly at the server itself.