Skip to content

Conversation

@TSnake41
Copy link
Member

Various improvements and fixes in the requirements page.

Before submitting the pull request, you must agree with the following statements by checking both boxes with a 'x'.

  • "I accept that my contribution is placed under the CC BY-SA 2.0 license [1]."
  • "My contribution complies with the Developer Certificate of Origin [2]."

[1] https://creativecommons.org/licenses/by-sa/2.0/
[2] https://docs.xcp-ng.org/project/contributing/#developer-certificate-of-origin-dco

XCP-ng 8.3 doesn't support "paravirtualized mode" anymore, it doesn't make sense to
keep informations related to it. e.g hardware virtualization is now mandatory (not only
for Windows) and XCP-ng will refuse to install without it.

Recommend the use of a IOMMU, while not always required, it's fair to recommended it,
especially since some machines could require it (e.g to use more than 256 cores).

Increase memory recommendation, it's not advisable to use XCP-ng with 4 GB of memory.

Fix theorical CPU limit with currently used Xen limit.

Signed-off-by: Teddy Astie <[email protected]>
2040 GiB is quite confusing and incorrect, and is actually 2 TiB.

Signed-off-by: Teddy Astie <[email protected]>
Tested limit is actually the maximum limit. Xen don't allow further than that as
of today. Say "guest may limit" as in practice, the guest will likely boot but with
less vCPUs usable.

Warn about potential performance implications of VMs with a lot of vCPUs and Windows
guests with more than 64 vCPU.

Signed-off-by: Teddy Astie <[email protected]>
Current wording is quite confusing and suggest that operating system has a
inherent NIC limit which is probably not the case (or at least, not at
this limit).
The reality is more likely that lack of netif support means that VM relies
on emulated devices, which has some limitations (i.e we may not expose all
NICs as a emulated device).

Signed-off-by: Teddy Astie <[email protected]>
> **Note**: For Windows VMs or newer Linux distributions, enable hardware virtualization in the BIOS. It may be disabled by default—consult your BIOS documentation for guidance.
- For VMs running supported paravirtualized Linux, a standard 64-bit x86-based system with one or more CPUs is required.
- Hardware virtualization must be enabled (Intel VT-x or AMD-V), it may be disabled by default—consult your BIOS documentation for guidance.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Hardware virtualization must be enabled (Intel VT-x or AMD-V), it may be disabled by default—consult your BIOS documentation for guidance.
:::tip
Depending on your BIOS, hardware virtualization may be disabled by default, so make sure to double-check and enable it. Refer to your BIOS documentation for guidance.

- For VMs running supported paravirtualized Linux, a standard 64-bit x86-based system with one or more CPUs is required.
- Hardware virtualization must be enabled (Intel VT-x or AMD-V), it may be disabled by default—consult your BIOS documentation for guidance.
- Enabling IOMMU (Intel VT-d or AMD-Vi) is recommended
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Enabling IOMMU (Intel VT-d or AMD-Vi) is recommended
- We recommend enabling IOMMU (Intel VT-d or AMD-Vi).

Also, is it possible to explain why it's recommended?

Copy link
Member Author

@TSnake41 TSnake41 Nov 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One of the main reason is that supporting more than 254 CPUs (in host) requires a IOMMU (interrupt remapping), otherwise, things could malfunction.
Along with features that requires a IOMMU (PCI Passthrough, vGPU, ...)

### Memory

- Minimum 2 GB, recommended 4 GB or more.
- Minimum 2 GB, recommended 8 GB or more.
Copy link
Collaborator

@thomas-dkmt thomas-dkmt Nov 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Minimum 2 GB, recommended 8 GB or more.
- Minimum: 2 GB (Recommended: 8 GB or more).

### Disk Space

- Local storage (PATA, SATA, SCSI) with a minimum of 46 GB, recommended 70 GB or more.
- Local storage (PATA, SATA, SCSI, NVMe) with a minimum of 46 GB, recommended 70 GB or more.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Local storage (PATA, SATA, SCSI, NVMe) with a minimum of 46 GB, recommended 70 GB or more.
- Local storage (PATA, SATA, SCSI, NVMe) with a minimum of 46 GB. Recommended: 70 GB or more.

:::

- Up to 960 logical processors, depending on CPU support (theoretical, untested: 1024).
- Up to 960 logical processors, depending on CPU support (theoretical, untested: 2048).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Up to 960 logical processors, depending on CPU support (theoretical, untested: 2048).
- Up to 960 logical processors, depending on CPU support. **Note**: The theoretical, untested limit is 2,048 logical processors.

- **Virtual CPUs (vCPUs) per VM**:
- For untrusted VMs, the security-supported limit is **32 vCPUs**.
- For trusted VMs, the tested limits are **128 vCPUs** in BIOS mode and **96 vCPUs** in UEFI mode. Developments are planned to increase these limits.
- For trusted VMs, the maximum limits are **128 vCPUs** in BIOS mode and **96 vCPUs** in UEFI mode. Developments are planned to increase these limits.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- For trusted VMs, the maximum limits are **128 vCPUs** in BIOS mode and **96 vCPUs** in UEFI mode. Developments are planned to increase these limits.
- For trusted VMs, the upper limits are **128 vCPUs** in BIOS mode and **96 vCPUs** in UEFI mode. Developments are planned to increase these limits.

Guest OS may limit the amount of usable vCPUs.

:::warning
VMs with more than 32 vCPU may cause major system-wide performance degradation under very specific circumstances. Use with caution.
Copy link
Collaborator

@thomas-dkmt thomas-dkmt Nov 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a resource (internal or external) where the reader could know more about that? If not, no big deal but it would be nice to have

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a summary of what I know regarding the current "security supported" CPU limit.

XenServer docs says (even though 64 is no longer the actual limit)

Though the limit is 64, we recommend setting the limit to 32 if your VMs might not be trustworthy or if you want to prevent a potential impact on system availability

Discussions we had internally and with XenServer conclude that this is a arbitrary limit; and that guests with many CPUs can (maliciously or not) cause denial of service through abuse of some hypervisor mecanisms (that could take at the end too much time, and block multiples physical CPUs, eventually up to livelock/watchdog violation).


- **Virtual Network Interface Controllers (NICs) per VM**: Up to **7**.
Note: Some guest operating systems may have stricter limits, or you may need to install XCP-ng Guest Tools to reach this maximum.
Use of paravirtualized devices is recommended, support depends on guest operating system and whether or not XCP-ng Guest Tools are installed.
Copy link
Collaborator

@thomas-dkmt thomas-dkmt Nov 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Use of paravirtualized devices is recommended, support depends on guest operating system and whether or not XCP-ng Guest Tools are installed.
We recommend using paravirtualized devices. Support depends on guest operating system and whether or not XCP-ng Guest Tools are installed.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not sure paravirtualized resources is better; but something in between like paravirtualized interfaces could be better ?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Paravirtualized devices is OK, I'm changing my suggestion

Comment on lines -186 to +183
- All servers must have compatible CPUs (same vendor — Intel or AMD). To run HVM VMs, CPUs must support virtualization.
- All servers must have compatible CPUs (same vendor — Intel or AMD).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't we leave out the "To run HVM VMs," part?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"virtualization" is already a hard requirement for XCP-ng 8.3, so this statement is redundant

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants