Công cụ thực dụng cho quản trị hệ thống, mạng, bảo mật và vận hành.

SYS-C0172 · Virtualization

Virtualization Guide for Sysadmins

Size a virtual machine from a measured load, and treat snapshots as a short undo, not a backup.

Updated 25 October 2026 · Pillar guide

This is an original planning guide. It is not a vendor manual, an official standard, or legal advice. Example addresses use documentation ranges. Review every command before you paste it.

The host, the guest, and what a snapshot is not

A virtual machine is a guest with virtual CPU, memory, disk, and a network interface, running on a host that has real ones. Overcommit means promising guests more than the host has, and it works until the guests ask for it at the same time. CPU overcommit is common. Memory overcommit is how a host starts swapping for every guest at once. Disk overcommit is how a thin volume fills up and pauses everyone.

Size the guest from a measurement on a real workload, or from a modest start you can grow. The VM sizing calculator turns a CPU and RAM request into a number. The host capacity calculator asks whether the host still has room after this guest. A guess of 16 CPUs because the form allowed it is how a quiet application pins a host.

A snapshot is a short undo of a guest disk while you try a change. It is not a backup. It lives on the same storage. It slows the guest if you forget it. The backup guide is the copy on different media. Delete the snapshot when the change is known good, or roll back and then delete it. Do not keep a chain of snapshots as an archive.

The guest's network is a real VLAN or a real subnet from the network desk, not a detail you invent inside the hypervisor and forget to route. The provisioning guide is how the guest gets an identity on first boot. This page is the shape of the guest before that boot.

One lab guest with a written size

The lab guest gets 2 virtual CPUs and 4 GB of RAM unless the measurement says otherwise, one disk large enough for the OS and the test data, and one NIC on the lab network. Write those four numbers in the ticket. Confirm the host still has CPU, available memory, and free datastore after the guest exists. If the host would be full, the guest does not get created on that host.

Install nothing you do not need. A guest that is also a desktop, a build server, and a file share is three guests or a decision to combine them. The first boot can be the provisioning image. You still take a console screenshot or a note of the name before you walk away.

Take a snapshot only for a change you can undo today, such as a package test. After the test, delete the snapshot or revert. Confirm the datastore free space returned. A snapshot left for a month is a change you forgot.

The calculators do not talk to the hypervisor. Paste their result beside the host's own free-memory reading. If they disagree, the host wins.

A change you can finish

A production guest is created at the size in the ticket, on the host the capacity note allowed, on the datastore that has the free space. The first backup runs after the guest is useful and before users depend on it.

Rollback of a new guest is to power it off and remove it if it never held unique data. Rollback of a change inside a guest is the snapshot you took for that change, used the same day, or the backup if the snapshot is already gone.

  1. Write vCPU, RAM, disk, and network.
  2. Read host free CPU, available memory, and datastore free space.
  3. Create the guest only if all three still have room.
  4. Boot it and confirm the name and the address.
  5. Snapshot only for today's change, then delete or revert.
  6. Schedule the backup. Do not count the snapshot as that backup.
  7. Record which host and which datastore, so a later move is a choice.

Mistakes that outlive the command

virtualization fails in the same few ways. Each one looks finished on the day you type it. The list is here so the ticket can forbid them before the window, not so you can recognise them in an incident review.

Decisions to write down before the window

Decision 1 for virtualization. vCPU, RAM, disk, and VLAN are numbers in the ticket, not leftovers from a template you did not read. Write that decision in the ticket before you change the host. The proof is the smallest command or screen that confirms it, recorded with the hostname and the time. If the host disagrees, the ticket changes. A second change does not go on top of a failed check. The rollback is the previous value you wrote down, not a reboot that hides which line mattered.

Decision 2 for virtualization. The host capacity note says this guest fits, using the host's own free numbers. Write that decision in the ticket before you change the host. The proof is the smallest command or screen that confirms it, recorded with the hostname and the time. If the host disagrees, the ticket changes. A second change does not go on top of a failed check. The rollback is the previous value you wrote down, not a reboot that hides which line mattered.

Decision 3 for virtualization. Snapshots expire today. The backup is a different copy. Write that decision in the ticket before you change the host. The proof is the smallest command or screen that confirms it, recorded with the hostname and the time. If the host disagrees, the ticket changes. A second change does not go on top of a failed check. The rollback is the previous value you wrote down, not a reboot that hides which line mattered.

Decision 4 for virtualization. Thin provisioning has an alert before the datastore fills. Write that decision in the ticket before you change the host. The proof is the smallest command or screen that confirms it, recorded with the hostname and the time. If the host disagrees, the ticket changes. A second change does not go on top of a failed check. The rollback is the previous value you wrote down, not a reboot that hides which line mattered.

