todayDecember 7, 2021

How To's + Postfix + SpamAssassin taylor

How To: Configure SpamAssassin on CWP Pro

SpamAssassin is an Open Source anti-spam platform that attempts to filter spam by examining incoming emails in the CentOS Web Panel integrated with the Postfix Mail Server. Although the SpamAssassin service is running we cannot see Spam filtering is working. Therefore this tutorial will walk you through how to configure SpamAssain on CentOS Web [...]

Web Design & Hosting

Give your customers the experience they deserve with a fresh, modern, and fast revitalized online experience.

Learn More

What Is Virtualization?

We’re all familiar with the modern day computer: A device containing a conglomerate of components that help us accomplish our day-to-day digital tasks. Any modern-day computer such as a PC, Notebook, or Server contains at-minimum, a motherboard, at least one CPU, RAM, storage drive(s), and in some cases one or more GPU’s. All of these components – when assembled – define any modern day device. Even your phone!

Dedicated Machine

Let’s use this box as an example. This box represents a computer with a single 4-core CPU, 8Gb of RAM, and 500Gb of storage space.

When you use this machine, your operating system (OS) is able to utilize all 4 CPU cores, all 8Gb of RAM and most-all 500Gb of storage at any point in time. Whether you’re browsing the web, playing a game, listening to music, or crunching some numbers on a spreadsheet, your OS (Windows, Mac, Linux, Android/iOS, etc.) will allocate it’s hardware resources to applications based on what they asked for according to their requested priority.

Virtual Machine

Now, we’re going to take that same box from the section above and stick three boxes inside of it. These 3 boxes are capable of performing the exact same functions of the original singular box.

We now have 3 computers inside one physical machine. These machines can operate independently of one another as if they were 3 separate physical machines. The Caveat: These three machines must share the hardware resources of the host computer.

If we divide the resources of the host device up between the three devices it would look something along the lines of this:

Machine 1

1 CPU Core | 2Gb RAM | 100Gb Storage

Machine 2

1 CPU Core | 2Gb RAM | 100Gb Storage

Machine 3

1 CPU Core | 2Gb RAM | 100Gb Storage

This leaves us with 1 CPU Core, 2Gb RAM, and 200Gb of Storage left for the underlying host operating system – otherwise known as the “Hypervisor”.

Management & Resource Allocation

Now in terms of sharing resources, there’s a multitude of methods. Regardless of the method chosen, all require the resources of the physical host machine’s hardware. Therefore, naturally, you can allocate as-little or as-much hardware resources from the host as you desire per virtual machine.

For the sake of brevity, we’ll stick to the two most common types of virtualization: Linux Containers (LXC) and Kernel-Based Virtual Machine (KVM or VM). The primary difference between the two is that a KVM requires it’s own kernel instance to run whereas LXC’s share the same kernel. However, each instance acts as its own separate environment with it’s own respective file system. An easy way to summarize it would be: LXC’s operate at an Operating System level and KVM’s operate at the hardware level.


It’s commonly agreed that LXC’s are easier to manage and more lightweight. However, this doesn’t necessarily mean they’re a better option over their counterpart(s).

LXC’s require very little overhead. They’re quicker to deploy, start, stop, and restart. However, in some cases compatibility issues may arise with certain software or package managers that are developed and intended to be run on a KVM or Dedicated Machine.


As mentioned above, KVM’s operate within their own kernel instance. This means a user can boot most-any operating system regardless of the underlying (host) operating system.

Since each KVM requires it’s own kernel instance, this makes KVM’s far more resource intensive compared to an LXC. KVM’s are also more involved when it comes to provisioning.

So Which Is Best For Me?

Ultimately, which form of virtualization you choose depends on your overall minimum hardware requirements. For example, if you’re running a WordPress website (Apache/NGINX/Varnish, PHP, and MySQL) you won’t need the same resources as an instance running a Web Server with 500 websites, 5 regular-use emails each, and Spam/Virus email filtering.

In many instances, it’s best to evenly spread your resources across multiple machines to help lighten the load. This method in conjunction with a load balancer helps guarantee your services will remain quick, stable, and consistent regardless if you have 5 users or 500,000 users.

Ready to Learn More About Virtualization?

Get In Touch With Us!

    • Locally Owned and Operated
    • Independent, Honest, Intuitive, Knowledgeable


    Follow us