Materials:![]() Objectives: The student will become familiar with: ![]() ![]() ![]() ![]() ![]() ![]() ![]() Competency: The student will become familiar with the basic categories of PC-based hardware components and the differences between standard PC components and server specific components. The student will be able to evaluate components and complete server systems and be able to design and implement servers and physical server frameworks. |
In the introductory class, all major categories of PC components needed to build a standard PC that would be MPC '97 compliant was covered. It should be noted that the MPC '97 specification addresses a specific role for the PC - The Multimedia PC by name which was intended to be a standard for the end-user standalone PC. This role is quite different from that of a network server, but is a starting point for the discussion. In Lecture #2 - The Server Project, an overview of the general categories of hardware including server specific hardware was introduced however, it is important to remember that no specific hardware implementation on a PC will "turn it into a server" or distinguish it as a server. The only thing that turns a PC into a server is its role; the intention of the designer that it will function as a server, nothing more. Hardware comes into the picture as a means to this end, but it is not the end in and of itself.
Server specific hardware is then intended to provide the PC with a superior ability to carry out the specific role of being a network server as opposed to being an end-user standalone PC. So studying server specific hardware begins with establishing what criteria distinguish hardware that can facilitate the PC in the server role. Also, almost all server hardware requirements are often based on the specific server role(s) that the server is assigned.
![]() |
Processing Power: Servers are sometimes expected to have far superior processing power compared to the expectations of the average end-user PC. SQL server for example must run an enormous application managing potentially enormous database files servicing hundreds perhaps thousands of simultaneous user interactions. A workload that the average end-user PC cannot handle. On the other hand, file servers including special variations of this such as an FTP server do not have special processing power requirements. It can then be said that enhanced processing power requirements are role specific particularly to application servers. |
![]() |
Concurrent connections: End-user systems are expected to maintain one or perhaps a few concurrent connections and the reliability of these connections is not a design consideration. On the other hand servers are expected to maintain many concurrent connections sometimes hundreds even thousands and reliability is a design consideration. In order to manage many multiple simultaneous connections the server will need the raw processing power to do this but it will also need much more RAM than the average end-user PC, far greater performance particularly network connectivity throughput, and far greater overall reliability to maintain the connections. |
![]() |
Server Framework: End-user systems are not expected to function as single participating nodes within larger entities as servers are. A server is often required to fulfill a subset of the total required set of server roles on the network and as such has to participate and coordinate this activity with the other servers which collectively form the logical server framework or logical network infrastructure. Server nodes are sometimes linked together to act as a single server entity on the network in the form of a cluster server. These are more than likely tied together in a physical server framework, but even single node servers are often attached to the backbone of the network through special connections which define a physical server framework as well. |
![]() |
Performance: The server might be reliable but it must also be capable of handling the network requests as fast as possible. If it cannot, then it will get bogged down to the point where it will fail. Network requests are in general handled like a queue, operating system design calls it the "message queue", if there is a bottleneck, then the queue will backup to the point where messages (data requests from clients) start getting lost. Picture a bank lobby being attended by a single teller and the person they are assisting has a serious problem that is taking a long time, as more and more people arrive, the queue backs up to the point where people cannot even fit into the front door and some people will start getting disgusted with the wait and leave. The machine will not get disgusted, but the message queue is only so big, messages arriving that can not fit through the door will be lost, and end users watching an "hourglass" will get disgusted and start clicking and clicking adding more messages to the queue, exacerbating the problem. |
![]() |
Reliability: Servers might be fast but if they are not reliable then all of the speed is for nothing. Reliability here is refering to the reliable answering of client requests, it entails both security and also the availability of the server itself, to remain online and capable of responding to requests. Remember that security is itself made up of both data integrity and data confidentiality. If a server cannot adhere with both of these data security requirements then it certainly will not be reliable. |
![]() |
Security: In general server hardware is capable of providing added data integrity capabilities but almost no data confidentiality capabilities. Those duties fall to the operating system. These are many components that enhance the server's data integrity capabilities. |
![]() |
Availability: Data integrity based technologies certainly contribute to the availability of the server, but there are also high availability components that have nothing directly to do with the actual data itself. These would be classified as availability based components. |
The overall basic component list of the PC consists of:
![]() |
Chassis: The exterior housing of the entire computer. The server can use a standard PC chassis or a server specific chassis, this could then be called the server's form factor. Types of chassis include:
|
![]() |
Power supply: The internal power supply of the PC-based server performs the conversion of standard wall AC current into the much lower DC current required by the digital electronic components of the computer. Internal power supplies must be able to provide enough power to the internal components which is measured in wattage. Server power supplies also come in various physical sizes and connector combinations suitable for the same connector equipped circuit boards and devices. This is called the power supply's form factor. Server power supplies are also made in fault tolerant solutions including multiple fail-over power supplies. |
![]() |
Motherboard: The main circuit board of the computer to which the CPU(s) and RAM and expansion cards are physically mounted. Because of this, the motherboard determines the number of and types of supported processors, the amount, type, and speed of supported RAM, and the number of and bus types of supported expansion cards in particular. The motherboard therefore directly determines the overall processing power and performance of the computer. This starts with the choice of the chipset but it should be noted that different motherboard manufacturers can implement the same chipset differently which will also affect the performance of the computer. motherboards can also include their own set of integrated peripherals. By including these already on the motherboard, this frees expansion slots for use by other user selected expansion cards. In general, if the server chassis has the room (i.e. it is not a rackmount or a blade) the motherboard should have a few integrated peripherals as possible, in other words all peripherals should be expansion cards which makes them easy to replace should they fail. Motherboards expansion buses and numbers of slots available are an important consideration; while PCI is sufficient for many devices such as a 1000BaseTX interface card, it should be noted that this card has a throughput of 125MB/sec. The entire PCI buse has a maximum throughput of 133MB/sec. This means that attaching one more device to the bus, such as an ATA133 controller will exceed the throughput of the bus; the bus will not be able to read the hard drive at 133MB/sec and transmit the data out of the 1000BaseTX card at the same time Either the motherboard will need multiple PCI buses or a superior bus such as PCI-Express. Motherboards can resolve: processing power, performance, concurrent connections, server framework, availability, and security server specific requirements. ![]() A typical server class motherboard with dual Socket 603 support for two Intel Xeon server class processors. |
![]() |
CPU: This is the one component that in the PC industry is superior to the CPU's specifically made for other classes of general purpose computer such as the minicomputer or mainframe. This is because of the enormous economy that the PC industry represents which has funneled billions of dollars to Intel and AMD. Because of their head-to-head competition for market share, these two companies have reinvested billions of dollars into research and development of their products making the PC industry processors the most powerful single chip computers in the world. However, it is the number of them supported by the PC industry chipsets and motherboards that is the problem. In general most chipsets and motherboards can support a maximum of four processors. Any more than that and the chipset and the motherboard must be custom designed and manufactured which carries a huge "tooling up" cost for the manufacturer (read: millions). CPUs fulfill server specific processing power requirements measured by:
|
![]() |
RAM: Because the basic expectation of the server is raw processing power and the reliable maintenance of multiple concurrent connections, servers in general must have much more RAM than the average standalone PC. When evaluating RAM for the server, the total amount installed is the most important consideration. RAM and cache work together such that with ample cache, the MMU can stay ahead of the processor core(s) indefinitely as long as there is ample RAM holding all possible code that the core may require next. The speed of the RAM is not nearly as important as the fact that it is there at all and holds the required data. The MMU is moving the data out of the slower main RAM into the faster cache RAM where the speed of the cache can keep up with the core. But if the RAM simply does not exist, then the data cannot be loaded up off of the hard drive where it must stay, and when it is needed, it must be fetched up off of the hard drive which is thousands of times slower than even the slowest form of RAM. This is called virtual memory which is kept in the swap file and all modern 32-bit (and now 64-bit) operating systems must keep a swap file or else they would suddenly run out of RAM and crash if the system loads too many processes. It is the usage of the swap file that drags end user systems to a crawl. Servers cannot afford to do this and so must have vast amounts of RAM so that virtual memory usage is cut down to a minimum, although it should be noted that it is never completely eliminated. RAM can resolve performance and security server specific requirements. Factors in choosing RAM include:
|
![]() |
Storage Controllers: Servers are normally expected to have far superior data storage capacity, performance and integrity requirements than end user based PC's. Some servers, depending on the specific role or mission requirements can function adequately with standard ATA/SATA or SCSI controllers, but if the server has large data capacity or high performance data storage requirements, then these controllers will fall short of expectations. While standard controllers will all support software level RAID's, these are not as fast or as reliable as hardware level RAID's that are managed by the onboard controller circuitry itself. Storage controllers can resolve performance, security and availability server specific requirements. Factors include:
|
![]() |
Storage Devices - Hard Drives: Server storage capabilities are in general far more rigorous and demanding than the standard PC. The hard drives themselves are just as important as the controllers when designing the storage capabilities of the server. Server storage capabilities address maximum data capacity, security and availability, yet having moving parts, the hard drive is at once the slowest and the least reliable data container in the entire server physical platform. There is no practical method of predicting failure of the hard drive despite such efforts as S.M.A.R.T. - Self Monitoring, Analysis and Reporting Technology. The only technology albeit quite robust, that can address the issue of dubious hard drive reliability is RAID either software or hardward level or both in a composite schema. Any server claiming even basic availability levels will have to employ RAID technology in some form to overcome the inherent unreliability of the hard drives. Factors in choosing hard drives include:
|
![]() |
Storage Devices - Optical Drives: Optical drives represent one of the more significant physical security risks to the server in that they support removable media which is one of the two most common physical virus vectors and they are bootable, allowing the system to boot to an alternate operating system. Under this condition, the local server operating system is inactive and as such all of its data confidentiality security measures are down leaving all data on the system vulnerable to destruction or theft. Having said that, a locked or normally inaccessible optical drive can be useful for installing the operating system, additional role specific software, data/software for distribution to other servers or clients. In particular a DVD±R/±RW drive can serve as an adequate backup/restore/disaster recovery drive. Although this still might not justify a permanently installed optical drive compared with the security risk it represents. |
![]() |
Storage Devices - Tape Drives: Since security is a primary design consideration in servers, and data integrity is an integral part of security, it is crucial that all servers have a complete data backup system employed which includes considerations concerning the backup device, the backup media, the backup scheme, the backup schedule, backup media handling/storage, and backup testing in preparation for a real world disaster recovery situation. Tape drives are therefore an integral part of the server security requirements and factors involved in selecting them include:
|
![]() |
Network Connectivity Devices: Servers are expected to service multiple concurrent network connections between other server nodes as well as many often hundreds even thousands of client nodes. Because of this servers often need either multiple network connectivity devices or even special technology network connectivity devices or both. The Network Connectivity Devices employed on the server fulfill the servers concurrent connections and security requirements. Selection factors include:
|
![]() |
I/O Devices: Servers sometimes do not even have I/O device ports, and if they do, as a security precaution they are behind a locked access panel. If and when I/O devices are needed, they are usually minimal, including a standard 102/104 key keyboard, 2 button mouse and adequate display capable of VGA mode at 800 x 600 pixel resolution. |
![]() |
External Peripherals: External peripherals, especially external storage devices present a potential security threat and often the ports are either not provided at all or they are disabled. However, servers have external peripherals normally not found on end-users systems. Yet they are an integral part of basic server design and implementation:
|
Server hardware choices based on the population of clients on the network being served:
![]() |
Limited number of clients: No special hardware considerations. |
![]() |
Significant number of clients: Additional hardware considerations may be necessary including:
|
Server hardware choices based on the server's specific role(s) on the network being served:
![]() |
Limited number of roles: No special hardware considerations. |
![]() |
Significant number of roles: Putting a high workload burden on the server based on the number of roles has the same influence as putting a high workload burden based on the population (see above). |
![]() |
Local hardware share - file server: Includes: high speed storage controller and hard drive technologies. |
![]() |
Local software share - application server: Includes: maximum processing power and performance considerations. |
![]() |
Communication share - Layer 2 Gateway server: Includes: maximum processing power and concurrent connection considerations. |
![]() |
Network service provider - DHCP server: Some of these dedicated network service providers have very little additional special requirements until the expected workload becomes enormous. Then they will need processing power and concurrent connection considerations. |
Server hardware choices based on the server's mission (availability/reliability level):
![]() |
Level 0 - Replacable: No special hardware considerations: although no server or workstation in a business environment for that matter, should be without a surge protector and small UPS especially since the two cost less than a display. |
![]() |
Level 0.5-0.99 - Restorable: No special hardware considerations: although no server or workstation in a business environment for that matter, should be without a surge protector and small UPS especially since the two cost less than a display. |
![]() |
Level 99 - Available: Since the server should not go down: Availability solutions should be implemented including: ECC RAM, fault tolerant storage (RAID either software level or hardware level), and at the very least a surge protector and small UPS. |
![]() |
Level 99.9 - High Availability: High availability solutions can consider backup primary servers in load balancing or fail-over configuration incorporated into a physical server framework, individual servers hardware considerations include: ECC RAM, fault tolerant storage (RAID either software level or hardware level), and significant surge protection and battery backup UPS. |
![]() |
Level 99.99 - Mission Critical: A single server node cannot by definition be called a mission critical platform. Mission critical hardware level solutions therefore begin with multiple server nodes working together at least as fail-over and/or load balancing logical server framework infrastructure or cluster servers with or without special physical server framework infrastructure. Individual nodes must include very high availability technologies including: redundant components and the ability to automatically fail-over to them (i.e. dual fail-over internal power supplies), hotswappable technologies including: PCI Hotplug bus and expansion cards, and hotswappable hard drives, ECC RAM, fault tolerant storage technologies, and significant electrical service protection including: surge protector, line conditioner, significant backup battery UPS and most likely some form of AC power generator. ![]() This backup battery bank is the size of a large room and in the event of a power failure can provide the mainframe it supports for weeks. This is by definition a "significant" mission critical UPS system. |
It is clear that mission critical based solutions are by far the most expensive. It is often pointed out in the industry that the difference between availability levels is the inverse factor in pricing: .99 (99%) = 99 ($), .999 (99.9%) = 999 ($) and .9999 (99.99%) = $9999! Meaning what costs $99 for a 99% availability solution will cost $999 for a high availability solution and $9999 for a mission critical 99.99% solution and this is not far from the truth. Security based hardware considerations have already been discussed in lecture #5 including securing the server environment as well as physical solutions on the server itself.
List the seven server hardware planning factors affected by role(s), population of clients, mission (availability/reliability) and security:
List the major categories of PC-based server hardware listed above:
List the major categories of PC-based server hardware listed above:
List the major categories of PC-based server chassis listed above:
List the considerations involved in selecting a PC-based server power supply listed above:
List and describe the considerations involved in selecting a PC-based server CPU listed above:
List and describe the considerations involved in selecting a PC-based server RAM listed above:
List and describe the considerations involved in selecting a PC-based server motherboard listed above:
List and describe the considerations involved in selecting a PC-based server storage controller listed above:
List and describe the considerations involved in selecting a PC-based server hard drive(s) listed above:
List and describe the considerations involved in selecting a PC-based server optical drive(s) listed above:
List and describe the considerations involved in selecting a PC-based server tape backup drive listed above:
List and describe the considerations involved in selecting a PC-based server network interface controller listed above:
List and describe the considerations involved in selecting a PC-based server video controller listed above:
List and describe the considerations involved in selecting a PC-based server sound controller listed above:
List and describe the considerations involved in selecting a PC-based server I/O devices listed above:
List and describe the considerations involved in selecting a PC-based server external peripherals (server specific devices) listed above:
List and describe the considerations involved in selecting a PC-based server hardware based on significant population of clients:
List and describe the considerations involved in selecting a PC-based server hardware based on significant number of roles:
List and describe the considerations involved in selecting a PC-based server hardware based on a "level 99" availability mission:
List and describe the considerations involved in selecting a PC-based server hardware based on a "level 99.9" high availability mission:
List and describe the considerations involved in selecting a PC-based server hardware based on a "level 99.99" mission critical server:
Copyright©2000-2008 Brian Robinson ALL RIGHTS RESERVED