General Introduction to Servers

Материал из Mandriva Russian Community Wiki

Перейти к: навигация, поиск
Historically, computer networks have been designed around large, powerful machines that provide services (email, Internet access, database information, Voice Over IP, web services, etc.) to workstations or "client" machines via some network protocol. This client-server model still applies in many production environments where powerful machines provide services under a busy network load. When referring to server hardware, we still refer to powerful machines designed for processing under heavy load with all the requirements for memory, network connectivity, and temperature management that such an environment entails.

The term "server" is typically applied very broadly to hardware and software that provide services to computers. Those computers can be located across the Internet, on a common LAN segment, or even the very same computer that the server software is running on. In Linux-land it is not unusual to find small netbooks running the Apache web server or other software commonly found on production servers powering the Internet. Since Linux is designed as a networked, multi-user operating system, it is common to find computers on a variety of scales functioning as servers. So, a system may be a "server" by virtue of the fact that is provides services, even if those services are provided only to the machine itself.


Содержание

Hardware

As mentioned above, server hardware in a production environment must be robust and powerful enough to handle potentially high loads of incoming and outbound traffic. It must be capable of long periods of uptime with little or no interruption. The hardware must be reliable in terms of providing the services required and maintaining maximum data throughput to make those services widely and quickly available. More and more, server hardware is expected to achieve higher energy efficiency. It costs money and carbon to operate a server, to say nothing of supporting the server with temperature management and peripherals.

Файл:Backup server.jpg
The backup server in my closet.


Server hardware may be extensive rack mounted clusters of specialized machines operating in a large datacenter, or a simple box tucked under a desk or sitting on the floor of a closet. The evolving requirements for servers have lead to very small servers like the Space Cube and the Sheeva Plug. Between these extremes are relatively inexpensive, general purpose desktop machines that work quite well as servers given sufficient hard drive space, network connectivity, and properly configured software.

Software

The foundation of any computer system's software is the Operating System. Linux is rooted in multi-user network environments and is well suited to server systems. While there are versions of many popular Linux distributions specifically tuned for servers, the general release of Mandriva has proven reliable and appropriate for this kind of application. In fact, Mandriva offers a full range of packages for server software as well as a fine configuration utility called DrakWizard. Installing and configuring server applications on Mandriva is relatively simple whether it occurs at initial installation or after the fact. User's requiring a professional grade, business oriented, high-performance server solution should consider something like the Mandriva Enterprise Server

Other considerations for server software include streamlining installed packages. For example, servers are generally configured and maintained from a command line interface. This makes a graphical user environment unnecessary and potentially undesirable. Not installing or running the GUI means freeing up resources to be used for server functions. Not installing components that will go unused is more efficient because it avoids clutter. It also helps secure the system by not opening ports unnecessarily or spending resources on unused processes.

Connectivity and Security

Unless the server machine in question is going to provide services only to itself, it will be necessary for that machine to be connected to a network of some sort. It may be as simple as a connection to another single machine via a crossover cable, or it may be a sophisticated, dual-home connection to the Internet and a multi-segment LAN. Plenty of users have something that falls between those two. In my case, as of this writing I maintain a primary server that serves files via Samba, mail via Postfix, MySQL, SSH, ProFTP and a number of other services. I also maintain a Home Theater PC (HTPC) running MythTV, and a backup server serving BackupPC. These machines all run some flavor of Mandriva OS and are connected to my LAN via a Linksys router which can also be characterized as a server since it provides some network services.

The Linksys is a NAT router that provides some security. It is also necessary to operate sufficient firewall protection behind that router to prevent intrusion by malicious visitors. I use a program called Fail2Ban to protect my SSH and FTP servers. Fail2Ban routinely bans two or three IP addresses per day when people try to hack their way into my servers to pwn them for nefarious reasons. It is wise to learn other basic security techniques like changing default server ports. I have learned to use Nmap and other network security tools to monitor open ports on the Internet-facing connections for my network. No network is inherently secure regardless of the operating systems running on that network.

Предупреждение
If you open any server to the Internet, you become a network administrator on the Internet -- constant vigilance is now your duty.

External links