|
|
|
Virtual Servers - In Depth
Software never wears out. When all the bugs have been removed and
it's working just right it will carry on doing so forever. In 10 years it will
probably be out-of-date and irrelevant but it won't have worn out or failed.
All the hardware components contained in a computer will eventually fail.
After 3 years, many computer parts have reached old age and
the likelihood of a sudden, permanent failure increases.
Virtual computers don't have any hardware. Instead they live as parasites on one
real computer stealing its memory, hard disk space, CPU cycles and
network bandwidth. A virtual computer needs no power supply or cooling
fans, occupies no physical space and requires only a small amount of to run.
When the "host" computer dies because of hardware
failure the virtual computers can move on to a new host.
If a host computer has enough resources it can have as many as 64 virtual
computers running on it at once. A practical limit with today's hardware is 10.
Virtual computers have the advantage that they can be setup and
configured quickly. The most complicated setup might take a few hours to
get going while simpler systems can be up and running in a matter of minutes.
As a virtual server has no direct connection to the host's hardware and so
it can be moved from one host to another without modification.
Intel or AMD processors, IDE, SATA or SCSI drives, different video cards - it doesn't matter, as long
as a host has the correct drivers to deal with its own hardware, the virtual server will happily run on it.
Increasing RAM, changing hard disk partition sizes, and adding other
virtual hardware is just a few mouse clicks.
Although the computers are virtual, it would take an expert to
distinguish them from real computers and they can perform almost any function that a real computer can.
You can also have a virtual LAN with a mixture of servers and
workstations connected to an imaginary switch and an imaginary router to the
Internet, all operating on one physical machine.
First there were Emulators which are programs that run on one type of
computer, say a MAC, and simulate the environment of a different type of
computer, say Windows XP, for Windows programs to run in.
Emulating Windows is fiendishly difficult because:-
1 - |
Microsoft won't cooperate and even accuse you of reverse
engineering their product |
2 - |
Windows has hidden API calls that only Microsoft programmers
know about |
3 - |
The constant stream of patching that goes on for Windows
makes it a moving target for emulators |
As a result emulators can only run a limited
number of Windows programs and they are known for running slowly.
I don't know when the Eureka moment occurred, but someone said:-
|
|
|
Anyone is entitled develop their own hardware and
the fact that it's virtual hardware doesn't matter as long as you have
drivers for it that Windows understands. The Windows operating system
will look after itself with patching and will be 100% compatible will
real Windows computers and, because each installation still requires a
Windows licence, Microsoft was supportive of the idea.
Thus Virtual Computers - workstations and servers - were born.
For people who, in the past, needed to multi-boot their computers to
different operating systems, Virtual PCs offered a better solution as
you can jump between different operating systems without rebooting, and you don't risk messing
things up with non-standard boot sectors.
Someone working on a computer helpdesk may have Windows XP on their main PC
but can be running Windows 98, Windows ME and Windows 2000 as Virtual
PCs so that they can, more easily, support users running one of these older versions of Windows.
By jumping to the relevant virtual PC and going through the process on their own screen, they can give precise
instructions for the caller to follow to fix their problem.
Someone developing software for multiple versions of Windows can also use virtual PCs to check for compatibility.
A company can have a network test lab where they trial new software or perform major upgrades in a test environment before doing it for
real. The test lab may consist of several servers, half a dozen
workstations, a network switch and router and, with virtual servers and
workstations, the whole test lab can be run on a single physical computer.
Reverting to a Snapshot to restore the virtual server to the exact state
it was in at an earlier time, will be useful if things go wrong or you want one more
practice at performing the upgrade before going live on your main network.
The software that creates the imaginary hardware environment is just a
program that runs on top of Windows - it provides what's known as the
Hypervisor Layer. If a computer's purpose is to run multiple virtual
computers then the resources used by its operating system and the
virtualisation software should be kept to a minimum or as "thin" as
possible. The thinnest virtual computer systems have their own
optimised operating system built in (they are said to be "installed on
bare metal" i.e. a blank hard drive). This built-in operating system is
usually Linux. Intel and AMD have developed extensions to their
processors so that some of the features of the Hypervisor Layer, currently
achieved using software, can be realised, more efficiently, in hardware
instead. Intel's virtualisation technology is codenamed Vanderpool and
AMD's is Pacifica. This processor support will allow the virtual
environment to be even "thinner".
^ Top of Page ^
|