Skip to content

Comments

XCP-ng requirement tweaks#419

Open
TSnake41 wants to merge 4 commits intomasterfrom
teddy/requirements
Open

XCP-ng requirement tweaks#419
TSnake41 wants to merge 4 commits intomasterfrom
teddy/requirements

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

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).

Copy link
Member

Choose a reason for hiding this comment

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

I prefer XenServer's version (that we can't copy as is) because it insists on not trustworthy VMs yielding an increased risk

Copy link
Member Author

Choose a reason for hiding this comment

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

Trustworthy suggest that trusted VMs absolutely fine, but the reality is a bit different. While malicious VMs can abuse, normal guest (with many vCPUs) can also trigger similar situations (perhaps in a less extreme way).

Copy link
Member

Choose a reason for hiding this comment

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

I didn't mean to say that only untrustworthy VMs can trigger issues. I said "increased risk".

Copy link
Member

Choose a reason for hiding this comment

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

Can you try another wording?

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.

Add a note regarding SLAT requirement on XCP-ng 8.3+.

Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
2040 GiB is quite confusing and incorrect, and is actually 2 TiB.

Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
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.

Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
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 <teddy.astie@vates.tech>
@TSnake41
Copy link
Member Author

Added a note regarding SLAT, due to shadow paging removal.

Since XCP-ng 8.3, CPU must support SLAT (Intel EPT or AMD RVI/NPT).

- One or more 64-bit x86 CPUs, minimum 1.5 GHz; 2 GHz or faster multicore CPUs are recommended.
- To run Windows VMs or recent Linux versions, an Intel VT or AMD-V 64-bit x86-based system with one or more CPUs is required.
- Hardware virtualization must be enabled (Intel VT-x or AMD-V).
- Since XCP-ng 8.3, CPU must support SLAT (Intel EPT or AMD RVI/NPT).
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
- Since XCP-ng 8.3, CPU must support SLAT (Intel EPT or AMD RVI/NPT).
- Since XCP-ng 8.3, CPUs must support SLAT (Intel EPT or AMD RVI/NPT).

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
Member

Choose a reason for hiding this comment

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

Can you try another wording?


- **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.
We recommend using paravirtualized devices is recommended. Support depends on guest operating system and whether or not XCP-ng Guest Tools are installed.
Copy link
Member

Choose a reason for hiding this comment

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

I actually prefer the former version. What's your intent with this change?


### Networking

- **Virtual Network Interface Controllers (NICs) per VM**: Up to **7**.
Copy link
Member

Choose a reason for hiding this comment

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

Since the last batch of updates, we support up to 16. Let's update.

Suggested change
- **Virtual Network Interface Controllers (NICs) per VM**: Up to **7**.
- **Virtual Network Interface Controllers (NICs) per VM**: Up to **16**.

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