A virtual server is a separate Linux computer that runs as a guest
of a physical Linux computer. Each virtual server is a complete
Linux system including a kernel, RAM, swap, disk, and installed
packages.

Q:

Which virtual server code are you using?

A:

We run User-mode
Linux in "SKAS" (Separate Kernel Address Space) mode.
To further enhance security, we run our virtual servers in "chroot
jail's".

Compatibility
Issues

Q:

How compatible are your virtual servers?

A:

Incredibly. With the exception of hardware access, you can do just
about everything in a virtual server that does not require modifications
to the kernel. All of the services that we supply on the Internet
are actually running production inside of UML virtuals. These include
production web services, database servers for admin functions, e-mail,
etc.

Yes you are. User-mode Linux is a complete Linux computer running
as a guest task on the underlying host system. When you are root,
you are really root with a UID of 0 running standard libs, etc.
This is why you can use virtual Linux servers anywhere you would
use a standard, dedicated, Linux server.

Hardware
Allocation

Q:

How much RAM does my system have?

A:

We configure systems with "virtual RAM" sizes ranging
from 32 Megabytes to about 490 Megabytes (this is the limit in "non
hi-mem" mode for User-mode-linux).

Q:

How much SWAP does my system have?

A:

This depends on the hosting plan that you have selected. On most
plans we configure a swap partition that is equal in size to your
RAM size. With some configurations, the swap file is twice as large.

Q:

How are my partitions setup?

A:

Standard virtual systems have two partitions. Partition 0 contains
an "ext3" formatted filesystem that is the root filesystem
for your virtual system. Partition 1 is a swap partition.

Q:

Can I get additional partition space?

A:

If you are running one of our small, low-cost servers, no. If you
need more space, you will need to move to a larger hosting plan.
Of course, with virtual servers, this is really quite easy technically.

For our larger servers, we can configure an additional Linux partition
within the virtual server. This partition is then setup so that
it is sub-managed within the virtual system with LVM (Linux Volume
Manager). Thus you can then create multiple volumes, do snapshot
backups, etc. The additional LVM volumes can be formatted ext2,
ext3, reiserfs, or left as "bare" partitions for database
use.

Q:

Do you overcommit resources?

A:

No. We are very careful to configure system with adequate resources
(particularly RAM) to host the virtuals that reside on a physical
host. For example, if we have 20, 32Meg virtuals, this would require
640Meg of physical memory. We would run these 20 virtuals on a host
system with 1 Gigabyte of RAM giving each virtual it's own, essentially
dedicated, memory.

Q:

How many virtuals are there on a host?

A:

This depends on the size of the virtuals, but at most
20. With some large virtual configurations, this might be as low as
2 (or even 1).

Q:

What is the host hardware configuration?

A:

Each host is a rackmount system with an AMD XP2000+
(or faster) processor, 1 Gigabyte of RAM, and RAID-1 mirrored hard
drives. They are connected to the Internet via gigabit and/or 100
megabit switched ethernet.

Installed
Packages

Q:

Which Linux packages are installed?

A:

Almost everything. Basically we install everything
that is not related to X-windows and minus a few documentation directories
(to save space). All in all there are 411 packages installed occupying
about 1 Gigabyte of space.

Q:

What tools and languages can I use?

A:

Just about everything is already installed. This includes
Apache, perl, PHP, Python, OpenSSL, MySQL, C, C++, Java, curl, webmin,
etc. Because the system is yours, you can also install additional
packages including CPAN updates, commercial databases like U2 and
Oracle, etc.

Network
Configuration

Q:

Do I have a public IP address?

A:

The "eth0" device of your virtual server
has a real, public, IP address that is directly connected to a high-speed
Internet backbone from one of our providers. Your network connection
is actually "pre-filtered" so that you don't get all of
the usual junk that exists in Internet data centers (you won't see
Netbios broadcast packages for example), but yours is a real, static
IP address that you can run any service on.

Q:

Can I get additional IP address?

A:

Yes, but we discourage this. The Internet is running
out of IP addresses and it is important that users conserve them whenever
possible. Most Internet services like web and mail can host many domains
on a single IP address and we highly recommend this. If you really
need a separate IP address, we can supply you with this, but there
is a setup and monthly fee.

Q:

How is the firewall setup?

A:

Your system comes with a default firewall based on the "iptables"
package. This firewall restricts inbound connections to:

ssh

http

https

ftp

webmin

and outbound connections to:

ssh

domain

This firewall is typically so restrictive that even if your system
is compromised, most Internet worms will not know how to "phone
home".

You have complete control over the firewall and can open any communication
port that you wish (or delete the firewall entirely if desired).

Q:

How does your "MultiPath"
connectivity work?

A:

All of our datacenters have Internet connections to multiple providers.
Each provider assigns us a block of IP addresses on their networks.
We make these addresses available to your virtual server in a number
of way.

Backup path for ssh - We supply you with a free backup IP address
that you can SSH to to access your server. This SSH access uses
a nonstandard TCP port number (it is not port 22) but is otherwise
a full-bandwidth connection to your server.

MultiPath http/https - We give you a free mirroredhosting.com
account including MultiPath web services. Within this account,
you can setup directory mount points that "reverse-proxy"
requests into your virtual server.

MultiPath e-mail - Your mirroredhosting.com account also includes
e-mail services allowing you to receive and forward e-mails into
your virtual server on a domain-by-domain or user-by-user basis.

Using
The MirroredHosting.com companion account

Q:

Why should I use the companion MirroredHosting.com
account with my virtual service?

A:

There are a number of reasons for this:

Many services are already setup and are easier to use than running
them inside of your virtual.

Standard services like static-content HTTP, DNS, and EMAIL are
more efficient and take fewer system resources than running a
separate copy of these within your virtual.

Services running in MirroredHosting.com don't slow down your
virtual or use resources from your virtual.

Services running in MirroredHosting.com are "better"
than what you are likely to setup on your virtual server:

We believe that the two are extremely complimentary to each other.
Basically, we recommend that you run the following functions inside
of your MirroredHosting.com account:

DNS

Static HTTP and HTTP web pages

EMAIL

And run all of your dynamic application code inside of your virtual.

Q:

How can I mix static and dynamic web
pages when I use my MirroredHosting.com companion account?

A:

The MirroredHosting.com admin application lets you "proxy"
web directories within any domain. A "proxy" is where
the web server acts as a relay and passes the transaction through
to a second web server. The second web server in this case is your
virtual server.

You set this up by defining a "proxy directory" such
as:

Proxy: http://www.mydomain.com/app ==> http://v-2374.easyco.net/

Requests from the public directed to the /app directory in the
www.mydomain.com domain name will actually be serviced by the web
server running on your virtual system. The presence of your virtual
server is completely transparent and hidden from the user (this
is a proxy, and not a redirect). Because the user is communicating
with our mirrored servers, they get the advantage of MultiPath and
server mirroring.

Another advantage of this is that it lets you take your virtual
server application down (lets say you need to do some programming)
while still leaving you with a static web site so that your users
can still get to your content.

Network
Traffic

Q:

How do you measure network usage?

A:

We monitor packet transmissions every minute on our side of your
network interface. This allows us to count bytes directly "on-wire".

Q:

How much Internet transfer do I get?

A:

Various hosting plans differ, but all get at least 5 Gigabit (which
is quite a lot).

Q:

What if I go over my transfer allocation?

A:

Additional transfer varies with the hosting plan, but starts at
only $5/Gigabyte.

Backups

Q:

Do you backup my system?

A:

With most hosting accounts, Yes. Many virtual server
account come with an included "backup plan". All virtual
server accounts have this as an option. If you don't have us backing
up your server, you should definitely do it yourself. Backup plans
also include options for "local", "remote", and
"mirrored" backups.

Q:

What is a "local" backup?

A:

With local backups, we have a process that nightly makes a complete
save of your system and saves this on a separate computer system
located in the same facility as your virtual server. Backups are
automatically rotated and you have two choices:

Standard - keep the last 2 days plus the last 2 end-of-week
saves.

Enhanced - keep the last 3 days, the last 4 end-of-week, and
the last 3 end-of-month saves.

Q:

What is a "remote" backup?

A:

A remote backup is performed in addition to your local
backup. In this case we take the local backup and copy it to another
computer system that is in a different facility. Remote backups can
be performed monthly, weekly, or even daily. Different plans have
different retention policies, but most users remote backup monthly
or weekly and keep the last two backups on-line.

Q:

What is a "mirrored" system?

A:

A mirrored system involves taking your last backup and actually
restoring it to another running virtual server to act as an immediately
available backup server. This 2nd virtual server might be local
or remote depending on the account type that you have. The advantage
of a mirrored server is that you have less downtime and guaranteed
system availability in the case of catastrophic failures at our
data centers.

Q:

How do I get to my backups?

A:

Your backups (both local and remote) are available to you via password
protected "rsync". rsync is a UNIX tool that is designed
to replicate directories between systems. It is extremely powerful
and effective at copying very large directory structures, both locally
and remotely. With rsync you can restore any file, directory, or
even an entire system from your own backups quickly and easily.

Administration

Q:

How do I administer my system?

A:

Any way that you want to. We pre-install the "webmin"
web-based admin utility. This allows you to administer your system
with a web browser over encrypted connections. You can also install
any other admin tool that you wish or manually edit config files with
vi from a terminal login.

Q:

Can I telnet into the system?

A:

Yes, but we highly recommend that you use "SSH" (Secure
SHell) instead. SSH gives you the functionality of Telnet without
transmitting data in the clear. Many commercial terminal emulators
include SSH support as well as a number of "free" packages
as well. Visit openssh.org
for more information on SSH.

Security on the Internet is important and we highly recommend that
you use secure protocols like SSH, scp, https, sftp, pop3s, imaps,
etc. whenever possible.