Decision 5 for virtualization. The guest name is unique. A clone gets a new name and a new address before it boots on the network. Write that decision in the ticket before you change the host. The proof is the smallest command or screen that confirms it, recorded with the hostname and the time. If the host disagrees, the ticket changes. A second change does not go on top of a failed check. The rollback is the previous value you wrote down, not a reboot that hides which line mattered.

Decision 6 for virtualization. One NIC unless the ticket draws the second. Write that decision in the ticket before you change the host. The proof is the smallest command or screen that confirms it, recorded with the hostname and the time. If the host disagrees, the ticket changes. A second change does not go on top of a failed check. The rollback is the previous value you wrote down, not a reboot that hides which line mattered.

Decision 7 for virtualization. Provisioning is how it gets accounts. You do not log in as a shared root password from a wiki. Write that decision in the ticket before you change the host. The proof is the smallest command or screen that confirms it, recorded with the hostname and the time. If the host disagrees, the ticket changes. A second change does not go on top of a failed check. The rollback is the previous value you wrote down, not a reboot that hides which line mattered.

Decision 8 for virtualization. The first backup is scheduled before users arrive. Write that decision in the ticket before you change the host. The proof is the smallest command or screen that confirms it, recorded with the hostname and the time. If the host disagrees, the ticket changes. A second change does not go on top of a failed check. The rollback is the previous value you wrote down, not a reboot that hides which line mattered.

Decision 9 for virtualization. Rollback of a brand-new guest with no unique data is deletion. You have console access to do it. Write that decision in the ticket before you change the host. The proof is the smallest command or screen that confirms it, recorded with the hostname and the time. If the host disagrees, the ticket changes. A second change does not go on top of a failed check. The rollback is the previous value you wrote down, not a reboot that hides which line mattered.

Decision 10 for virtualization. The calculator result and the host reading are both in the ticket. Write that decision in the ticket before you change the host. The proof is the smallest command or screen that confirms it, recorded with the hostname and the time. If the host disagrees, the ticket changes. A second change does not go on top of a failed check. The rollback is the previous value you wrote down, not a reboot that hides which line mattered.

Decision 11 for virtualization. A second person read the datastore name. Write that decision in the ticket before you change the host. The proof is the smallest command or screen that confirms it, recorded with the hostname and the time. If the host disagrees, the ticket changes. A second change does not go on top of a failed check. The rollback is the previous value you wrote down, not a reboot that hides which line mattered.

Virtualization checks before the guest is someone else's

Check 1 in Virtualization checks before the guest is someone else's. The four size numbers match the running guest. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.

Check 2 in Virtualization checks before the guest is someone else's. Host free memory and datastore free space were read after creation. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.

Check 3 in Virtualization checks before the guest is someone else's. The guest name is unique on this network. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.

Check 4 in Virtualization checks before the guest is someone else's. The NIC is on the VLAN in the ticket. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.

Check 5 in Virtualization checks before the guest is someone else's. No snapshot older than this change remains, or the ticket says why. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.

Check 6 in Virtualization checks before the guest is someone else's. A backup job names the guest. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.

Check 7 in Virtualization checks before the guest is someone else's. The template password was changed or the image had none. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.

Check 8 in Virtualization checks before the guest is someone else's. A clone does not share an address with its source. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.

Check 9 in Virtualization checks before the guest is someone else's. The calculator output is filed next to the host reading. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.

Check 10 in Virtualization checks before the guest is someone else's. Console access works. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.

Check 11 in Virtualization checks before the guest is someone else's. A second person saw the host and datastore names. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.

Check 12 in Virtualization checks before the guest is someone else's. The guest is not also an unplanned second role. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.

Check 13 in Virtualization checks before the guest is someone else's. Rollback of this new guest is still possible because it has no unique data yet, or the backup already ran. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.

Check 14 in Virtualization checks before the guest is someone else's. The hostname in the prompt matches the hostname in the ticket for virtualization. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.

Check 15 in Virtualization checks before the guest is someone else's. The result line includes the time and the person, not only the command. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.

Check 16 in Virtualization checks before the guest is someone else's. You can point at the rollback value without searching a chat history. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.

Check 17 in Virtualization checks before the guest is someone else's. Done is a sentence a second person can repeat: the proof for virtualization happened, and the next host is not started early. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.

Tools for this guide

These tools run in the browser on this site. They do not log into your machines.

Guides in this cluster

These supporting pages belong to this pillar. A published page is linked. The others are named until they are published.

The content plan also names a companion in another desk: Cloud: Cloud Migration Strategies (7 Rs).