├── .gitignore ├── README.md ├── assets ├── css │ └── xcp-ng.css └── img │ ├── Xenstack.png │ ├── antiaffinity.png │ ├── archoverview.png │ ├── arrow_left@3x.svg │ ├── arrow_right@3x.svg │ ├── autopoweron1.png │ ├── background1.jpg │ ├── backlogfuturistic.jpg │ ├── bannerxcp.png │ ├── check-update-xoa.png │ ├── check-xoa-version.png │ ├── cloudstack_logo.png │ ├── community@3x.svg │ ├── community_bg@3x.svg │ ├── cyberspace-2784907_1920.jpg │ ├── downloads@3x.svg │ ├── header_bg@3x.svg │ ├── install1.png │ ├── loadbalance1.png │ ├── loadbalance3.png │ ├── loadbalance4.png │ ├── logolfban.png │ ├── logoyt.png │ ├── mainlogo.png │ ├── migrate-to-xcp-ng_bootloader.png │ ├── newxotoken.png │ ├── partners │ ├── 2CRSi.png │ ├── Bacula_logo.png │ ├── Nakivo.webp │ ├── commvault.png │ ├── hpe_el300.jpg │ ├── hpelogo.png │ ├── linbit.png │ ├── linbitteam.jpg │ ├── logoprtectli.jpg │ ├── partnership.png │ ├── protectli.png │ ├── storware_xcpng_www.jpg │ ├── uds-logo-xcp.png │ ├── veeamlogo.png │ ├── vinchin-logo-1.png │ └── vyospartner.png │ ├── roadmap.jpg │ ├── rpu1.png │ ├── rpubutton.png │ ├── schema-new-wording-backup.png │ ├── screenshots │ ├── Dynamic_mem.png │ ├── PIFs-refresh.png │ ├── VM_Tiano.png │ ├── VM_Tiano_1.png │ ├── VM_Tiano_2.png │ ├── VM_Tiano_3.png │ ├── createLocalSRISO.png │ ├── createSRISO.png │ ├── createSRlocal.png │ ├── guest_sb_only_physically_present_user.png │ ├── install1.png │ ├── install10.png │ ├── install11.png │ ├── install12.png │ ├── install13.png │ ├── install14.png │ ├── install15.png │ ├── install16.png │ ├── install17.png │ ├── install18.png │ ├── install19-bis.png │ ├── install19.png │ ├── install1bis.png │ ├── install2.png │ ├── install20.png │ ├── install21.png │ ├── install22.png │ ├── install23.png │ ├── install24.png │ ├── install3.png │ ├── install4.png │ ├── install5.png │ ├── install6.png │ ├── install7.png │ ├── install8.png │ ├── install9.png │ ├── loadbalancer.png │ ├── newnetwork1.png │ ├── newnetwork2.png │ ├── newnetwork3.png │ ├── sdn-controller.png │ ├── templatexcpng-ubuntu-customconfig.png │ ├── templatexcpng-ubuntu-partition.png │ ├── upgrade-xs1.png │ ├── upgrade-xs2.png │ ├── xo_uefi_sb_create_option.png │ └── xo_uefi_sb_post_install_option.png │ ├── smalllogo.png │ ├── smalllogo_notext.png │ ├── splash.jpg │ ├── sponsors │ ├── Logo-Oxeva.png │ ├── alza-logo.png │ ├── axians-logo.png │ ├── ddwrt-logo.png │ ├── exonet.png │ ├── hostnet.png │ ├── idh-logo.png │ ├── interconnect-logo.png │ ├── kraemer-logo.png │ ├── krankikom.png │ ├── lawang-logo.png │ ├── locaweb.png │ ├── megaspace-logo.png │ ├── microdatasystems.png │ ├── nerd911-logo.png │ ├── occentus.png │ ├── one-in-com.png │ ├── openit-logo.png │ ├── pipeten-logo.png │ ├── poldi-logo.png │ ├── qballtech-logo.png │ ├── revocloud-logo.png │ ├── shapeblue-logo.png │ ├── strict-logo.png │ └── swisscenter-logo.png │ ├── stack.png │ ├── tapdisk-architecture.jpg │ ├── updatebutton.png │ ├── upgradexs.png │ ├── v2v1.png │ ├── v2v2.png │ ├── vates-partner.png │ ├── vates-vms.png │ ├── vateslogo.png │ ├── vsvmware.png │ ├── web.frontend.png │ ├── xapiclasses.png │ ├── xapiclients.png │ ├── xcp-ng-logo.png │ ├── xcpbadge.png │ ├── xcpcrop.png │ ├── xcpcrop128.png │ ├── xcpng_dc.jpg │ ├── xcpng_dc2.jpg │ ├── xen_logo.png │ ├── xenarch.png │ ├── xenp-web.png │ ├── xenpanda.png │ ├── xo5patching.png │ ├── xoa-v2v-1.png │ ├── xoa-v2v-2.png │ ├── xoa-v2v-3.png │ ├── xoa-v2v-4.png │ ├── xoacl.png │ ├── xobadge.png │ ├── xodashboard.png │ ├── xolist.png │ ├── xolite.jpg │ ├── xolitelogin.png │ ├── xoself.png │ └── xostats.png ├── babel.config.js ├── blog ├── 2019-05-28-first-blog-post.md ├── 2019-05-29-long-blog-post.md ├── 2021-08-01-mdx-blog-post.mdx ├── 2021-08-26-welcome │ ├── docusaurus-plushie-banner.jpeg │ └── index.md └── authors.yml ├── deploy.sh ├── docs ├── appendix │ ├── _category_.json │ ├── answerfile.md │ ├── cli_reference.md │ └── glossary.md ├── assets │ └── img │ │ ├── 8_3-bootscreen.png │ │ ├── 8_3-newprompt.png │ │ ├── 8_3-xopassthrough.png │ │ ├── 8_3-xsconsolenew.png │ │ ├── backlog.png │ │ ├── roadmap.png │ │ ├── xo-coalesce.png │ │ ├── xo-create-vtpm.png │ │ ├── xo-lite-dashboard.png │ │ ├── xo-lite-login.png │ │ ├── xo-stream-compression.png │ │ └── xo-taskcoalesce.png ├── compute.md ├── guides │ ├── TLS-certificates-xcpng.md │ ├── VLAN-trunking-vm.md │ ├── _category_.json │ ├── autostart-vm.md │ ├── create-use-custom-xcpng-ubuntu-templates.md │ ├── dom0-memory.md │ ├── guest-UEFI-Secure-Boot.md │ ├── host-reboot.md │ ├── logs.md │ ├── pfsense.md │ ├── shrink_virtual_drive.md │ ├── software-RAID-SR.md │ ├── vm-encryption.md │ └── xcpng-in-a-vm.md ├── installation │ ├── _category_.json │ ├── hardware.md │ ├── install-xcp-ng.md │ ├── migrate-to-xcp-ng.md │ ├── requirements.md │ └── upgrade.md ├── intro.md ├── management │ ├── _category_.json │ ├── additional-packages.md │ ├── backup.md │ ├── cloud.md │ ├── ha.md │ ├── infrastructure-as-code.md │ ├── manage-at-scale │ │ ├── _category_.json │ │ ├── xo-api.md │ │ ├── xo-cli.md │ │ └── xo-web-ui.md │ ├── manage-locally │ │ ├── _category_.json │ │ ├── api.md │ │ ├── cli.md │ │ └── xo-lite.md │ ├── management.md │ ├── updates.md │ └── vm-load-balancing.md ├── migrate-to-xcp-ng │ └── _category_.json ├── networking │ ├── _category_.json │ └── networking.md ├── project │ ├── _category_.json │ ├── about.md │ ├── architecture.md │ ├── contributing.md │ ├── development-process │ │ ├── ISO-modification.md │ │ ├── _category_.json │ │ ├── build-system.md │ │ ├── commit-message-conventions.md │ │ ├── development.md │ │ ├── kernel-module-policy.md │ │ ├── koji-initial-setup.md │ │ ├── local-rpm-build.md │ │ ├── local-xapi-build.md │ │ ├── performance-tests.md │ │ ├── release-process-overview.md │ │ ├── rpm-packaging.md │ │ ├── tags-maintenance-branches-in-our-code.md │ │ ├── tests.md │ │ └── what-xcp-ng-is-made-of.md │ ├── ecosystem.md │ ├── gitrepo.md │ ├── licenses.md │ ├── mirrors.md │ ├── roadmap.md │ └── security.md ├── releases │ ├── _category_.json │ ├── release-8-1.md │ ├── release-8-2.md │ ├── release-8-3.md │ └── releases.md ├── storage │ ├── _category_.json │ └── storage.md ├── troubleshooting │ ├── _category_.json │ ├── after-upgrade.md │ ├── common-problems.md │ ├── installation-upgrade.md │ ├── log-files.md │ ├── storage │ │ ├── _category_.json │ │ ├── disappearing-NVMe-drives.md │ │ ├── disk-failure-softwaire-RAID.md │ │ └── iscsi-troubleshooting.md │ ├── troubleshooting.md │ └── windows-pv-tools.md ├── vms │ ├── _category_.json │ └── vms.md └── xostor │ ├── _category_.json │ └── xostor.md ├── docusaurus.config.js ├── favicon.png ├── index.html ├── js ├── popper.min.js └── xcp-ng.min.js ├── package.json ├── pull_request_template.md ├── sidebars.js ├── sponsors.html ├── src ├── components │ └── HomepageFeatures │ │ ├── index.js │ │ └── styles.module.css ├── css │ └── custom.css └── pages │ ├── index.module.css │ └── markdown-page.md └── static ├── .nojekyll ├── img ├── antiaffinity.png ├── archoverview.png ├── cloudstack_logo.png ├── loadbalance1.png ├── loadbalance3.png ├── loadbalance4.png ├── performance-setting.png ├── stack.png ├── vsvmware.png ├── xapiclasses.png ├── xcpbadge.png ├── xcpcrop.png ├── xcpcrop128.png ├── xenarch.png ├── xoacl.png ├── xolitelogin.png └── xoself.png └── js ├── matomo.js └── mautic.js /.gitignore: -------------------------------------------------------------------------------- 1 | # dependencies 2 | /node_modules 3 | .yarn 4 | package-lock.json 5 | 6 | # production 7 | /build 8 | 9 | # generated files 10 | .docusaurus 11 | .cache-loader 12 | 13 | # misc 14 | .DS_Store 15 | .env.local 16 | .env.development.local 17 | .env.test.local 18 | .env.production.local 19 | 20 | npm-debug.log* 21 | yarn-debug.log* 22 | yarn-error.log* 23 | yarn.lock 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # XCP-ng website & documentation 2 | 3 | 4 | ## Website 5 | 6 | Our website is a simple and static HTML page. 7 | 8 | ## Documentation 9 | 10 | Our documentation is built using [Docusaurus 3](https://docusaurus.io/), a modern static website and documentation generator. It's available at https://docs.xcp-ng.org 11 | 12 | ### Installation 13 | 14 | ``` 15 | $ npm i 16 | ``` 17 | 18 | ### Local Development 19 | 20 | ``` 21 | $ npm run start 22 | ``` 23 | 24 | This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. 25 | 26 | ### Build 27 | 28 | ``` 29 | $ npm run build 30 | ``` 31 | 32 | This command generates static content into the `build` directory and can be served using any static contents hosting service. 33 | 34 | 35 | ### Autogeneration 36 | 37 | This documentation is automatically rebuilt after each push event on `master` branch. -------------------------------------------------------------------------------- /assets/img/Xenstack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/Xenstack.png -------------------------------------------------------------------------------- /assets/img/antiaffinity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/antiaffinity.png -------------------------------------------------------------------------------- /assets/img/archoverview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/archoverview.png -------------------------------------------------------------------------------- /assets/img/arrow_left@3x.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 48 | 49 | A77A6182-AB61-4C37-B0B1-C18ACA524E68@3x 51 | Created with sketchtool. 53 | 55 | 62 | 68 | 72 | 76 | 80 | 81 | 82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /assets/img/arrow_right@3x.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 48 | 49 | 71C461F1-9872-4445-A553-AF5AAE17EAF6@3x 51 | Created with sketchtool. 53 | 55 | 62 | 68 | 72 | 76 | 81 | 82 | 83 | 84 | 85 | 86 | -------------------------------------------------------------------------------- /assets/img/autopoweron1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/autopoweron1.png -------------------------------------------------------------------------------- /assets/img/background1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/background1.jpg -------------------------------------------------------------------------------- /assets/img/backlogfuturistic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/backlogfuturistic.jpg -------------------------------------------------------------------------------- /assets/img/bannerxcp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/bannerxcp.png -------------------------------------------------------------------------------- /assets/img/check-update-xoa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/check-update-xoa.png -------------------------------------------------------------------------------- /assets/img/check-xoa-version.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/check-xoa-version.png -------------------------------------------------------------------------------- /assets/img/cloudstack_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/cloudstack_logo.png -------------------------------------------------------------------------------- /assets/img/community@3x.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 79B6277C-68FE-4BF7-B494-BA6AB5F90E94@3x 5 | Created with sketchtool. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /assets/img/cyberspace-2784907_1920.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/cyberspace-2784907_1920.jpg -------------------------------------------------------------------------------- /assets/img/downloads@3x.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7DC14082-9207-4227-9D0F-01F055A26232@3x 5 | Created with sketchtool. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /assets/img/header_bg@3x.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6BCC23CB-946C-4844-A0D6-99020C1EB245@3x 5 | Created with sketchtool. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /assets/img/install1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/install1.png -------------------------------------------------------------------------------- /assets/img/loadbalance1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/loadbalance1.png -------------------------------------------------------------------------------- /assets/img/loadbalance3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/loadbalance3.png -------------------------------------------------------------------------------- /assets/img/loadbalance4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/loadbalance4.png -------------------------------------------------------------------------------- /assets/img/logolfban.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/logolfban.png -------------------------------------------------------------------------------- /assets/img/logoyt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/logoyt.png -------------------------------------------------------------------------------- /assets/img/mainlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/mainlogo.png -------------------------------------------------------------------------------- /assets/img/migrate-to-xcp-ng_bootloader.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/migrate-to-xcp-ng_bootloader.png -------------------------------------------------------------------------------- /assets/img/newxotoken.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/newxotoken.png -------------------------------------------------------------------------------- /assets/img/partners/2CRSi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/partners/2CRSi.png -------------------------------------------------------------------------------- /assets/img/partners/Bacula_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/partners/Bacula_logo.png -------------------------------------------------------------------------------- /assets/img/partners/Nakivo.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/partners/Nakivo.webp -------------------------------------------------------------------------------- /assets/img/partners/commvault.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/partners/commvault.png -------------------------------------------------------------------------------- /assets/img/partners/hpe_el300.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/partners/hpe_el300.jpg -------------------------------------------------------------------------------- /assets/img/partners/hpelogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/partners/hpelogo.png -------------------------------------------------------------------------------- /assets/img/partners/linbit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/partners/linbit.png -------------------------------------------------------------------------------- /assets/img/partners/linbitteam.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/partners/linbitteam.jpg -------------------------------------------------------------------------------- /assets/img/partners/logoprtectli.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/partners/logoprtectli.jpg -------------------------------------------------------------------------------- /assets/img/partners/partnership.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/partners/partnership.png -------------------------------------------------------------------------------- /assets/img/partners/protectli.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/partners/protectli.png -------------------------------------------------------------------------------- /assets/img/partners/storware_xcpng_www.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/partners/storware_xcpng_www.jpg -------------------------------------------------------------------------------- /assets/img/partners/uds-logo-xcp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/partners/uds-logo-xcp.png -------------------------------------------------------------------------------- /assets/img/partners/veeamlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/partners/veeamlogo.png -------------------------------------------------------------------------------- /assets/img/partners/vinchin-logo-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/partners/vinchin-logo-1.png -------------------------------------------------------------------------------- /assets/img/partners/vyospartner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/partners/vyospartner.png -------------------------------------------------------------------------------- /assets/img/roadmap.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/roadmap.jpg -------------------------------------------------------------------------------- /assets/img/rpu1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/rpu1.png -------------------------------------------------------------------------------- /assets/img/rpubutton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/rpubutton.png -------------------------------------------------------------------------------- /assets/img/schema-new-wording-backup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/schema-new-wording-backup.png -------------------------------------------------------------------------------- /assets/img/screenshots/Dynamic_mem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/Dynamic_mem.png -------------------------------------------------------------------------------- /assets/img/screenshots/PIFs-refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/PIFs-refresh.png -------------------------------------------------------------------------------- /assets/img/screenshots/VM_Tiano.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/VM_Tiano.png -------------------------------------------------------------------------------- /assets/img/screenshots/VM_Tiano_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/VM_Tiano_1.png -------------------------------------------------------------------------------- /assets/img/screenshots/VM_Tiano_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/VM_Tiano_2.png -------------------------------------------------------------------------------- /assets/img/screenshots/VM_Tiano_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/VM_Tiano_3.png -------------------------------------------------------------------------------- /assets/img/screenshots/createLocalSRISO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/createLocalSRISO.png -------------------------------------------------------------------------------- /assets/img/screenshots/createSRISO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/createSRISO.png -------------------------------------------------------------------------------- /assets/img/screenshots/createSRlocal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/createSRlocal.png -------------------------------------------------------------------------------- /assets/img/screenshots/guest_sb_only_physically_present_user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/guest_sb_only_physically_present_user.png -------------------------------------------------------------------------------- /assets/img/screenshots/install1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/install1.png -------------------------------------------------------------------------------- /assets/img/screenshots/install10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/install10.png -------------------------------------------------------------------------------- /assets/img/screenshots/install11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/install11.png -------------------------------------------------------------------------------- /assets/img/screenshots/install12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/install12.png -------------------------------------------------------------------------------- /assets/img/screenshots/install13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/install13.png -------------------------------------------------------------------------------- /assets/img/screenshots/install14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/install14.png -------------------------------------------------------------------------------- /assets/img/screenshots/install15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/install15.png -------------------------------------------------------------------------------- /assets/img/screenshots/install16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/install16.png -------------------------------------------------------------------------------- /assets/img/screenshots/install17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/install17.png -------------------------------------------------------------------------------- /assets/img/screenshots/install18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/install18.png -------------------------------------------------------------------------------- /assets/img/screenshots/install19-bis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/install19-bis.png -------------------------------------------------------------------------------- /assets/img/screenshots/install19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/install19.png -------------------------------------------------------------------------------- /assets/img/screenshots/install1bis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/install1bis.png -------------------------------------------------------------------------------- /assets/img/screenshots/install2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/install2.png -------------------------------------------------------------------------------- /assets/img/screenshots/install20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/install20.png -------------------------------------------------------------------------------- /assets/img/screenshots/install21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/install21.png -------------------------------------------------------------------------------- /assets/img/screenshots/install22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/install22.png -------------------------------------------------------------------------------- /assets/img/screenshots/install23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/install23.png -------------------------------------------------------------------------------- /assets/img/screenshots/install24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/install24.png -------------------------------------------------------------------------------- /assets/img/screenshots/install3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/install3.png -------------------------------------------------------------------------------- /assets/img/screenshots/install4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/install4.png -------------------------------------------------------------------------------- /assets/img/screenshots/install5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/install5.png -------------------------------------------------------------------------------- /assets/img/screenshots/install6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/install6.png -------------------------------------------------------------------------------- /assets/img/screenshots/install7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/install7.png -------------------------------------------------------------------------------- /assets/img/screenshots/install8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/install8.png -------------------------------------------------------------------------------- /assets/img/screenshots/install9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/install9.png -------------------------------------------------------------------------------- /assets/img/screenshots/loadbalancer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/loadbalancer.png -------------------------------------------------------------------------------- /assets/img/screenshots/newnetwork1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/newnetwork1.png -------------------------------------------------------------------------------- /assets/img/screenshots/newnetwork2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/newnetwork2.png -------------------------------------------------------------------------------- /assets/img/screenshots/newnetwork3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/newnetwork3.png -------------------------------------------------------------------------------- /assets/img/screenshots/sdn-controller.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/sdn-controller.png -------------------------------------------------------------------------------- /assets/img/screenshots/templatexcpng-ubuntu-customconfig.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/templatexcpng-ubuntu-customconfig.png -------------------------------------------------------------------------------- /assets/img/screenshots/templatexcpng-ubuntu-partition.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/templatexcpng-ubuntu-partition.png -------------------------------------------------------------------------------- /assets/img/screenshots/upgrade-xs1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/upgrade-xs1.png -------------------------------------------------------------------------------- /assets/img/screenshots/upgrade-xs2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/upgrade-xs2.png -------------------------------------------------------------------------------- /assets/img/screenshots/xo_uefi_sb_create_option.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/xo_uefi_sb_create_option.png -------------------------------------------------------------------------------- /assets/img/screenshots/xo_uefi_sb_post_install_option.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/screenshots/xo_uefi_sb_post_install_option.png -------------------------------------------------------------------------------- /assets/img/smalllogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/smalllogo.png -------------------------------------------------------------------------------- /assets/img/smalllogo_notext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/smalllogo_notext.png -------------------------------------------------------------------------------- /assets/img/splash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/splash.jpg -------------------------------------------------------------------------------- /assets/img/sponsors/Logo-Oxeva.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/sponsors/Logo-Oxeva.png -------------------------------------------------------------------------------- /assets/img/sponsors/alza-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/sponsors/alza-logo.png -------------------------------------------------------------------------------- /assets/img/sponsors/axians-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/sponsors/axians-logo.png -------------------------------------------------------------------------------- /assets/img/sponsors/ddwrt-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/sponsors/ddwrt-logo.png -------------------------------------------------------------------------------- /assets/img/sponsors/exonet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/sponsors/exonet.png -------------------------------------------------------------------------------- /assets/img/sponsors/hostnet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/sponsors/hostnet.png -------------------------------------------------------------------------------- /assets/img/sponsors/idh-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/sponsors/idh-logo.png -------------------------------------------------------------------------------- /assets/img/sponsors/interconnect-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/sponsors/interconnect-logo.png -------------------------------------------------------------------------------- /assets/img/sponsors/kraemer-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/sponsors/kraemer-logo.png -------------------------------------------------------------------------------- /assets/img/sponsors/krankikom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/sponsors/krankikom.png -------------------------------------------------------------------------------- /assets/img/sponsors/lawang-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/sponsors/lawang-logo.png -------------------------------------------------------------------------------- /assets/img/sponsors/locaweb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/sponsors/locaweb.png -------------------------------------------------------------------------------- /assets/img/sponsors/megaspace-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/sponsors/megaspace-logo.png -------------------------------------------------------------------------------- /assets/img/sponsors/microdatasystems.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/sponsors/microdatasystems.png -------------------------------------------------------------------------------- /assets/img/sponsors/nerd911-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/sponsors/nerd911-logo.png -------------------------------------------------------------------------------- /assets/img/sponsors/occentus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/sponsors/occentus.png -------------------------------------------------------------------------------- /assets/img/sponsors/one-in-com.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/sponsors/one-in-com.png -------------------------------------------------------------------------------- /assets/img/sponsors/openit-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/sponsors/openit-logo.png -------------------------------------------------------------------------------- /assets/img/sponsors/pipeten-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/sponsors/pipeten-logo.png -------------------------------------------------------------------------------- /assets/img/sponsors/poldi-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/sponsors/poldi-logo.png -------------------------------------------------------------------------------- /assets/img/sponsors/qballtech-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/sponsors/qballtech-logo.png -------------------------------------------------------------------------------- /assets/img/sponsors/revocloud-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/sponsors/revocloud-logo.png -------------------------------------------------------------------------------- /assets/img/sponsors/shapeblue-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/sponsors/shapeblue-logo.png -------------------------------------------------------------------------------- /assets/img/sponsors/strict-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/sponsors/strict-logo.png -------------------------------------------------------------------------------- /assets/img/sponsors/swisscenter-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/sponsors/swisscenter-logo.png -------------------------------------------------------------------------------- /assets/img/stack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/stack.png -------------------------------------------------------------------------------- /assets/img/tapdisk-architecture.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/tapdisk-architecture.jpg -------------------------------------------------------------------------------- /assets/img/updatebutton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/updatebutton.png -------------------------------------------------------------------------------- /assets/img/upgradexs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/upgradexs.png -------------------------------------------------------------------------------- /assets/img/v2v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/v2v1.png -------------------------------------------------------------------------------- /assets/img/v2v2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/v2v2.png -------------------------------------------------------------------------------- /assets/img/vates-partner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/vates-partner.png -------------------------------------------------------------------------------- /assets/img/vates-vms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/vates-vms.png -------------------------------------------------------------------------------- /assets/img/vateslogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/vateslogo.png -------------------------------------------------------------------------------- /assets/img/vsvmware.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/vsvmware.png -------------------------------------------------------------------------------- /assets/img/web.frontend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/web.frontend.png -------------------------------------------------------------------------------- /assets/img/xapiclasses.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/xapiclasses.png -------------------------------------------------------------------------------- /assets/img/xapiclients.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/xapiclients.png -------------------------------------------------------------------------------- /assets/img/xcp-ng-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/xcp-ng-logo.png -------------------------------------------------------------------------------- /assets/img/xcpbadge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/xcpbadge.png -------------------------------------------------------------------------------- /assets/img/xcpcrop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/xcpcrop.png -------------------------------------------------------------------------------- /assets/img/xcpcrop128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/xcpcrop128.png -------------------------------------------------------------------------------- /assets/img/xcpng_dc.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/xcpng_dc.jpg -------------------------------------------------------------------------------- /assets/img/xcpng_dc2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/xcpng_dc2.jpg -------------------------------------------------------------------------------- /assets/img/xen_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/xen_logo.png -------------------------------------------------------------------------------- /assets/img/xenarch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/xenarch.png -------------------------------------------------------------------------------- /assets/img/xenp-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/xenp-web.png -------------------------------------------------------------------------------- /assets/img/xenpanda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/xenpanda.png -------------------------------------------------------------------------------- /assets/img/xo5patching.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/xo5patching.png -------------------------------------------------------------------------------- /assets/img/xoa-v2v-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/xoa-v2v-1.png -------------------------------------------------------------------------------- /assets/img/xoa-v2v-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/xoa-v2v-2.png -------------------------------------------------------------------------------- /assets/img/xoa-v2v-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/xoa-v2v-3.png -------------------------------------------------------------------------------- /assets/img/xoa-v2v-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/xoa-v2v-4.png -------------------------------------------------------------------------------- /assets/img/xoacl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/xoacl.png -------------------------------------------------------------------------------- /assets/img/xobadge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/xobadge.png -------------------------------------------------------------------------------- /assets/img/xodashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/xodashboard.png -------------------------------------------------------------------------------- /assets/img/xolist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/xolist.png -------------------------------------------------------------------------------- /assets/img/xolite.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/xolite.jpg -------------------------------------------------------------------------------- /assets/img/xolitelogin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/xolitelogin.png -------------------------------------------------------------------------------- /assets/img/xoself.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/xoself.png -------------------------------------------------------------------------------- /assets/img/xostats.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/assets/img/xostats.png -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [require.resolve('@docusaurus/core/lib/babel/preset')], 3 | }; 4 | -------------------------------------------------------------------------------- /blog/2019-05-28-first-blog-post.md: -------------------------------------------------------------------------------- 1 | --- 2 | slug: first-blog-post 3 | title: First Blog Post 4 | authors: 5 | name: Gao Wei 6 | title: Docusaurus Core Team 7 | url: https://github.com/wgao19 8 | image_url: https://github.com/wgao19.png 9 | tags: [hola, docusaurus] 10 | --- 11 | 12 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 13 | -------------------------------------------------------------------------------- /blog/2019-05-29-long-blog-post.md: -------------------------------------------------------------------------------- 1 | --- 2 | slug: long-blog-post 3 | title: Long Blog Post 4 | authors: endi 5 | tags: [hello, docusaurus] 6 | --- 7 | 8 | This is the summary of a very long blog post, 9 | 10 | Use a `` comment to limit blog post size in the list view. 11 | 12 | 13 | 14 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 15 | 16 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 17 | 18 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 19 | 20 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 21 | 22 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 23 | 24 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 25 | 26 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 27 | 28 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 29 | 30 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 31 | 32 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 33 | 34 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 35 | 36 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 37 | 38 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 39 | 40 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 41 | 42 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 43 | 44 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 45 | -------------------------------------------------------------------------------- /blog/2021-08-01-mdx-blog-post.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | slug: mdx-blog-post 3 | title: MDX Blog Post 4 | authors: [slorber] 5 | tags: [docusaurus] 6 | --- 7 | 8 | Blog posts support [Docusaurus Markdown features](https://docusaurus.io/docs/markdown-features), such as [MDX](https://mdxjs.com/). 9 | 10 | :::tip 11 | 12 | Use the power of React to create interactive blog posts. 13 | 14 | ```js 15 | 16 | ``` 17 | 18 | 19 | 20 | ::: 21 | -------------------------------------------------------------------------------- /blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg -------------------------------------------------------------------------------- /blog/2021-08-26-welcome/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | slug: welcome 3 | title: Welcome 4 | authors: [slorber, yangshun] 5 | tags: [facebook, hello, docusaurus] 6 | --- 7 | 8 | [Docusaurus blogging features](https://docusaurus.io/docs/blog) are powered by the [blog plugin](https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog). 9 | 10 | Simply add Markdown files (or folders) to the `blog` directory. 11 | 12 | Regular blog authors can be added to `authors.yml`. 13 | 14 | The blog post date can be extracted from filenames, such as: 15 | 16 | - `2019-05-30-welcome.md` 17 | - `2019-05-30-welcome/index.md` 18 | 19 | A blog post folder can be convenient to co-locate blog post images: 20 | 21 | ![Docusaurus Plushie](./docusaurus-plushie-banner.jpeg) 22 | 23 | The blog supports tags as well! 24 | 25 | **And if you don't want a blog**: just delete this directory, and use `blog: false` in your Docusaurus config. 26 | -------------------------------------------------------------------------------- /blog/authors.yml: -------------------------------------------------------------------------------- 1 | endi: 2 | name: Endilie Yacop Sucipto 3 | title: Maintainer of Docusaurus 4 | url: https://github.com/endiliey 5 | image_url: https://github.com/endiliey.png 6 | 7 | yangshun: 8 | name: Yangshun Tay 9 | title: Front End Engineer @ Facebook 10 | url: https://github.com/yangshun 11 | image_url: https://github.com/yangshun.png 12 | 13 | slorber: 14 | name: Sébastien Lorber 15 | title: Docusaurus maintainer 16 | url: https://sebastienlorber.com 17 | image_url: https://github.com/slorber.png 18 | -------------------------------------------------------------------------------- /deploy.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | PATH="/bin:/usr/bin:/user/local/bin:/var/www/n/bin" 3 | exec > build.log 2>&1 4 | start=`date` 5 | 6 | echo "Pull and build triggered at $start" 7 | git fetch 8 | git reset --hard origin/master 9 | # Install potential new plugins 10 | npm i 11 | # Generate the doc 12 | npm run build 13 | end=`date` 14 | echo "Pull and build done at $end" 15 | -------------------------------------------------------------------------------- /docs/appendix/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Appendix", 3 | "position": 20, 4 | "link": { 5 | "type": "generated-index", 6 | "description": "List of all appendices." 7 | } 8 | } -------------------------------------------------------------------------------- /docs/appendix/glossary.md: -------------------------------------------------------------------------------- 1 | # Glossary 2 | 3 | All terms and acrocyms. 4 | 5 | * dom0 - "Domain 0", or "control domain" - The initial domain in Xen and XCP-ng, which has direct access to hardware and manages other virtual machines. 6 | * HVM - Hardware Virtual Machine 7 | * PV - ParaVirtualization 8 | * PBD - Physical Block Device 9 | * PIF - Physical Interface 10 | * SR - Storage Repository 11 | * VBD - Virtual Block Device 12 | * VDI - Virtual Disk Image 13 | * VM - Virtual Machine 14 | * XCP - Xen Cloud Platform 15 | * XCP-ng - XCP New Generation 16 | -------------------------------------------------------------------------------- /docs/assets/img/8_3-bootscreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/docs/assets/img/8_3-bootscreen.png -------------------------------------------------------------------------------- /docs/assets/img/8_3-newprompt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/docs/assets/img/8_3-newprompt.png -------------------------------------------------------------------------------- /docs/assets/img/8_3-xopassthrough.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/docs/assets/img/8_3-xopassthrough.png -------------------------------------------------------------------------------- /docs/assets/img/8_3-xsconsolenew.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/docs/assets/img/8_3-xsconsolenew.png -------------------------------------------------------------------------------- /docs/assets/img/backlog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/docs/assets/img/backlog.png -------------------------------------------------------------------------------- /docs/assets/img/roadmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/docs/assets/img/roadmap.png -------------------------------------------------------------------------------- /docs/assets/img/xo-coalesce.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/docs/assets/img/xo-coalesce.png -------------------------------------------------------------------------------- /docs/assets/img/xo-create-vtpm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/docs/assets/img/xo-create-vtpm.png -------------------------------------------------------------------------------- /docs/assets/img/xo-lite-dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/docs/assets/img/xo-lite-dashboard.png -------------------------------------------------------------------------------- /docs/assets/img/xo-lite-login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/docs/assets/img/xo-lite-login.png -------------------------------------------------------------------------------- /docs/assets/img/xo-stream-compression.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/docs/assets/img/xo-stream-compression.png -------------------------------------------------------------------------------- /docs/assets/img/xo-taskcoalesce.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/docs/assets/img/xo-taskcoalesce.png -------------------------------------------------------------------------------- /docs/guides/TLS-certificates-xcpng.md: -------------------------------------------------------------------------------- 1 | # TLS certificate for XCP-ng 2 | 3 | How to add a TLS certificate? 4 | 5 | After installing XCP-ng, access to xapi via XCP-ng Center or Xen Orchestra is protected by TLS with a [self-signed certificate](https://en.wikipedia.org/wiki/Self-signed_certificate): this means that you have to either verify the certificate signature before allowing the connection (comparing against signature shown on the console of the server), either work on trust-on-first-use basis (i.e. assume that the first time you connect to the server, nobody is tampering with the connection). 6 | 7 | If you would like to replace this certificate by a valid one, either from an internal Certificate Authority or from a public one, you'll find here some indications on how to do that. 8 | 9 | Note that if you use an non-public certificate authority and XenOrchestra, you have [additional configuration to specify on Xen Orchestra side](https://xen-orchestra.com/docs/configuration.html#custom-certificate-authority). 10 | 11 | ## Generate certificate signing request 12 | 13 | You can use the auto-generated key to create a certificate signing request: 14 | 15 | ``` 16 | openssl req -new -key /etc/xensource/xapi-ssl.pem -subj '/CN=XCP-ng hypervisor/' -out xcp-ng.csr 17 | ``` 18 | 19 | ## Install the certificate chain (for XCP-ng v8.2+) 20 | 21 | Once you have your certificates, upload the certificates to your XCP-ng host, then use the following command to install the certificates: 22 | 23 | ``` 24 | xe host-server-certificate-install certificate= private-key= certificate-chain= 25 | ``` 26 | 27 | :::tip 28 | The `certificate-chain` parameter is optional. The private key can be deleted after certificate is installed for additional security. For additional details check Citrix [documentation](https://docs.citrix.com/en-us/citrix-hypervisor/hosts-pools.html#install-a-tls-certificate-on-your-server). 29 | ::: 30 | 31 | Done! Visit your XCP-ng host ip using a browser and validate the certificate is correct. 32 | 33 | 34 | ## Install the certificate chain (for XCP-ng up to v8.1) 35 | 36 | The certificate, intermediate certificates (if needed), certificate authority and private key are stored in `/etc/xensource/xapi-ssl.pem`, in that order. You have to replace all lines before `-----BEGIN RSA PRIVATE KEY----` with the certificate and the chain you got from your provider, using your favorite editor (`nano` is present on XCP-ng by default). 37 | 38 | Then, you have to restart xapi : 39 | ``` 40 | systemctl restart xapi 41 | ``` -------------------------------------------------------------------------------- /docs/guides/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Guides", 3 | "position": 8, 4 | "link": { 5 | "type": "generated-index", 6 | "description": "List of guides for XCP-ng." 7 | } 8 | } -------------------------------------------------------------------------------- /docs/guides/autostart-vm.md: -------------------------------------------------------------------------------- 1 | # Autostart VM on boot 2 | 3 | How to start VM on host boot? 4 | 5 | A VM can be started at XCP-ng boot itself, it's called **Auto power on**. We have two ways to configure it: using Xen Orchestra or via the CLI. 6 | 7 | ## With Xen Orchestra 8 | 9 | In Xen Orchestra we can just enable a toggle in VM "Advanced" view, called **Auto power on**. Everything will be set accordingly. 10 | 11 | ![](../../assets/img/autopoweron1.png) 12 | 13 | 14 | ## With the CLI 15 | 16 | 1. Determine the UUID of the pool for which we want to enable Auto Start. To do this, run the console command on the server: 17 | 18 | ``` 19 | # xe pool-list 20 | uuid ( RO) : 21 | ``` 22 | 23 | 2. Allow autostart of virtual machines at the pool level with the found UUID command: 24 | `# xe pool-param-set uuid= other-config:auto_poweron=true` 25 | 26 | Now we enable autostart at the virtual machine level. 27 | 3. Execute the command to get the UUID of the virtual machine: 28 | 29 | ``` 30 | # xe vm-list 31 | uuid ( RO) : 32 | name-label ( RW) : VM 33 | power-state ( RO) : running 34 | ``` 35 | 36 | 4. Enable autostart for each virtual machine with the UUID found: 37 | `# xe vm-param-set uuid= other-config:auto_poweron=true` 38 | 39 | 5. Checking the output 40 | `# xe vm-param-list uuid= | grep other-config` -------------------------------------------------------------------------------- /docs/guides/dom0-memory.md: -------------------------------------------------------------------------------- 1 | # Dom0 memory 2 | 3 | Dom0 memory management. 4 | 5 | :::tip 6 | Dom0 is another word to talk about the *privileged domain*, also known as the *Control Domain*. 7 | ::: 8 | 9 | Issues can arise when the control domain is lacking memory, that's why we advise to be generous with it whenever possible. Default values from the installer may be too low for your setup. In general it depends on the amount of VM's and their workload. If constraints do not allow you to follow the advice below, you can try to set lower values. 10 | 11 | In any case: 12 | * monitor RAM usage in the control domain 13 | * if issues arise (failed live migration for example), [look at the logs](../../troubleshooting/log-files) for messages related to lack of memory 14 | 15 | ## Recommended values 16 | 17 | * we advise to give at least 2GiB of RAM for Dom0. Below that your XCP-ng may experience performance issues or other weird errors. 18 | * up to 64GiB RAM on your machine, at least 4GiB RAM for Dom0 19 | * an host with 128GiB or more should use 8GiB RAM for Dom0 20 | 21 | :::warning 22 | Note: If you use ZFS, assign at least 16GB RAM to avoid swapping. ZFS (in standard configuration) uses half the Dom0 RAM as cache! 23 | ::: 24 | 25 | ## Current RAM usage 26 | 27 | You can use `htop` to see how much RAM is currently used in the dom0. Alternatively, you can have Netdata to show you past values. 28 | 29 | ## Change dom0 memory 30 | 31 | Example with 4 GiB: 32 | 33 | `/opt/xensource/libexec/xen-cmdline --set-xen dom0_mem=4096M,max:4096M` 34 | 35 | Do not mess the units and make sure to set the same value as base value and as max value. 36 | 37 | Reboot to apply. -------------------------------------------------------------------------------- /docs/guides/host-reboot.md: -------------------------------------------------------------------------------- 1 | # Reboot or shutdown a host 2 | 3 | How to properly handle host power cycle? 4 | 5 | ## General case 6 | 7 | The proper way to reboot or shutdown a host is: 8 | 9 | 1. **Disable** the host so that no new VM can be started on this host and so that the rest of the pool knows that the host was disabled on purpose. 10 | 11 | From command line: `xe host-disable host={hostname}`. 12 | 13 | 2. **Migrate** the VMs running on the host to other hosts in the pool, or shut them down. 14 | 15 | 3. **Reboot** or **shutdown**. 16 | 17 | Can be done from XO, or from command line: `xe host-reboot|host-shutdown host={hostname}`. 18 | 19 | 4. (After a reboot or host startup) **Move VMs back** to the host if appropriate. There is no need to re-enable the host: it is done automatically when it starts. 20 | 21 | :::warning 22 | Step 1 is especially important if [High Availability](../../management/ha) is enforced on your pool. You don't want the other hosts to believe that a host crashed or self-fenced - and take consecutive action - when it's actually planned maintenance. Alternatively, you can also disable HA on the pool for the duration of the maintenance operations to avoid issues caused by HA. 23 | ::: 24 | 25 | ## With "agile" VMs 26 | 27 | If all your VMs are "agile", that is, they're not tied to local storage or local devices (device pass-through), and if there are enough resources on other hosts in the pool, the above can be simplified as: 28 | 29 | 1. ***Put the host into maintenance mode** from Xen Orchestra. This will disable the host, then evacuate its VMs automatically to other hosts. 30 | 31 | If you prefer to do it from command line, this is equivalent to: `xe host-disable host={hostname}` then `xe host-evacuate host={hostname}`. 32 | 33 | 2. **Reboot** or **shutdown** 34 | 35 | Can be done from XO, or from command line: `xe host-reboot|host-shutdown host={hostname}`. 36 | 37 | 3. (After a reboot or host startup) **Move VMs back** to the host if appropriate. There is no need to re-enable the host: it is done automatically when it starts. 38 | -------------------------------------------------------------------------------- /docs/guides/logs.md: -------------------------------------------------------------------------------- 1 | # Logging system 2 | 3 | How to get further with XCP-ng logs? 4 | 5 | :::warning 6 | Any manual modification to the configuration files described below may prevent future XCP-ng updates to update the contents of those files. Avoid modifying them and ask for advice if you have a use case that appears to require such modifications. 7 | ::: 8 | 9 | ## logrotate 10 | 11 | `logrotate` is the tool to administrate the rotation, compression, removal, ... of log files. 12 | The configuration is located in `/etc/logrotate.conf`; the `/etc/logrotate.d` directory is included by this file for additional rules (for example for specific packages after RPM installation like `xha`, `blktap`, `SMlog`...). 13 | This configuration is used by the daily cron task `/etc/cron.daily/logrotate`. 14 | 15 | By default a file is rotated if: 16 | - its size is greater than 100 MiB (since XCP-ng 8.2.1) 17 | - it's a new day (daily rotation) 18 | 19 | Also a file is compressed after two rotations, the first time it is just renamed. 20 | 21 | ## rsyslog 22 | 23 | Because a file must be rotated if a log exceeds 100 MiB, the `rsyslog` daemon is used to trigger automatically the `/etc/cron.daily/logrotate` script without waiting for the logrotate cron job to run. (Conf location: `/etc/rsyslog.d/xenserver.conf`) 24 | 25 | ## Specific config: `xensource.log` 26 | 27 | `xensource.log` has many particular and different configuration parameters, so another `logrotate` config is used: `/etc/xensource/xapi-logrotate.conf` in a shell script `/opt/xensource/libexec/xapi-logrotate.sh` that executes `logrotate` with this specific config. 28 | 29 | There is normally no need to run it manually, a cron task `/etc/cron.d/xapi-logrotate.cron` is present to schedule it each hour. 30 | The goal of this special config is to keep the `xensource.log` files for one month, and to limit the number of log files to 100. -------------------------------------------------------------------------------- /docs/guides/pfsense.md: -------------------------------------------------------------------------------- 1 | # pfSense / OPNsense VM 2 | 3 | A guide to run pfSense in a VM. 4 | 5 | Despite pfSense and OPNsense do work great in a VM, there are a few extra steps that need to be taken first. 6 | 7 | ## 1. Create VM as normal. 8 | 9 | * When creating the VM, choose the `other install media` VM template 10 | * Prefer `UEFI` boot mode for pfSense versions > 2.4 (`BIOS` mode works but will be slower to boot) 11 | * Continue through the installer like normal 12 | 13 | ## 2. Install Guest Utilities 14 | 15 | There are 2 ways of doing that, either using the CLI (pfSense or OPNsense) or the Web UI (OPNsense). 16 | 17 | Option 1 via console/ssh: 18 | Now that you have the VM running, we need to install guest utilities and tell them to run on boot. SSH (or other CLI method) to the VM and perform the following: 19 | 20 | ``` 21 | pkg install xe-guest-utilities 22 | echo 'xenguest_enable="YES"' >> /etc/rc.conf.local 23 | ln -s /usr/local/etc/rc.d/xenguest /usr/local/etc/rc.d/xenguest.sh 24 | service xenguest start 25 | ``` 26 | 27 | Option 2 is via the Web GUI (only available on OPNsense): 28 | Open the web UI on `http(s)://your-configured-ip` and go to: 29 | *System -> Firmware -> Plugins* 30 | Scroll down to **os-xen** and click the plus sign next to it to install them. 31 | Next: Reboot the system to have the guest tools started (installer doesn't do this the first time): 32 | *Power -> Reboot* 33 | 34 | Guest Tools are now installed and running, and will automatically run on every boot of the VM. 35 | 36 | ## 3. Disable TX Checksum Offload 37 | 38 | Now is the most important step: we must disable TX checksum offload on the virtual xen interfaces of the VM. This is because network traffic between VMs in a hypervisor is not populated with a typical Ethernet checksum, since they only traverse server memory and never leave over a physical cable. The majority of operating systems know to expect this when virtualized and handle Ethernet frames with empty checksums without issue. However `pf` in FreeBSD does not handle them correctly and will drop them, leading to broken performance. 39 | 40 | The solution is to simply turn off checksum-offload on the virtual xen interfaces for pfSense in the TX direction only (TX towards the VM itself). Then the packets will be checksummed like normal and `pf` will no longer complain. 41 | 42 | :::tip 43 | Disabling checksum offloading is only necessary for virtual interfaces. When using [PCI Passthrough](https://github.com/xcp-ng/xcp/wiki/PCI-Passtrough) to provide a VM with direct access to physical or virtual (using [SR-IOV](https://en.wikipedia.org/wiki/Single-root_input/output_virtualization)) devices it is unnecessary to disable TX checksum offloading on any interfaces on those devices. 44 | ::: 45 | 46 | :::warning 47 | Many guides on the internet for pfSense in Xen VMs will tell you to uncheck checksum options in the pfSense web UI, or to also disable RX offload on the Xen side. These are not only unnecessary, but some of them will make performance worse. 48 | ::: 49 | 50 | ## Using Xen Orchestra 51 | 52 | - Head to the "Network" tab of your VM : in the advanced settings (click the blue gear icon) for each adapter, disable TX checksumming. 53 | - Restart the VM. 54 | 55 | That's it ! 56 | 57 | ## Using CLI 58 | 59 | SSH to dom0 on your XCP-NG hypervisor and run the following: 60 | 61 | First get the UUID of the VM to modify: 62 | 63 | ``` 64 | xe vm-list 65 | ``` 66 | Find your pfSense / OPNsense VM in the list, and copy the UUID. Now stick the UUID in the following command: 67 | 68 | ``` 69 | xe vif-list vm-uuid=57a27650-6dab-268e-1200-83ee17ee3a55 70 | ``` 71 | 72 | This will list all the virtual interfaces assigned to the VM: 73 | 74 | ``` 75 | uuid ( RO) : 789358b4-54c8-87d3-bfb3-0b7721e4661b 76 | vm-uuid ( RO): 57a27650-6dab-268e-1200-83ee17ee3a55 77 | device ( RO): 1 78 | network-uuid ( RO): 5422a65f-4ff0-0f8c-e8c3-a1e926934eed 79 | 80 | 81 | uuid ( RO) : a9380705-8da2-4bf7-bbb0-f167d8f0d645 82 | vm-uuid ( RO): 57a27650-6dab-268e-1200-83ee17ee3a55 83 | device ( RO): 0 84 | network-uuid ( RO): 4f7e43ef-d28a-29bd-f933-68f5a8f36241 85 | ``` 86 | 87 | For each interface, you need to take the UUID (the one at the top labeled `uuid ( RO)`) and insert it in the `xe vif-param-set uuid=xxx other-config:ethtool-tx="off"` command. So for our two virtual interfaces the commands to run would look like this: 88 | 89 | ``` 90 | xe vif-param-set uuid=789358b4-54c8-87d3-bfb3-0b7721e4661b other-config:ethtool-tx="off" 91 | xe vif-param-set uuid=a9380705-8da2-4bf7-bbb0-f167d8f0d645 other-config:ethtool-tx="off" 92 | ``` 93 | 94 | That's it! For this to take effect you need to fully shut down the VM then power it back on. Then you are good to go! 95 | 96 | :::tip 97 | If you ever add more virtual NICs to your VM, you will need to go back and do the same steps for these interfaces as well. 98 | ::: 99 | 100 | ### 4. Optimize VM Boot Process (Optional) 101 | 102 | During the boot process, pfSense will detect and try to use the virtual `parallel` and `serial` ports. 103 | 104 | The virtual `parallel` port will be scanned during the boot process which lasts ~30 seconds at `ppbus0: on ppc0`. 105 | 106 | The virtual `serial` port can be chosen as the "default output" which will hide the boot output between `Hypervisor: Origin = "Microsoft Hv"` and `Bootup complete`. 107 | 108 | #### Remove Parallel / Serial Ports Using CLI 109 | 110 | SSH to dom0 on your XCP-NG hypervisor and find your pfSense / OPNsense VM UUID (see steps above: 3. "Using CLI"). 111 | 112 | Configure the VM `parallel` port to `none` using the following command: 113 | 114 | ``` 115 | xe vm-param-set platform:parallel=none uuid=57a27650-6dab-268e-1200-83ee17ee3a55 116 | ``` 117 | 118 | Configure the VM `serial` port to `none` using the following command: 119 | 120 | ``` 121 | xe vm-param-set platform:hvm_serial=none uuid=57a27650-6dab-268e-1200-83ee17ee3a55 122 | ``` 123 | 124 | :::tip 125 | If your pfSense VM is experiencing long delays during the boot process, it may be due to the [VM communicating with the disks using the emulated IDE controller instead of the SCSI controller](https://blog.3mdeb.com/2019/2019-12-13-pfsense-boot-under-xen/#debug-xen). If this is the case, the pre-boot process can take a few minutes before the pfSense "Starting Device Manager (devd)" step which normally takes ~1 minute or less, then the boot process continues at the "normal" speed. This issue has been observed when the VM is using the `BIOS` boot mode (default for `Other install media` in XCP-ng Center) with recent pfSense > 2.4 versions. This problem only delays the boot process (booted VM performance is "normal") and is not observed when using the `UEFI` boot mode (as recommended in step 1). 126 | ::: -------------------------------------------------------------------------------- /docs/guides/shrink_virtual_drive.md: -------------------------------------------------------------------------------- 1 | # How to shrink a virtual disk 2 | 3 | XCP-ng doesn't support VDI (Virtual Disk Image) shrinking, only growing. However, there are solutions to achieve the same result, albeit with some manual steps. 4 | 5 | ## Windows VMs 6 | 7 | There are two options to do this. The most reliable is the Clonezilla method, but the XenConvert route might also work. 8 | 9 | ### XenConvert 10 | 11 | 1. Attach a disk of the desired size to the VM. 12 | 1. Within the VM: Format this new disk in NTFS (quick format). 13 | 1. Install and start XenConvert: select the system disk (probably C:) and set the newly formatted disk as the destination. 14 | 1. Acknowledge the warning that the destination disk is smaller than the source. 15 | 1. Wait for the copy process to complete. 16 | 1. Using the Windows Disk Management tool, set the partition of the new disk to "Active" status. 17 | 1. Shut down the VM. 18 | 1. Detach both disks, then reattach the new disk so that it is in position 1. 19 | 1. Start the VM. 20 | 21 | ### CloneZilla 22 | 23 | :::tip 24 | Use the i686 version of Clonezilla to avoid boot issues on the ISO while using a Windows template. 25 | ::: 26 | 27 | #### Pre-requisites 28 | 29 | :::warning 30 | It seems that doing a `dism /Online /Set-ReservedStorageState /State:Disabled` first (before anything else) is required on Windows to get a succesful partition shrink and avoiding any data loss. 31 | ::: 32 | 33 | 1. Identify the partition you want to move to the new disk and then shut down the VM. 34 | 1. Create a new drive of the smaller size you want in this VM. 35 | 1. Switch the VM to BIOS mode. 36 | 1. Get the Clonezilla ISO available in your ISO SR and insert it. 37 | 1. Check the boot order to ensure it's CD drive and then HDD. 38 | 39 | #### Steps 40 | 41 | 1. Boot the VM. 42 | 1. Select "Start CloneZilla." 43 | 1. Choose "device-device," meaning CloneZilla will copy from one disk to another, which is our goal. 44 | 1. Select "Expert Mode." 45 | 1. Choose "Disk to local disk" mode. 46 | 1. Select the origin disk (the bigger one). 47 | 1. Then select the destination disk (the smaller one). 48 | 1. In the advanced options, make sure to unselect "-g auto." 49 | 1. Also select "Don't check the source filesystem." 50 | 1. Use the "-k1" option (Create the partition table proportionally). 51 | 1. Finally, select "-p poweroff" once the copy is done. 52 | 1. Start the cloning process! 53 | 54 | When it's done: 55 | 56 | 1. Eject the Clonezilla CD. 57 | 1. Switch back the VM to UEFI. 58 | 1. Detach the bigger disk (keep it as a backup in case something goes wrong). 59 | 1. Boot the VM. 60 | 61 | ## Linux VMs 62 | 63 | You can use the same Clonezilla method. However, since "everything is a file" in Linux/BSDs, you can also use `rsync` to migrate the files from the original system to the new one. -------------------------------------------------------------------------------- /docs/guides/vm-encryption.md: -------------------------------------------------------------------------------- 1 | # Encrypting VMs 2 | 3 | XCP-ng doesn't have built-in encryption for VMs or storage repositories (SRs), but you can still protect your data with a couple of effective workarounds. 4 | 5 | This guide covers two common methods: encrypting data inside the VM and using encrypted shared storage (SRs). 6 | 7 | :::warning 8 | 9 | - These are just suggestions. The methods below are not officially supported by XCP-ng. 10 | - This guide focuses on VM encryption and doesn't cover [dom0](../appendix/glossary.md) encryption. 11 | 12 | ::: 13 | 14 | ## Encrypting inside the VM 15 | 16 | The easiest and most flexible way to secure your VM's data is by enabling encryption directly within the operating system. 17 | 18 | ### Full disk encryption during Debian installation 19 | 20 | If you want to encrypt the entire VM filesystem, the simplest approach is to enable encryption during OS installation. For instance, the Debian installer lets you set up LUKS-based full disk encryption. This has to be done during installation since encryption requires reformatting the whole disk. 21 | 22 | Check out the [official Debian documentation](https://www.debian.org/releases/trixie/amd64/ch06s03.en.html#di-partition) for step-by-step instructions. 23 | 24 | ### Encrypting additional volumes 25 | 26 | You can also encrypt specific volumes inside the VM if you don't need full disk encryption. 27 | 28 | For Linux VMs, here are two popular tools: 29 | 30 | - **LUKS (Linux Unified Key Setup):** Encrypts entire partitions or logical volumes. Learn more from the [cryptsetup repository](https://gitlab.com/cryptsetup/cryptsetup). 31 | - **eCryptfs:** Encrypts individual directories (e.g., home directories). 32 | 33 | ### Example: Setting up LUKS encryption in Debian 34 | 35 | 1. Install the required package: 36 | 37 | ```bash 38 | sudo apt-get update && sudo apt-get install cryptsetup 39 | ``` 40 | 41 | 2. Prepare the partition: 42 | 43 | ```bash 44 | sudo cryptsetup luksFormat /dev/sdX 45 | sudo cryptsetup open /dev/sdX encrypted_volume 46 | ``` 47 | 48 | 3. Create a filesystem and mount the encrypted volume: 49 | 50 | ```bash 51 | sudo mkfs.ext4 /dev/mapper/encrypted_volume 52 | sudo mount /dev/mapper/encrypted_volume /mnt 53 | ``` 54 | 55 | ## Encrypting a shared storage repository 56 | 57 | If you want to protect data across multiple hosts, consider using an encrypted storage repository (SR) for your VM disks. A popular option for this is TrueNAS, which can manage and encrypt SRs. 58 | 59 | For detailed instructions, refer to the TrueNAS guide on [storage encryption](https://www.truenas.com/docs/core/13.0/coretutorials/storage/pools/storageencryption/). 60 | 61 | ## Things to keep in mind 62 | 63 | - **Encryption inside the VM** is the easiest and most flexible option. It works regardless of your storage setup and lets you choose the encryption method you prefer. However, this only protects data inside the VM. Your hypervisor and storage layer stay unencrypted. 64 | - **Encrypted storage repositories** secure data at the storage level, protecting all virtual disks in the SR. This is useful if you want to safeguard data across multiple VMs or hosts. Just be aware that it may affect performance and requires compatible storage hardware. 65 | - **Full disk encryption** has to be set up during OS installation—you can't add it later to an existing VM. 66 | - Neither method is natively supported by Xen Orchestra or XCP-ng, so you'll need to manage encryption keys and access control on your own. -------------------------------------------------------------------------------- /docs/installation/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Installation", 3 | "position": 2, 4 | "link": { 5 | "type": "generated-index" 6 | } 7 | } -------------------------------------------------------------------------------- /docs/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | slug: '/' 3 | sidebar_label: Introduction 4 | title: XCP-ng documentation 5 | sidebar_position: 1 6 | --- 7 | 8 | ![](../assets/img/bannerxcp.png) 9 | 10 | # Introduction 11 | 12 | XCP-ng is a high performance enterprise level virtualization platform with a rich ecosystem, that can be integrated in an entire stack to do management and backup for it (see [Xen Orchestra](management/manage-at-scale/xo-web-ui) section for that). XCP-ng stands for *Xen Cloud Platform - next generation*: it is the modern successor to XCP, initially created as an Open Source version of Citrix XenServer back in 2010. 13 | 14 | XCP-ng is -by default- a [secure platform](project/security) to run any kind of virtualization workload, while being managed by a [central administration console](management/manage-at-scale/xo-web-ui), integrated with an API and CLI but also compatible with Packer, Terraform and Ansible. 15 | 16 | Visit the [main website](https://xcp-ng.org) to learn more. Latest updates are published on [our blog](https://xcp-ng.org/blog), don't miss any announcement there! 17 | 18 | :::tip 19 | Discover the growing network around XCP-ng and Xen Orchestra, collectively known as the [Vates Stack](https://vates.tech). Visit our [ecosystem page to explore](project/ecosystem) our current partnerships and certification opportunities. Interested in joining? We’d love to [hear from you](https://vates.tech/contact)! 20 | ::: 21 | 22 | ## ⚙️ General design 23 | 24 | XCP-ng contains multiple components, built around the Xen Hypervisor. It's meant to run on top of bare-metal machines. 25 | 26 |
27 | ![](../assets/img/archoverview.png) 28 |
29 | 30 | ## 📚 Stack overview 31 | 32 | The main goal of XCP-ng is to be a fully integrated and dedicated virtualization platform, without requiring any deep Linux or system knowledge. It's meant to be managed in a centralized manner via [Xen Orchestra](management/#%EF%B8%8F-manage-at-scale), regardless the fact you have only one host or thousand of them. Backup is also included inside Xen Orchestra. 33 | 34 |
35 | ![](../assets/img/vates-vms.png) 36 |
37 | 38 | ## 🎓 Concepts 39 | 40 | There's few concepts to grasp in order to get a clear picture about what is XCP-ng. 41 | 42 | ### Turnkey appliance 43 | 44 | XCP-ng is distributed as an ISO file you can [download here](installation/install-xcp-ng#download-and-create-media) and [install](installation/install-xcp-ng) on the hardware of your choice (see our [hardware support](installation/hardware) section for more details). It's meant to be an appliance, already pre-configured to run any kind of virtual machine you need without any preparation. 45 | 46 | ### Compared to VMware 47 | 48 | In terms of general architecture, XCP-ng and Xen Orchestra are relatively close. See for yourself: 49 | 50 |
51 | ![](../assets/img/vsvmware.png) 52 |
53 | 54 | ### Managing XCP-ng 55 | 56 | Now you have your hosts running, the next step is to manage it. You have various options to do so, choose the one that fits best! See the dedicated [management section](management). 57 | 58 | #### Host API architecture 59 | 60 | All XCP-ng clients are communicating with the pool master, through the Xen API ([XAPI](management/manage-locally/api.md)). You only need to open a connection to the master, even if there's multiple hosts. 61 | 62 | Some clients are stateless (only running when you open or use them) and others are stateful (running in a daemon, often in a dedicated VM). For very basic management tasks, stateless clients are fine. However, for more advanced features, you need stateful clients. The default choice is to use Xen Orchestra, but a list of solution is available in our [management section](management). 63 | 64 | ### Backup 65 | 66 | Xen Orchestra is a complete and agentless backup solution for your VMs running on XCP-ng. Please read the dedicated [backup section](management/backup) to get more details. 67 | 68 | ## 📹 Community videos on XCP-ng 69 | 70 | :::note 71 | Those videos are made by 3rd parties. However, for example, Tom from Lawrence Systems is providing a lot of content on XCP-ng and Xen Orchestra. Check his [YouTube channel](https://www.youtube.com/channel/UCHkYOD-3fZbuGhwsADBd9ZQ). 72 | ::: 73 | 74 | Tom's video explaining what is XCP-ng: 75 | 76 |
77 | 78 |
79 | 80 | A quick intro by Raid Owl: 81 | 82 |
83 | 84 |
85 | 86 | ### The Project 87 | 88 | About the project itself, please see the [project page](/category/project). 89 | 90 | ### Follow us 91 | 92 | * Our YouTube channel: https://www.youtube.com/@Vates_tech 93 | * Latest XCP-ng news: https://xcp-ng.org/blog 94 | * XCP-ng community: https://xcp-ng.org/forum 95 | -------------------------------------------------------------------------------- /docs/management/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Management and Backup", 3 | "position": 4 4 | } -------------------------------------------------------------------------------- /docs/management/backup.md: -------------------------------------------------------------------------------- 1 | # Backup 2 | 3 | It's really important to backup your VMs. You have multiple options, but only Xen Orchestra is both **advanced, agentless, fully Open Source and officially supported** (tested for all XCP-ng releases). 4 | 5 | ## 🛰️ Xen Orchestra 6 | 7 | Xen Orchestra is the most advanced backup solution and 100% integrated with XCP-ng. There is many different backup options: 8 | 9 | * Automated rolling snapshots 10 | * Full Backup 11 | * Full Replication 12 | * Incremental Backup 13 | * Incremental Replication 14 | * Mirror backup 15 | * XO Metadata backup 16 | * XCP-ng Metadata backup 17 | * Cloud enabled XO Metadata backup 18 | 19 |
20 | ![](../../assets/img/schema-new-wording-backup.png) 21 |
22 | 23 | And they come with different features: 24 | * NFS, SMB, S3 compatible backup repositories 25 | * Encryption 26 | * Compression 27 | * File level restore 28 | * NBD-enabled for extra backup speed 29 | * Rate limiting 30 | * XO Proxy (backup remote sites without any VPN requirement) 31 | 32 | 33 | 34 | All options are explained in the [official documentation](https://xen-orchestra.com/docs/). Xen Orchestra is [available as a turnkey virtual appliance](https://xen-orchestra.com), called XOA which [you can deploy in a minute](https://vates.tech/deploy). 35 | 36 | Alternatively, you can install and build it yourself [from the GitHub repository](https://github.com/vatesfr/xen-orchestra/). 37 | 38 | ## 🛣️ 3rd party solutions 39 | 40 | There's 3rd party solutions officially compatible with XCP-ng to make VM backups. Please check our [ecosystem](../project/ecosystem.md#-vm-backup) page on the backup section. 41 | 42 | :::tip 43 | Some popular backup solutions (like [VEEAM](https://www.veeam.com/)) can be used with agents inside your VMs, while Xen Orchestra deals with VM backup. 44 | ::: 45 | 46 | However, you'll lose the tight integration you have between XCP-ng and Xen Orchestra, both bundled of the [Vates Stack](https://vates.tech). -------------------------------------------------------------------------------- /docs/management/cloud.md: -------------------------------------------------------------------------------- 1 | # Cloud features 2 | 3 | Cloud features refer to the capability of delegating resources outside the platform administrators perimeters, like developers or customers. 4 | 5 | You have multiple choices: 6 | 7 | 1. Using Xen Orchestra Cloud features (ACLs, Self Service) 8 | 2. Using CloudStack or OpenStack (adapted to very large deployments) 9 | 10 | ## 🛰️ Xen Orchestra 11 | 12 | Some interesting "cloud-like" features are available in Xen Orchestra : ACLs and Self-service. 13 | 14 | ### Cloud-init 15 | 16 | Cloud-init is a program "that handles the early initialization of a cloud instance". In other words, you can, on a "cloud-init"-ready template VM, pass a lot of data at first boot: 17 | 18 | * setting the hostname 19 | * add ssh keys 20 | * automatically grow the file system 21 | * create users 22 | * and a lot more! 23 | 24 | This tool is pretty standard and used everywhere. A lot of existing cloud templates are using it. 25 | 26 | So it means very easily customizing your VM when you create it from a compatible template. It brings you closer to the "instance" principle, like in Amazon cloud or OpenStack. 27 | 28 | 29 | ### ACLs 30 | 31 | ACLs can be used to allow some XO users to only see some resources. See more about ACLs [on the official documentation](https://xen-orchestra.com/docs/acls.html). 32 | 33 |
34 | ![](../../static/img/xoacl.png) 35 |
36 | 37 | ### Self-service 38 | 39 | The self-service feature allows users to create new VMs within a **limited amount of resources** (quotas). This is different from delegating existing resources (VMs) to them, and it leads to a lot of possibilities. [Read XO official doc on it](https://xen-orchestra.com/docs/users.html#self-service-portal) to know more. 40 | 41 |
42 | ![](../../static/img/xoself.png) 43 |
44 | 45 | ## ☁️ CloudStack 46 | 47 |
48 | ![](../../static/img/cloudstack_logo.png) 49 |
50 | 51 | Apache CloudStack is open source software designed to deploy and manage large networks of virtual machines, as a highly available, highly scalable Infrastructure as a Service (IaaS) cloud computing platform. CloudStack is used by a number of service providers to offer public cloud services, and by many companies to provide an on-premises (private) cloud offering, or as part of a hybrid cloud solution. 52 | 53 | **XCP-ng is a certified and compatible platform for CloudStack.** 54 | 55 | See the [dedicated documentation](https://docs.cloudstack.apache.org/en/4.17.2.0/installguide/hypervisor/xenserver.html?highlight=xcp-ng) on how to install CloudStack on top of XCP-ng. 56 | 57 | ## 📚 OpenStack 58 | 59 | :::warning 60 | Unlike Cloudstack, we do not know the level of compatibility with OpenStack. Take time to ask OpenStack community about their support for XAPI-based hosts 61 | ::: 62 | 63 | Documentation can be found [on this page](https://wiki.openstack.org/wiki/XenServer/XenAndXenServer). -------------------------------------------------------------------------------- /docs/management/infrastructure-as-code.md: -------------------------------------------------------------------------------- 1 | # Infrastructure as code 2 | 3 | You can use various 3rd party tools to manage your XCP-ng/XO stack "as code". 4 | 5 | | Tool name | Endpoint | Status | Website | 6 | |------------------|----------|----------------|---------------| 7 | | Packer XCP-ng | XAPI | Available | [Link](https://github.com/ddelnano/packer-plugin-xenserver) | | 8 | | Packer XO | XO API | Planned | Planned | | 9 | | Terraform XO | XO API | Available | [Link](https://registry.terraform.io/providers/vatesfr/xenorchestra/latest/docs) | | 10 | | Ansible XO | XO API | Available | [Link](https://docs.ansible.com/ansible/latest/collections/community/general/xen_orchestra_inventory.html) 11 | 12 | ## 📦 Packer 13 | 14 | Packer is a free and open source tool for creating golden images for multiple platforms from a single source configuration. Combined with XCP-ng, you can create and regenerate templates for your own requirements or for your customers. 15 | 16 | Here is a tutorial to start with Packer and XCP-ng: https://xcp-ng.org/blog/2024/02/22/using-packer-with-xcp-ng/ 17 | 18 | 19 | ## 🌍 Terraform / OpenTofu 20 | 21 | Terraform is an infrastructure as code software tool that enables you to safely and predictably create, change, and improve infrastructure. There's a series of blog posts to explain it in more details: 22 | 23 | * https://xen-orchestra.com/blog/virtops1-xen-orchestra-terraform-provider/ 24 | * https://xen-orchestra.com/blog/managing-existing-infrastructure-with-terraform-2/ 25 | 26 | While Terraform used to be free and open-source, Hashicorp decided to relicense it. There is a free and open source fork called [OpenTofu](https://opentofu.org/) which can use Terraform's providers, though! 27 | 28 | ## 🏷️ Ansible 29 | 30 | Ansible is a suite of software tools that enables infrastructure as code. It is open-source and the suite includes software provisioning, configuration management, and application deployment functionality 31 | 32 | https://xen-orchestra.com/blog/virtops3-ansible-with-xen-orchestra/ 33 | 34 | ## 🗃️ Netbox 35 | 36 | [NetBox](https://netbox.dev/) is the leading solution for modeling and documenting modern networks. By combining the traditional disciplines of IP address management (IPAM) and datacenter infrastructure management (DCIM) with powerful APIs and extensions, NetBox provides the ideal "source of truth" to power network automation. Available as open source software under the Apache 2.0 license, NetBox is employed by thousands of organizations around the world. 37 | 38 | You can even integrate a synchronization between Netbox and XCP-ng/XO: 39 | 40 | https://xen-orchestra.com/blog/virtops-4-track-any-change-in-your-virtualized-infrastructure/ 41 | -------------------------------------------------------------------------------- /docs/management/manage-at-scale/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Manage at scale", 3 | "position": 2 4 | } -------------------------------------------------------------------------------- /docs/management/manage-at-scale/xo-cli.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 2 3 | --- 4 | 5 | # Xen Orchestra CLI 6 | 7 | Xen Orchestra CLI or `xo-cli` is a module allowing you to send commands directly from the command line to your Xen Orchestra server. 8 | 9 | Check [XO CLI documentation](https://xen-orchestra.com/docs/architecture.html#xo-cli-cli). 10 | 11 | :::tip 12 | Unlike `xe` which is only connected to one pool, `xo-cli` has access to all pools connected via Xen Orchestra. This is the preferred way to manage your infrastructure, using XO as a central point. 13 | ::: 14 | -------------------------------------------------------------------------------- /docs/management/manage-at-scale/xo-web-ui.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | --- 4 | 5 | # Xen Orchestra Web UI 6 | 7 | If you see for a central console to manage all your hosts at a single point, Xen Orchestra (XO) is the right tool for that mission. 8 | 9 | Xen Orchestra is the **officially supported client for XCP-ng**. It's currently developed by the same team as the XCP-ng project ([Vates](https://vates.tech)). 10 | 11 | ![](https://xen-orchestra.com/assets/featuresadmin.png) 12 | 13 | It's also far more than just a client: because it runs 24/7 in a daemon, a lot of extra cool stuff is possible: 14 | * Various reports 15 | * ACLs 16 | * Self Service 17 | * VM load balancing 18 | * SDN controller 19 | * Backup 20 | * Delta backup 21 | * Disaster Recovery 22 | * Continuous Replication 23 | * Backup with RAM 24 | * Warm migration 25 | * and much more! 26 | 27 | Take a look at [the official doc](https://xen-orchestra.com/docs/) to take a tour on what's possible. 28 | 29 | Xen Orchestra is fully Open Source, and it comes in 2 "flavors": 30 | 31 | 1. the turnkey/preinstalled virtual appliance, called **XOA** that you can [deploy in a minute](https://vates.tech/deploy/) tested and bundled with actual commercial support 32 | 2. manual install from GitHub ([documentation](https://docs.xen-orchestra.com/installation#from-the-sources)), no QA nor stable version, community supported only 33 | 34 | :::info 35 | We advise to start using XOA by deploying it really easily in [few clicks on this page](https://vates.tech/deploy/). You can always decide later to build it yourself from GitHub. 36 | ::: 37 | 38 | ## 🚀 Deploy Xen Orchestra virtual Appliance 39 | You can deploy Xen Orchestra from a web UI, using: 40 | * [Web deploy directly](https://vates.tech/deploy/) (fastest & recommended) 41 | * Using [XO Lite](../manage-locally/xo-lite.md) 42 | 43 | ### Alternative way to deploy XOA 44 | 45 | From the CLI using a deploy script, by running this in your XCP-ng host: 46 | ``` 47 | bash -c "$(wget -qO- https://xoa.io/deploy)" 48 | ``` 49 | 50 | ## 🪙 XOA vs XO from GitHub? 51 | 52 | XOA is meant to be used as the easiest way to test it, but also to use it in production: this is the version **professionally supported**, with an updater and a support tunnel mechanism. 53 | 54 | If you are an individual, feel free to enjoy the version from [GitHub directly](https://github.com/vatesfr/xen-orchestra)! 55 | 56 | :::warning 57 | XO from the sources doesn't have QA and there's no stable version. It's great for a home lab or to make tests, but not for production. 58 | ::: 59 | 60 | ## 🌐 Web UI 61 | 62 | You have access to all XCP-ng possibilities (and more!) from a web UI: 63 | 64 | ![](https://xen-orchestra.com/assets/main_view.jpg) 65 | 66 | ![](https://xen-orchestra.com/assets/stats.png) 67 | 68 | Please report to [XO official documentation](https://xen-orchestra.com/docs) for more! 69 | -------------------------------------------------------------------------------- /docs/management/manage-locally/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Local Management", 3 | "position": 1 4 | } -------------------------------------------------------------------------------- /docs/management/manage-locally/api.md: -------------------------------------------------------------------------------- 1 | # XCP-ng API 2 | 3 | XCP-ng is entirely managed by its API, called "XAPI". XAPI project is hosted [on GitHub](https://github.com/xapi-project/xen-api) and the documentation is available on [its dedicated website](https://xapi-project.github.io/xen-api/). 4 | 5 | XAPI is requested by multiple **clients**, like Xen Orchestra or `xe` CLI. See [our management](../../../management) section for more details. 6 | 7 | :::note 8 | We strongly encourage to build applications on top of XO API and not XAPI. In fact, XAPI is made with very specific calls (close to the Xen logic), so it's a lot better to build a solution on top of a more global API, the one [provided by Xen Orchestra](https://xen-orchestra.com/docs/architecture.html#api). It will act as a central point for all your pools and you won't have to handle all the Xen specifics. 9 | ::: 10 | 11 | ## 📐 Architecture 12 | 13 | XAPI is using a database (Read/write on the master, replicated to slaves in read only). It's an XML file located at `/var/lib/xcp/state.db`. All the metadata and settings of your pool, hosts, VMs and so on are stored there. 14 | 15 | ![](../../../static/img/xapiclasses.png) 16 | 17 | ## 🧑‍⚕️ Troubleshooting 18 | 19 | ### Restarting the API 20 | 21 | Sometimes, you might want to restart the toolstack (API and storage stack). You can do it with the following command from the host console (or directly with Xen Orchestra): 22 | 23 | ``` 24 | xe-toolstack-restart 25 | ``` 26 | 27 | Restarting XAPI won't affect any running VMs. However, all backup/export tasks will be removed. 28 | 29 | ### Modifications 30 | 31 | :::warning 32 | Those changes aren't officially supported, and will be also wiped after an ISO upgrade. 33 | ::: 34 | 35 | #### 24h task timeout 36 | 37 | Create a new configuration file in `/etc/xapi.conf.d/`. Files in this directory are automatically loaded by XAPI when it starts. 38 | 39 | For example, you can name it `/etc/xapi.conf.d/increase-task-timeout.conf`. 40 | 41 | Define the new value for `pending_task_timeout`, in seconds. 42 | 43 | Example: 44 | ```ini 45 | # set XAPI task timeout to 48h 46 | pending_task_timeout = 172800 47 | ``` 48 | 49 | 50 | After changing the configuration, restart the toolstack with `xe-toolstack-restart`. 51 | 52 | ⚠️ Do NOT modify `/etc/xapi.conf` directly: any changes to this file may be overwritten in future XCP-ng updates. 53 | -------------------------------------------------------------------------------- /docs/management/manage-locally/xo-lite.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 2 3 | --- 4 | 5 | # XO Lite 6 | 7 | Xen Orchestra Lite is a lightweight version of the Xen Orchestra meant for single-host administration, running directly from your browser without having to deploy anything, hosted on XCP-ng directly. 8 | 9 | :::warning 10 | XO Lite is bundled by default in XCP-ng 8.3. If you want to use it on an older release, you can do so by using this URL in your browser: `https://lite.xen-orchestra.com/#/?master=`. Don't forget to visit the page of your XCP-ng master first to accept the self-signed certificate! 11 | ::: 12 | 13 | :::note 14 | XO Lite is still a work in progress! However, it's meant to cover all basic actions you need to boostrap your infrastructure or just do basic operation on your VMs. 15 | ::: 16 | 17 | ## 🔐 Credentials 18 | 19 | XO Lite credentials are the same than the host (SSH credentials), usually `root` as user and the password chosen during the installation process. 20 | 21 | ![](../../../static/img/xolitelogin.png) 22 | 23 | ## 📊 Dashboard 24 | 25 | Once logged, you can see the dashboard: 26 | 27 | ![](../../../assets/img/xolite.jpg) 28 | 29 | :::info 30 | XO Lite isn't a multi-cluster orchestrator, it's just a local management console. If you want to orchestrate your VMs at scale (load balancing, backup, warm migration and so on), you MUST use [Xen Orchestra](../manage-at-scale/xo-web-ui.md)! 31 | ::: 32 | 33 | ## Disabling XO Lite 34 | 35 | First, let's emphasize that XO Lite is merely an XAPI client. While it is made readily available by the web server on XCP-ng, it actually runs entirely in your web browser. It does **not** increase the attack surface on XCP-ng servers. Additionally, in a properly configured XCP-ng deployment, the management interface resides on a dedicated network, accessible only to administrators. 36 | 37 | However, you might still want to prevent XCP-ng from offering XO Lite altogether. To do so, simply add the following line to a new file in `/etc/xapi.conf.d/`: 38 | 39 | ``` 40 | disable-webserver=1 41 | ``` 42 | 43 | Here's a one-liner to do that: 44 | 45 | ``` 46 | echo "disable-webserver=true" > /etc/xapi.conf.d/disable-webserver.conf 47 | ``` 48 | 49 | You must perform this step on every host in the pool, followed by a toolstack restart (ensure no critical tasks are running before doing so): 50 | 51 | ``` 52 | xe-toolstack-restart 53 | ``` 54 | -------------------------------------------------------------------------------- /docs/management/management.md: -------------------------------------------------------------------------------- 1 | # Managing pools and hosts 2 | 3 | You have multiple ways to manage your hosts and your pool: all of those are called **clients**. 4 | 5 | ## 🔭 Local management 6 | 7 | If you have one host or small pool (a cluster), you can use those following tools: 8 | 9 | * [`xe` CLI](manage-locally/cli) (talking to a host [XAPI](manage-locally/api.md) directly) 10 | * [XO Lite](manage-locally/xo-lite) (embedded lightweight web client) 11 | * [Xen API](manage-locally/api) (XAPI) 12 | * [*XCP-ng Center*](https://github.com/xcp-ng/xenadmin/) (Windows client, deprecated and **not supported** :warning:) 13 | 14 | ## 🛰️ Manage at scale 15 | 16 | As soon you start to management multiple hosts and/or pools, you might need a single/central orchestrator. That's the point of Xen Orchestra, which can be used via a web UI, a CLI or its API: 17 | 18 | 19 | * [Xen Orchestra web UI](manage-at-scale/xo-web-ui) (web interface) 20 | * [Xen Orchestra CLI](manage-at-scale/xo-cli) (command line tool) 21 | * [Xen Orchestra API](manage-at-scale/xo-api) (REST and JSON-RPC APIs) 22 | 23 | :::tip 24 | Xen Orchestra is not just an XCP-ng orchestrator at scale: it's also a backup tool. See the [backup section](backup.md) for more details. 25 | ::: -------------------------------------------------------------------------------- /docs/management/vm-load-balancing.md: -------------------------------------------------------------------------------- 1 | # VM Load balancing 2 | 3 | ## 📋 Introduction 4 | 5 | A generic definition (from Wikipedia), is: 6 | 7 | > In computing, load balancing distributes workloads across multiple computing resources, such as computers, a computer cluster, network links, central processing units or disk drives. 8 | 9 | In the case of virtualization, you have multiple physical hosts, which runs your virtual machines (VMs). The goal here is to **distribute the VMs load** in the best way possible on your servers. 10 | 11 | :::note 12 | Maybe you already heard about VMWare DRS (Distributed Resource Scheduler): that's the same principle here, but for XCP-ng. 13 | ::: 14 | 15 | ## 🎓 Concepts 16 | So the first objective is to adapt your VM placement in live (without service interruption), depending of the load. Because [Xen Orchestra](../manage-at-scale/xo-web-ui) is connected to multiple pools and XCP-ng supports live storage motion, we can perform load balancing on a **whole XCP-ng infrastructure** (even between remote datacenters). A load balancing policy is called a "**plan**". 17 | 18 | Let's take a simple example, with these 2 hosts running 6 VMs: 19 | 20 | ![](../../static/img/loadbalance1.png) 21 | 22 | Let's say both hosts are using only 5% of all their CPUs. Suddenly, one of your VM starts to have a very high CPU load (in yellow): performance of other VMs on this same host could be impacted negatively (in pink): 23 | 24 | ![](../../static/img/loadbalance3.png) 25 | 26 | `Host 1` still using 5% of its CPUs, but `Host 2` is now a 95%. 27 | 28 | We are detecting it and now move others VM to the other host, like this: 29 | 30 | ![](../../static/img/loadbalance4.png) 31 | 32 | `Host 1` has a slightly increased load, but `Host 2` can be fully used for the "problematic" VM without disrupting service of other VMs. 33 | 34 | This way, the impact of your high load usage on one VM doesn't penalize everyone. 35 | 36 | But it's not the only way to see this: there is multiple possibilities to "optimize" your existing resource usage: 37 | 38 | - maybe you want to spread the VM load on the maximum number of server, to get the most of your hardware? (previous example) 39 | - maybe you want to reduce power consumption and migrate your VMs to the minimum number of hosts possible? (and shutdown useless hosts) 40 | - or maybe both, depending of your own schedule? 41 | 42 | Those ways can be also called modes: "performance" for 1, "density" for number 2 and "mixed" for the last. 43 | 44 | ## 🔧 Configure a plan 45 | 46 | In this coming new view, you'll be able to configure a new load balancing plan, or edit an existing one. 47 | 48 | A plan has: 49 | 50 | - a name 51 | - pool(s) where to apply the policy 52 | - a mode (see paragraph below) 53 | - a behavior (aggressive, normal, low) 54 | 55 | ### Plan modes 56 | 57 | There are 3 modes possible: 58 | 59 | - performance 60 | - density 61 | - mixed 62 | 63 | #### Performance 64 | 65 | VMs are placed to use all possible resources. This means balance the load to give the best overall performance possible. This tends to use all hosts available to spread the load. 66 | 67 | #### Density 68 | 69 | This time, the objective is to use the least hosts possible, and to concentrate your VMs. In this mode, you can choose to shutdown unused (and compatible) hosts. 70 | 71 | #### Mixed 72 | 73 | This mode allows you to use both performance and density, but alternatively, depending of a schedule. E.g: 74 | 75 | - **performance** from 6:00 AM to 7:00 PM 76 | - **density** from 7:01 PM to 5:59 AM 77 | 78 | In this case, you'll have the best of both when needed (energy saving during the night and performance during the day). 79 | 80 | ### Threshold 81 | 82 | In a plan, you can configure various thresholds: 83 | 84 | - CPU threshold 85 | - Free memory 86 | 87 | :::warning 88 | If the CPU threshold is set to 90%, the load balancer will be only triggered if the **average CPU usage on a host** is more than 90%. 89 | ::: 90 | 91 | For free memory, it will be triggered if there is **less** free RAM than the threshold. 92 | 93 | ### Timing 94 | 95 | The global situation (resource usage) is examined **every minute**. 96 | 97 | :::tip 98 | TODO: more details to come here 99 | ::: 100 | 101 | ## ↔️ VM anti-affinity 102 | 103 | VM anti-affinity is a feature that prevents VMs with the same user tags from running on the same host. This functionality is available directly in the load-balancer plugin. 104 | This way, you can avoid having pairs of redundant VMs or similar running on the same host. 105 | 106 | Let's look at a simple example: you have multiple VMs running MySQL and PostgreSQL with high availability/replication. Obviously, you don't want to lose the replicated database inside the VMs on the same physical host. Just create your plan like this: 107 | 108 | ![](../../static/img/antiaffinity.png) 109 | 110 | - Simple plan: means no active load balancing mechanism used 111 | - Anti-affinity: we added our 2x tags, meaning any VMs with one of these tags will never run on the same host (if possible) with another VM having the same tag 112 | 113 | You can also use the performance plan with the anti-affinity mode activated to continue to migrate non-tagged VMs. 114 | 115 | :::tip 116 | This feature is not limited by the number of VMs using the same tag, i.e. if you have 6 VMs with the same anti-affinity tag and 2 hosts, the plugin will always try to place 3 VMs on each host. It will distribute as much as possible the VMs fairly and it takes precedence (in the majority of the cases) over the performance algorithm. 117 | ::: 118 | -------------------------------------------------------------------------------- /docs/migrate-to-xcp-ng/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Migrate to XCP-ng", 3 | "position": 5, 4 | "link": {"type": "doc", "id": "migrate-to-xcp-ng"} 5 | } -------------------------------------------------------------------------------- /docs/networking/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Networking", 3 | "position": 7 4 | } -------------------------------------------------------------------------------- /docs/project/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Project", 3 | "position": 11, 4 | "link": { 5 | "type": "generated-index", 6 | "description": "Everything related to XCP-ng as a project" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /docs/project/about.md: -------------------------------------------------------------------------------- 1 | # About XCP-ng 2 | 3 | ## 🌱 The origin 4 | 5 | XCP-ng stands as more than a mere product-it's a dynamic project fostered by an engaged community. Originating from the free [Xen Cloud Platform](https://wiki.xen.org/wiki/XCP_Overview) (XCP) and its commercial counterpart, Citrix XenServer, the landscape shifted when Citrix made XenServer open source, leading to the discontinuation of XCP. 6 | 7 | However, Citrix's decision to strip several features from the free version of XenServer post-7.3 inspired project founder Olivier Lambert. Aiming to revive the essence of XCP, he initiated "XCP New Generation" or XCP-ng, aspiring to create an unrestricted, community-driven, open source hypervisor, mirroring XenServer's functionality without any feature limitations. 8 | 9 | :::tip 10 | XCP-ng was conceived as a friendly fork of XenServer, characterized by an approach that seeks to keep changes to a minimum. Our philosophy is to contribute back to the upstream for all components wherever feasible, maintaining a collaborative and synergistic relationship with the original source. 11 | ::: 12 | 13 | You can now read more details about the [origin of the project on Wikipedia!](https://en.wikipedia.org/wiki/XCP-ng) 14 | 15 | ## 💬 Community 16 | 17 | Most of the community is on [XCP-ng Forum](https://xcp-ng.org/forum). Feel free go there and ask anything! We also have a [Discord server](https://discord.gg/Hr98F6wRvx) for live chat, or even on [Reddit](https://www.reddit.com/r/xcpng/) (however, the forum is the most active place). 18 | 19 | You can also find us on many social networks: 20 | * [X/Twitter](https://twitter.com/xcpng) 21 | * [Mastodon](https://social.vates.tech/@xcpng) 22 | * [LinkedIn](https://www.linkedin.com/company/vates-sas) 23 | * [Facebook](https://www.facebook.com/XCPng) 24 | * IRC on OFTC at #xcp-ng 25 | 26 | 27 | ## 📜 History of XCP-ng 28 | 29 | Here is a video recorded at FOSDEM19: 30 | 31 | -------------------------------------------------------------------------------- /docs/project/contributing.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | How to contribute to XCP-ng? There are many ways of contributing: 4 | * by giving some of your time to work on the project. Code isn't the only way! Community support, translation, documentation, testing… 5 | * with money, by subscribing to [Pro Support](https://vates.tech), which funds further developments. 6 | 7 | ## 💁 Help others 8 | 9 | You don't have to be a programmer/IT-nerd to help at this project. Just ask or offer your help: 10 | 11 | * Forum: [https://xcp-ng.org/forum](https://xcp-ng.org/forum) 12 | * IRC: [irc://irc.oftc.net/#xcp-ng](irc://irc.oftc.net/#xcp-ng) 13 | * Discord: [https://discord.gg/aNCR3yPaPn](https://discord.gg/aNCR3yPaPn) 14 | 15 | We are happy about every helping hand! 16 | 17 | ## 🌍 Translations 18 | 19 | [Help us translate the built-in web interface (XO Lite) in more languages!](http://translate.vates.tech/engage/xen-orchestra/) 20 | 21 | ## ✍️ Write documentation 22 | 23 | Contribute to our documentation with pull requests modifying the files in this very documentation. At the bottom of each page (including this one!), you can find a "🖊️ Edit this page" link. Click on it and contribute! 24 | 25 | ## 🧑‍🔬 Test 26 | 27 | It's important to test XCP-ng on many different platforms and devices. You have gear laying around or access to some special devices? -> be a tester and test all the features of XCP-ng 🚀 28 | 29 | Your results are very welcome in our [Hardware Compatibility List (HCL)](../../installation/hardware)! 30 | 31 | It's also important to test Operating Systems on XCP-ng. You have fun to install different Operating Systems? -> great! Test them all on XCP-ng! 32 | 33 | Most community testing is organized on the forum, on dedicated threads. 34 | * Watch the [thread dedicated to update candidates on stable releases](https://xcp-ng.org/forum/topic/365/updates-announcements-and-testing) (and make sure you enable mail notifications in your forum settings). 35 | * Check beta and RC announcements for new releases of XCP-ng [on the forum](https://xcp-ng.org/forum), and provide feedback before the final releases. Usually announced in the [News](https://xcp-ng.org/forum/category/11/news) section. 36 | * Check other topics created by our developers who look for feedback about new features. Topics usually created in the [Development](https://xcp-ng.org/forum/category/7/development) section. 37 | 38 | You can also read [this](../development-process/tests) for test ideas. 39 | 40 | ## 🧑‍💻 Develop 41 | 42 | You are a developer and want to code with us? Cool! 43 | 44 | There are many components, in various languages: C, ocaml, python and more. 45 | 46 | * Connect with us via 47 | * IRC: [irc://irc.oftc.net/#xcp-ng](irc://irc.oftc.net/#xcp-ng) and [irc://irc.oftc.net/#xcp-ng-dev](irc://irc.oftc.net/#xcp-ng-dev) 48 | * [Discord](https://discord.gg/aNCR3yPaPn) 49 | * Forum -> Development Corner: [https://xcp-ng.org/forum/category/7/development](https://xcp-ng.org/forum/category/7/development) 50 | * Read [this introduction](../development-process/development). The rest of the [Development Process Tour](../../category/development-process) is also of interest for anyone who wants to help on development. 51 | 52 | ## 📦 Package 53 | 54 | Development is one thing, but for your changes to reach actual users, they need to be packaged into RPMs. 55 | 56 | See the [Development Process Tour](../../category/development-process) for an introduction about the packaging process, and useful tips (like: [how to rebuild a RPM for XCP-ng locally](../development-process/local-rpm-build)). 57 | 58 | ## 📣 Talk about us 59 | 60 | Another valuable way to help is by talking about XCP-ng to people you know or to your audience. 61 | 62 | ## 🪪 Developer Certificate of Origin (DCO) 63 | 64 | As a member of the Linux Foundation, XCP-ng asks that every contributor certifies that they are allowed to contribute the code or documentation they submit to us. This is done with a simple 65 | ``` 66 | Signed-off-by: Full Name 67 | ```` 68 | line added at the end of the commit message. Git even has an option to add it for you: `git commit -s`. By adding this mention to your commit message, you state that you agree to the terms published at [https://developercertificate.org/](https://developercertificate.org/) (and also written below) for that contribution. 69 | 70 | ``` 71 | Developer's Certificate of Origin 1.1 72 | 73 | By making a contribution to this project, I certify that: 74 | 75 | (a) The contribution was created in whole or in part by me and I 76 | have the right to submit it under the open source license 77 | indicated in the file; or 78 | 79 | (b) The contribution is based upon previous work that, to the best 80 | of my knowledge, is covered under an appropriate open source 81 | license and I have the right under that license to submit that 82 | work with modifications, whether created in whole or in part 83 | by me, under the same open source license (unless I am 84 | permitted to submit under a different license), as indicated 85 | in the file; or 86 | 87 | (c) The contribution was provided directly to me by some other 88 | person who certified (a), (b) or (c) and I have not modified 89 | it. 90 | 91 | (d) I understand and agree that this project and the contribution 92 | are public and that a record of the contribution (including all 93 | personal information I submit with it, including my sign-off) is 94 | maintained indefinitely and may be redistributed consistent with 95 | this project or the open source license(s) involved. 96 | ``` 97 | 98 | DCO is enforced for every repository under the GitHub [`xcp-ng`](https://github.com/xcp-ng) and [`xcp-ng-rpms`](https://github.com/xcp-ng-rpms) organizations. 99 | -------------------------------------------------------------------------------- /docs/project/development-process/ISO-modification.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 10 3 | --- 4 | 5 | # ISO modification 6 | 7 | How to modify the installation ISO. 8 | 9 | This page aims at guiding you through the modification of the installation ISO images, and also serves as documentation on their internals. 10 | 11 | Obviously, a modified installation image is not an official installation image anymore, so it's harder to provide support for that. However, it can still be useful in some cases and we also hope that letting you know how to modify the installer will help getting useful contributions on its [code base](https://github.com/xcp-ng/host-installer). 12 | 13 | ## Extract an existing ISO image 14 | 15 | ``` 16 | mkdir tmpmountdir/ 17 | mount -o loop filename.iso tmpmountdir/ # as root 18 | cp -a tmpmountdir/. iso 19 | umount tmpmountdir/ # as root 20 | ``` 21 | 22 | Now you have the contents of the ISO image in the `iso/` directory. Note that everything in the directory is read-only at this stage, so you will need to change the file permissions or be root to modify the files. 23 | 24 | For example: 25 | ``` 26 | chmod a+w iso/ -R 27 | ``` 28 | 29 | ## Contents of the installation ISO image 30 | 31 | We'll only list the files that are used during an installation or upgrade. The other files in the ISO are documentation or additional tools. 32 | 33 | * `boot/`: stage 1 of the installer: initial boot then loads the second stage 34 | * `EFI/`: used to boot on UEFI 35 | * `install.img`: stage 2 of the installer. This file actually contains a complete Linux filesystem. In that filesystem, the installer comes from the `host-installer` RPM package. More about that below. 36 | * `Packages/`: all the RPMs that will be installed on the system 37 | * `repodata/`: yum metadata about the RPMs 38 | * `.treeinfo`: often forgotten when one copies the contents of the ISO for network installation, this hidden file contains necessary metadata about XCP-ng and its version 39 | 40 | ## Create a fully automated installation image 41 | 42 | [A guide is available in the *Installation* page](../../../installation/install-xcp-ng#unattended-installation-with-a-custom-iso-image). 43 | 44 | ## Modify the installer itself 45 | 46 | The steps to modify the installer are: 47 | * (extract the ISO image, see above) 48 | * extract install.img 49 | * modify the files it contains (a whole Linux filesystem) 50 | * rebuild install.img 51 | * (rebuild the ISO image, see below) 52 | 53 | ### Extract install.img 54 | 55 | ``` 56 | cd iso/ 57 | mkdir install 58 | cd install 59 | bunzip2 < ../install.img | cpio -idm 60 | cd .. 61 | ``` 62 | 63 | ### Navigate in the installer's filesystem 64 | 65 | If you want to use commands in the installer's filesystem context, as root: 66 | ``` 67 | chroot install/ 68 | ``` 69 | To use `yum` or `rpm`, you'll also need to mount `urandom` in your chrooted dir. 70 | From outside the chroot run: 71 | ``` 72 | touch install/dev/urandom 73 | mount -B /dev/urandom install/dev/urandom # As root! 74 | ``` 75 | Then useful commands will be available to you in the context of that filesystem, such as `rpm`, `yum`, etc. 76 | 77 | For example, you can list all RPMs present in that "system": 78 | ``` 79 | rpm -qa | sort 80 | ``` 81 | 82 | Exit chroot with `exit` or Ctrl + D. 83 | 84 | ### Alter the filesystem 85 | 86 | Using chroot as explained above, you can easily remove, add or update RPMs in the installer's filesystem. 87 | 88 | :::warning 89 | This modifies the installer filesystem, not the host! 90 | To modify the installed RPMs on a host see [change the list of installed RPMs](#change-the-list-of-installed-rpms). 91 | ::: 92 | 93 | Example use cases: 94 | * Update drivers: replace an existing driver module (*.ko) with yours, or, if you have built a RPM with that driver, install it. For example, you could rebuild a patched `qlogic-qla2xxx` RPM package and install it instead of the one that is included by default. Note that this will *not* install the newer driver on the final installed XCP-ng. We're only in the context of the system that runs during the installation phase, here. 95 | * Modify the installer itself to fix a bug or add new features (see below) 96 | 97 | ### Modify the installer code itself 98 | 99 | The installer is a `python` program that comes from the `host-installer`. In chroot, you can easily locate its files with: 100 | ``` 101 | rpm -ql host-installer 102 | ``` 103 | Most of them are in `/opt/xensource/installer/` 104 | 105 | Our git repository for the installer is: [https://github.com/xcp-ng/host-installer](https://github.com/xcp-ng/host-installer). Feel free to create pull requests for your enhancements or bug fixes. 106 | 107 | ### Build a new `install.img` with your changes 108 | 109 | From the `iso/` directory 110 | ``` 111 | cd install/ 112 | find . | cpio -o -H newc | bzip2 > ../install.img # as root! 113 | rm install/ -rf # as root too. Or move it somewhere else. We don't want it in the final ISO. 114 | ``` 115 | 116 | Then you can either read the next section or jump to "Build a new ISO image with your changes". 117 | 118 | ## Change the list of installed RPMs 119 | 120 | You may want the installer to install more packages, or updated packages. 121 | 122 | Read [the usual warnings about the installation of third party RPMs on XCP-ng.](https://github.com/xcp-ng/xcp/wiki/Updates-Howto#be-cautious-with-third-party-repositories-and-packages) 123 | 124 | To achieve this: 125 | * Change the RPMs in the `Packages/` directory. If you add new packages, be careful about dependencies, else they'll fail to install and the whole installation process will fail. 126 | * If you need to add new RPMs not just replace existing ones, they need to be pulled by another existing RPM as dependencies. If there's none suitable, you can add the dependency to the [xcp-ng-deps RPM](https://github.com/xcp-ng-rpms/xcp-ng-deps). 127 | * Update `repodata/` 128 | ``` 129 | rm repodata/ -rf 130 | createrepo_c . -o . 131 | ``` 132 | 133 | ## Build a new ISO image with your changes 134 | 135 | From the `iso/` directory: 136 | ``` 137 | OUTPUT=/path/to/destination/iso/file # change me 138 | VERSION=8.2 # change me 139 | genisoimage -o $OUTPUT -v -r -J --joliet-long -V "XCP-ng $VERSION" -c boot/isolinux/boot.cat -b boot/isolinux/isolinux.bin \ 140 | -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e boot/efiboot.img -no-emul-boot . 141 | isohybrid --uefi $OUTPUT 142 | ``` -------------------------------------------------------------------------------- /docs/project/development-process/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Development Process", 3 | "position": 1, 4 | "link": { 5 | "type": "generated-index", 6 | "description": "Here is an overview of the development process as well as guides or pointers to help take part in it." 7 | } 8 | } -------------------------------------------------------------------------------- /docs/project/development-process/development.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 3 3 | --- 4 | 5 | # Development 6 | 7 | How XCP-ng is developed. 8 | 9 | Development in the context of the XCP-ng project means either to contribute to existing upstream projects, such as the Xen API ([XAPI](https://github.com/xapi-project/xen-api/), the [Xen project](https://xenproject.org/) and many other components of XCP-ng, or to develop new software specifically for the XCP-ng project. 10 | 11 | ## Contribution to upstream projects 12 | Development (as in "write code") in XCP-ng project is mostly made of contributions to upstream projects such as [https://github.com/xapi-project/](https://github.com/xapi-project/), [https://wiki.xenproject.org/wiki/Submitting_Xen_Project_Patches](https://wiki.xenproject.org/wiki/Submitting_Xen_Project_Patches) or [https://github.com/xenserver/](https://github.com/xenserver/). 13 | 14 | For some pieces of upstream software, we have GitHub "forks" at [https://github.com/xcp-ng](https://github.com/xcp-ng). For others we contribute directly without a GitHub fork and apply the patches directly on the RPMs at [https://github.com/xcp-ng-rpms/](https://github.com/xcp-ng-rpms/). 15 | 16 | ## Components we **are** the upstream for 17 | Components for which we are the main developers. 18 | 19 | Our policy is to upstream everything if possible. However, there are some exceptions: 20 | * Components that have no "upstream" open source equivalent. `xcp-emu-manager` ([https://github.com/xcp-ng/xcp-emu-manager](https://github.com/xcp-ng/xcp-emu-manager)) is such a component that we had to write from scratch because the corresponding component in XenServer, `emu-manager`, is closed-source. 21 | * Bits specific to the act of building XCP-ng (various scripts, branding stuff...). The main example is [https://github.com/xcp-ng/xcp](https://github.com/xcp-ng/xcp). 22 | 23 | ## How to help at development 24 | It all depends on your skills and areas of interest so it's hard to tell specifically in advance. It usually starts with a feature that you want, or a bug that is annoying you. Alternatively, having a look at the open GitHub issues and picking one ([https://github.com/xcp-ng/xcp/issues](https://github.com/xcp-ng/xcp/issues)) can be a way to get started. Even if you don't know where to start, just come and talk with us (see [Where discussion happens](../release-process-overview#where-discussion-happens) above). 25 | -------------------------------------------------------------------------------- /docs/project/development-process/koji-initial-setup.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 14 3 | --- 4 | 5 | # Koji initial setup 6 | 7 | How to configure Koji as a user. 8 | 9 | ## Certificates 10 | 11 | Once accepted as a proven packager or as an apprentice, you will receive your connection certificate as well as the server's CA public certificate: 12 | 13 | ``` 14 | client.crt # your certificate 15 | serverca.crt 16 | clientca.crt 17 | ``` 18 | 19 | Copy them to `~/.koji/` (create it if it doesn't exist yet). 20 | Make sure not to lose them and to not let anyone put their hands on them. 21 | 22 | You may also receive a browser certificate for the connection to Koji's web interface. It has little use, though. Unless you have admin rights, the only actions available are cancelling and resubmitting builds, which you can already do with the `koji` CLI tool. 23 | ``` 24 | {login}_browser_certificate.p12 25 | ``` 26 | You need to import it into your web browser's certificate store and then use it when you log in to [https://koji.xcp-ng.org/](https://koji.xcp-ng.org/) 27 | 28 | ## Installing koji 29 | If your Linux distribution provides `koji` in its repositories (e.g. Fedora, CentOS or Mageia), simply install it from there. Else you can either run it from a container, or clone it from [https://pagure.io/koji](https://pagure.io/koji), then run it from there with something like `PYTHONPATH=$(realpath .):/usr/lib/python3.5/site-packages/ cli/koji help`. If it fails, you probably need to install additional python dependencies. 30 | 31 | ## Configuring koji 32 | Put this in `~/.koji/config`: 33 | ``` 34 | [koji] 35 | 36 | ;url of XMLRPC server 37 | server = https://kojihub.xcp-ng.org 38 | 39 | ;url of web interface 40 | weburl = http://koji.xcp-ng.org 41 | 42 | ;url of package download site 43 | topurl = http://koji.xcp-ng.org/kojifiles 44 | 45 | ;path to the koji top directory 46 | topdir = /mnt/koji 47 | 48 | ; configuration for SSL authentication 49 | 50 | ;client certificate 51 | cert = ~/.koji/client.crt 52 | 53 | ;certificate of the CA that issued the HTTP server certificate 54 | serverca = ~/.koji/serverca.crt 55 | 56 | ; select authentication type 57 | authtype = ssl 58 | ``` 59 | 60 | In some cases, we've found that the `cert` directive in `~/.koji/config ` was not used if there was no such directive in `/etc/koji.conf`. Workaround: add a `cert = ~/.koji/client.crt` to `/etc/koji.conf`, or possibly even `cp ~/.koji/config /etc/koji.conf`. 61 | 62 | ## Test your connection 63 | `koji moshimoshi`. If it greats you (in any language), then your connection to the server works. 64 | 65 | ## Koji in Docker container 66 | 67 | When your Linux distribution doesn't have a useable `koji`, you can always run it in a container. 68 | 69 | Prepare an image: 70 | ``` 71 | docker build -t koji:latest - < 12 | ![](../../assets/img/roadmap.jpg) 13 | 14 | 15 | If you have any suggestion, feel free to ask on our [community forum](https://xcp-ng.org/forum/category/1/feedback-and-requests). 16 | 17 | ## 🏗️ In tech preview 18 | 19 | _Technology that is here, but not officially released for production usage._ 20 | 21 | * [New Xen guest agents](https://gitlab.com/xen-project/xen-guest-agent) (Guest agent) 22 | * [RunX](https://xcp-ng.org/blog/2021/10/19/runx-is-available-in-tech-preview/) (Xen) 23 | * [DPU Support](https://xcp-ng.org/blog/2021/07/12/dpus-and-the-future-of-virtualization/) (storage/platform) 24 | * Reporting hardware info on hosts (with our certified hardware partners) 25 | * SPDK-based `blkif` backend (platform) 26 | * SMAPIv3 evolution (storage) 27 | 28 | ## 👷 In progress 29 | 30 | _Things we started to work on, but are not usable or visible yet._ 31 | 32 | * Auto resume original VM when Xen live migration failed 33 | * Q35 emulation support (Xen) 34 | * New metrics (Xen/platform) 35 | * Linux 6.x kernel Dom0 support (platform) 36 | * Xen RISC-V port (Xen) 37 | * [AMD SEV-SNP support](https://github.com/xcp-ng/hyper-sev-project) (Xen) 38 | * New signed Windows PV drivers (guest drivers) 39 | * Host secure boot (Xen/platform) 40 | 41 | * LACP support during install (platform) 42 | 43 | ## 🥼 Spec/Design/PoC 44 | 45 | _Features that are being discussed or designed, but not even partly coded._ 46 | 47 | * [xenopsd-ng](https://github.com/xcp-ng/xenopsd-ng) (Xen) 48 | * Virtio support (platform) 49 | 50 | ## 🏁 Done 51 | 52 | * SMAPIv3 full ZFS driver 53 | * Faster Xen Motion (compression in `xenops`?) 54 | * Soft RAID status/alerting (via XAPI plugin) 55 | * Intel `igc` driver support (dom0 drivers) 56 | * Improved automated CI (build) 57 | * [IPv6 support in dom0](https://xcp-ng.org/blog/2021/02/09/ipv6-in-xcp-ng/) (Network) 58 | * [LINSTOR integration](https://xcp-ng.org/blog/2020/11/13/xcp-ng-and-linbit-alliance-part-ii/) (Storage) 59 | * Conversion tool (facilitate migration to XCP-ng, done in XO for VMware) 60 | * Smartctl disk status (2023 for XCP-ng 8.3, already supported in XO) 61 | * vTPM support (2023, thanks to XenServer team) 62 | * Guest UEFI secure boot (2022) 63 | * Core scheduling (2020) 64 | * SDN OpenFlow (2020) 65 | * Restore VMs with their memory (2020) 66 | * Cross/multi pools private network in GRE/VxLAN (2020) 67 | * Netdata dedicated RPM (2019) 68 | * Citrix DVSC replacement by XO plugin (2019) 69 | * Full SMAPIv1 SR stack ZFS support, done with ZoL 0.8.1 (2019) 70 | * Netinstaller checking GPG (2019) 71 | * Netdata in XCP-ng with [Xen metrics](https://github.com/netdata/netdata/pull/5660) (2019) 72 | * `zstd` support for VM export/import (2019) 73 | * `xfs` local SR support SMAPIv1 (2019) 74 | * `ext4` local SR support SMAPIv1 (2019) 75 | * Terraform support (2019) 76 | * More recent (4.9) kernel usage in dom0 (2018) 77 | * Signed Windows PV tools (2018) 78 | * Cloudstack compatibility (2018) 79 | * Upgrade detection and upgrade with updater plugin (2018) 80 | * Extra package repo (2018) 81 | 82 | ## 🗃️ Backlog 83 | 84 | _This is a kind of wish list, without any priorities, where we try to put some ideas._ 85 | 86 |
87 | ![](../../assets/img/backlogfuturistic.jpg) 88 |
89 | ### Compute 90 | 91 | * Xen live patching 92 | * VM storage migration improvement [#145](https://github.com/xcp-ng/xcp/issues/145) 93 | * More recent Xen in alternate repo 94 | 95 | ### Storage 96 | 97 | * SMAPIv3 qcow2 export/import 98 | * SMAPIv3 new drivers 99 | * VDI export with compression (including `zstd`) 100 | * SMAPIv3 Ceph support 101 | * Coalesce process improvement (raw speed, rewrite, multicore?) [#127](https://github.com/xcp-ng/xcp/issues/127) 102 | * NVMe driver for near bare metal perfs (specification in progress) 103 | * General storage perf improvement 104 | * Thin pro on block based SR (architectural review needed) 105 | 106 | ### Network 107 | 108 | * DPDK support 109 | 110 | ### API 111 | 112 | * XAPI HTTP lib 1.1 replacement (removing stunnel) 113 | * JSON-RPC compression support 114 | 115 | ### Platform/Installer 116 | 117 | * Installer using `ext4` for dom0 118 | * Installer allow join pool directly during install 119 | * Expose repo URL/modification from XAPI (possibility to use XOA with `apt-cacher-ng`) 120 | * Improved provisioning support (Ansible…) 121 | * Automated tests 122 | * new RPM tracking in CentOS (Anitya) 123 | -------------------------------------------------------------------------------- /docs/project/security.md: -------------------------------------------------------------------------------- 1 | # Security 2 | 3 | Security is a central concern in the whole XCP-ng project. 4 | 5 | We are using Xen as our core hypervisor engine, which is a huge collaboration project with security as core value. On top of that, we are closely monitoring all security releases from Citrix Hypervisor to be able to provide critical patches very fast too. 6 | 7 | Because XCP-ng is made of a lot of various components, we are relying on multiple sources to improve the security and fixing flaws. 8 | 9 | ## 🐼 Xen Project security 10 | 11 | XCP-ng project is member of the Xen Predisclosure list since 2018, which is including a lot of huge cloud players, but also companies working in critical IT security, industries and so on. The whole list is public and [available here](https://xenproject.org/developers/security-policy/#organizations-on-the-pre-disclosure-list), where you can see our name. 12 | 13 |
14 | ![](../../assets/img/xen_logo.png) 15 |
16 | 17 | We strongly suggest that you go read the [Xen Security Policy](https://xenproject.org/developers/security-policy/) web page. At this time, it's one of the best Open Source security processes, with very clear documentation and actions to make. **This is one of the big reasons Xen is trusted in the IT security world**. 18 | 19 | You can also see the change history with dates of each organization added into it. 20 | 21 | A quick recap of the key steps involved in this security process: 22 | 23 | * **Reporting**: Vulnerabilities in Xen Project software should be reported via email to security@xenproject.org. 24 | * **Notification and Negotiation**: The Hypervisor team, upon becoming aware of a problem, notifies the security team. If the vulnerability isn't public, an embargo date and disclosure schedule are negotiated with the discoverer. 25 | * **CVE Number and Advisory Preparation**: A CVE number is acquired and an advisory is prepared, including determining affected systems and the vulnerability's impact. 26 | * **Advisory Pre-Release**: If the issue is under embargo, an advisory, including patches, is sent to the Xen security pre-disclosure list. 27 | * **Public Release**: On the embargo date, the advisory is published, and updates are pushed to public revision control trees. 28 | * **Updates and Amendments**: If new information or patches are available, an amended advisory may be issued. 29 | * **Post-Embargo Transparency**: Decisions made during the embargo period are disclosed post-embargo for transparency and future guidance 30 | 31 | ### XSA 32 | 33 | XSAs are "Xen Security Advisory". They are -in general- linked to a CVE. You can see the list of all XSAs at this place: [https://xenbits.xen.org/xsa/](https://xenbits.xen.org/xsa/) 34 | 35 |
36 | ![](../../assets/img/xenpanda.png) 37 |
38 | 39 | ## 🚀 Platform security 40 | 41 | XCP-ng code base is close to Citrix Hypervisor, and for that reason, we are integrating Citrix security patches very quickly into XCP-ng. We are also posting very often updates and explanation on each security patches available. You can see this list at this place: [https://xcp-ng.org/blog/tag/security/](https://xcp-ng.org/blog/tag/security/) 42 | 43 | However, it's more and more plausible that flaws might be discovered first on XCP-ng instead of Citrix Hypervisor. In that case, please see below. 44 | 45 | ## 🔒 Report a security flaw 46 | 47 | To ensure an efficient security process for XCP-ng, we are open to security reports with our dedicated email: security at this domain name. -------------------------------------------------------------------------------- /docs/releases/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Releases", 3 | "position": 3 4 | } -------------------------------------------------------------------------------- /docs/releases/releases.md: -------------------------------------------------------------------------------- 1 | # Releases 2 | 3 | ## XCP-ng Release History 4 | 5 | | Version | Released | Status | Support until | Release notes | 6 | | --- | --- | --- | --- | --- | 7 | | [8.3](release-8-3.md) | 2024-10-07 | Full support | 2028-11-30 | [8.3 Release notes](release-8-3.md) | 8 | | [8.2 LTS](release-8-2.md) | **8.2.0**: 2020-11-18
**8.2.1**: 2022-02-28 | Full support, LTS | 2025-06-25 (*) | [8.2 Release notes](release-8-2.md) | 9 | | [8.1](release-8-1.md) | 2020-03-31 | EOL | 2021-03-31 | [8.1 Release notes](release-8-1.md) | 10 | | 8.0 | 2019-07-25 | EOL | 2020-11-13 | | 11 | | 7.6 | 2018-10-31 | EOL | 2020-03-30 | | 12 | | 7.5 | 2018-08-10 | EOL | 2019-07-25 | | 13 | | 7.4 | 2018-03-31 | EOL | 2018-10-31 | | 14 | 15 | (*) Support for XCP-ng 8.2 LTS will be extended for a short period to ensure a three-month gap between the official LTS release of XCP-ng 8.3 and the end of support for XCP-ng 8.2 LTS. See [this article](https://xcp-ng.org/blog/2025/03/14/the-future-of-xcp-ng-lts/). 16 | 17 | ## 🟢 LTS Releases 18 | 19 | *Latest LTS: [XCP-ng 8.2](release-8-2.md)* 20 | 21 | Using the Long Term Support version is recommended if: 22 | 23 | * you want to ensure system stability 24 | * you prefer receiving security fixes without needing to perform major upgrades annually 25 | * you need a predictable migration path over a longer timeframe 26 | * you are not concerned about missing new features for a few years 27 | 28 | XCP-ng's LTS releases are typically supported for up to five years. However, XCP-ng 8.3 is an exception: it will be supported until 2028-11-30 to make way for the next major release, XCP-ng 9.0. 29 | 30 | ```mermaid 31 | %%{ 32 | init: { 33 | 'theme': 'base', 34 | 'themeVariables': { 35 | 'fontSize': '32px', 36 | 'primaryColor': '#8e83fe', 37 | 'textColor': '#555', 38 | 'secondaryColor': '#5952a3', 39 | 'tertiaryColor': 'transparent' 40 | } 41 | } 42 | }%% 43 | gantt 44 | dateFormat YYYY-MM-DD 45 | tickInterval 12month 46 | XCP-ng 8.3 LTS :2025-05-31, 3.5y 47 | XCP-ng 8.2 LTS :2024-08-30, 1y 48 | ``` 49 | 50 | ## 🟡 Standard Release 51 | 52 | *Latest: [XCP-ng 8.3](release-8-3.md)* 53 | 54 | Using the standard release is recommended if: 55 | 56 | * you want access to the latest features and enhancements 57 | * you need support for the newest hardware 58 | * you want to benefit from improved performance 59 | * you don't mind upgrading approximately twice a year 60 | 61 | Standard releases are supported until the next release, plus a few additional months to allow time for transitioning. Check the support dates [in the table above](#xcp-ng-release-history). 62 | 63 | If you prefer a more conservative approach, consider choosing our [LTS release](#-lts-releases). 64 | 65 | :::note 66 | XCP-ng 8.3 is special in the following ways: 67 | * After the General Availability release, XCP-ng 8.3 will continue to receive updates, allowing us to introduce new features while maintaining platform stability through improved testing processes. 68 | * Over time, XCP-ng 8.3 will transition to a Long-Term Support (LTS) release, where only bug fixes and security patches will be applied, ensuring maximum stability. 69 | ::: 70 | 71 | 72 | ## 🔴 Pre Releases 73 | 74 | Using a pre-release is relevant only for testing purposes. Check [the `Release` tag on our blog](https://xcp-ng.org/blog/tag/release/) for (pre-)release announcements. 75 | 76 | :::warning 77 | ### Important Note on Pre-Releases 78 | 79 | Pre-releases are designed for testing before final General Availability. Although generally stable, they are **NOT SUITABLE FOR PRODUCTION USE**. Key considerations include: 80 | 81 | * Security Patches: Pre-releases may not receive urgent security updates as promptly as production-grade releases. 82 | * Commercial Support: Vates does not offer commercial support for pre-releases until they are officially finalized. 83 | 84 | For these reasons, pre-releases should be used strictly for testing. 85 | ::: -------------------------------------------------------------------------------- /docs/storage/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Storage", 3 | "position": 6 4 | } -------------------------------------------------------------------------------- /docs/troubleshooting/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Troubleshooting", 3 | "position": 10 4 | } 5 | -------------------------------------------------------------------------------- /docs/troubleshooting/after-upgrade.md: -------------------------------------------------------------------------------- 1 | # After Upgrade 2 | 3 | ## 🔧 The Server stays in Maintenance Mode 4 | 5 | ### Causes and Solutions 6 | * You enabled the maintenance mode and forgot about it. 7 | * No big deal, just exit maintenance mode :-) 8 | * The server is still booting. 9 | * Take your time and let him boot up :-) this takes sometimes some time, but typically not longer than some minutes. 10 | * A Storage Repository (SR) could not be attached. 11 | * Check the corresponding disk(s), network(s) and setting(s). Follow the [3-Step-Guide](../#the-3-step-guide). 12 | * There is a serious problem. 13 | * Follow the 3-Step-Guide. 14 | 15 | *** 16 | 17 | ## 🙅 Some of my VMs do not start 18 | 19 | With the following error: "This operation cannot be performed because the specified virtual disk could not be found." 20 | 21 | ### Cause 22 | It's mostly related to an inserted ISO that is no longer accessible. 23 | 24 | ### Solution 25 | Eject the ISO on those VMs. 26 | 27 | *** 28 | 29 | ## 💔 Missing scripts/tools after upgrade 30 | 31 | ### Cause 32 | 33 | XCP-ng ISO upgrade is a reinstall that saves only your XAPI database (Settings/VM Metadata). 34 | But it also creates a full backup of your previous XCP-ng/XenServer installation on a second partition, in most cases it's /dev/sda2. 35 | 36 | ### Solution 37 | 38 | To access the backup (with all your tools and modifications) just mount the backup partition (mostly /dev/sda2) and copy your data back. 39 | 40 | *** 41 | 42 | ## 🐛 After upgrading my XCP-ng host is unstable, network card freezes, kernel errors, etc. 43 | 44 | ### Causes and Solutions 45 | 46 | * Maybe your hardware got an issue 47 | * Check caps on your mainboard 48 | * Check power supply 49 | * Check cables 50 | * Check drives SMART values with something like `smartctl -A /dev/sda` ([Smartmontools](https://www.smartmontools.org)) 51 | * Check memory with something like [Memtest86+](https://www.memtest.org) 52 | * Maybe your firmware got an issue 53 | * update BIOS 54 | * update network card firmware 55 | * update RAID controller / HBA firmware 56 | * update system firmware 57 | * Maybe we (or upstream Citrix XenServer) removed/updated something. 58 | * Please check our [Hardware Compatibility List (HCL)](../../installation/hardware). 59 | * Follow the [3-Step-Guide](../#the-3-step-guide). -------------------------------------------------------------------------------- /docs/troubleshooting/installation-upgrade.md: -------------------------------------------------------------------------------- 1 | # Installation and upgrade 2 | 3 | Upgrade here designates an upgrade using the installation ISO 4 | 5 | ## If the installer starts booting up then crashes or hangs 6 | 7 | * First of all check the integrity of the ISO image you downloaded, using the provided checksum 8 | * Try the other boot options 9 | * alternate kernel 10 | * safe mode 11 | * Try to boot with the `iommu=0` xen parameter. 12 | 13 | :::tip 14 | **How to add or remove boot parameters from command line.** 15 | 16 | * On UEFI mode, you can edit the grub entries with `e`. Xen parameters are on lines starting with `multiboot2 /boot/xen.gz` and kernel parameters on lines starting with `module2 /boot/vmlinuz`. 17 | * On BIOS mode, you can enter a menu by typing `menu` and then modify the boot entries with the TAB key. Xen parameters are between `/boot/xen.gz` and the next `---`. Kernel parameters are between `/boot/vmlinuz` and the next `---`. 18 | ::: 19 | 20 | If any of the above allows to work around your issue, please let us know ([github issues](https://github.com/xcp-ng/xcp/issues)). We can't fix issues we aren't aware of. 21 | 22 | ## During installation or upgrade 23 | 24 | You can reach a shell with ALT+F2 (or ALT+RIGHT) and a logs console with ALT+F3 (or ALT+RIGHT twice). 25 | 26 | Full installation log are populated in real time in `/tmp/install-log`. They can be read with `view /tmp/install-log`. 27 | 28 | When asking for help about installation errors, providing this file increases your chances of getting precise answers. 29 | 30 | The target installation partition is mounted in `/tmp/root`. 31 | 32 | ## Installation logs 33 | 34 | The installer writes in `/var/log/installer/`. 35 | 36 | The main log file is `/var/log/installer/install-log`. 37 | 38 | ## Debugging the installer 39 | 40 | You can [build your own installer](../../project/development-process/ISO-modification). -------------------------------------------------------------------------------- /docs/troubleshooting/log-files.md: -------------------------------------------------------------------------------- 1 | # Log files 2 | 3 | On a XCP-ng host, like in most Linux/UNIX systems, the logs are located in `/var/log`. XCP-ng does not use `journald` for logs, so everything is in `/var/log` directly. 4 | 5 | ## General log 6 | 7 | `/var/log/daemon.log` 8 | 9 | Output of various running daemons involved in XCP-ng's tasks. Examples: output of `xenopsd` which handles the communication with the VMs, of executables involved in live migration and storage motion, and more... 10 | 11 | ## XAPI's log 12 | 13 | `/var/log/xensource.log` 14 | 15 | Contains the output of the XAPI toolstack. 16 | 17 | ## Storage related (eg. coalescing snapshots) 18 | 19 | `/var/log/SMlog` 20 | 21 | Contains the output of the storage manager. 22 | 23 | ## Kernel messages 24 | 25 | For hardware related issues or system crashes. 26 | 27 | `/var/log/kern.log` 28 | 29 | All kernel logs since last boot: type `dmesg`. 30 | 31 | ## Kernel crash logs 32 | 33 | In case of a host crash, if it is kernel-related, you should find logs in `/var/crash` 34 | 35 | ## Produce a status report 36 | 37 | To help someone else identify an issue or reproduce a bug, you can generate a full status report containing all log files, details about your configuration and more. 38 | 39 | ``` 40 | xen-bugtool --yestoall 41 | ``` 42 | 43 | Then upload the resulting archive somewhere. It may contain sensitive information about your setup, so it may be better to upload it to a private area and give the link only to those you trust to analyze it. 44 | 45 | 46 | ## XCP-ng Center 47 | 48 | You can display the log files via menu `Help` -> `View XCP-ng Center Log Files`. 49 | 50 | The log files are located in `C:\Users\\AppData\Roaming\XCP-ng\XCP-ng Center\logs`. 51 | 52 | ## Windows VM 53 | 54 | ### (PV-)Driver install log 55 | `C:\Windows\INF\setupapi.dev.log` 56 | 57 | 58 | ## Useful data for debugging 59 | 60 | ### DMAR/IVRS ACPI tables 61 | 62 | To debug various issues (for example IOMMU-related issues), developers may need to consult the DMAR (Intel) or IVRS (AMD) acpi tables, extracted from the firmware. 63 | 64 | Here's how to extract them, from a Linux system with `acpica-tools` (or equivalent name in your distro) installed, as root: 65 | 66 | ```bash 67 | mkdir acpi && cd acpi 68 | acpidump > acpi.dmp 69 | acpixtract -a acpi.dmp 70 | [[ -f rmad.dat ]] && echo "DMAR" | dd of=rmad.dat bs=1 count=4 conv=notrunc 71 | iasl -d *.dat 72 | ``` 73 | 74 | This will produce either `ivrs.dsl`, `rmad.dsl` or `dmar.dsl`. -------------------------------------------------------------------------------- /docs/troubleshooting/storage/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Storage", 3 | "link": { 4 | "type": "generated-index" 5 | } 6 | } -------------------------------------------------------------------------------- /docs/troubleshooting/storage/disappearing-NVMe-drives.md: -------------------------------------------------------------------------------- 1 | # Disappearing NVMe drives 2 | 3 | Some NVMe drives do not handle Automatic Power State Transition (APST) well on certain motherboards or adapters and will disappear from the system when attempting to lower their power state. You may see logs in dmesg that indicate this is happening. 4 | 5 | ``` 6 | [65056.815294] nvme nvme0: controller is down; will reset: CSTS=0xffffffff, PCI_STATUS=0xffff 7 | [65060.797874] nvme 0000:04:00.0: Refused to change power state, currently in D3 8 | [65060.815452] xen: registering gsi 32 triggering 0 polarity 1 9 | [65060.815473] Already setup the GSI :32 10 | [65060.937775] nvme nvme0: Removing after probe failure status: -19 11 | [65060.950019] print_req_error: I/O error, dev nvme1n1, sector 895222784 12 | [65060.950022] print_req_error: I/O error, dev nvme1n1, sector 438385288 13 | [65060.950040] print_req_error: I/O error, dev nvme1n1, sector 223301496 14 | [65060.950072] print_req_error: I/O error, dev nvme1n1, sector 256912800 15 | [65060.950077] print_req_error: I/O error, dev nvme1n1, sector 189604552 16 | [65060.950085] print_req_error: I/O error, dev nvme1n1, sector 390062504 17 | [65060.950087] print_req_error: I/O error, dev nvme1n1, sector 453909496 18 | [65060.950099] print_req_error: I/O error, dev nvme1n1, sector 453915072 19 | [65060.950102] print_req_error: I/O error, dev nvme1n1, sector 246194176 20 | [65060.950107] print_req_error: I/O error, dev nvme1n1, sector 246194288 21 | [65061.030575] nvme nvme0: failed to set APST feature (-19) 22 | ``` 23 | 24 | APST can be disabled by adding `nvme_core.default_ps_max_latency_us=0` to your kernel boot parameters. For example, in xcp-ng 8.1, edit `/boot/grub/grub.cfg` to include a new parameter on the first `module2` line. 25 | 26 | ``` 27 | menuentry 'XCP-ng' { 28 | search --label --set root root-jnugiq 29 | multiboot2 /boot/xen.gz dom0_mem=7584M,max:7584M watchdog ucode=scan dom0_max_vcpus=1-16 crashkernel=256M,below=4G console=vga vga=mode-0x0311 30 | module2 /boot/vmlinuz-4.19-xen root=LABEL=root-jnugiq ro nolvm hpet=disable console=hvc0 console=tty0 quiet vga=785 splash plymouth.ignore-serial-consoles nvme_core.default_ps_max_latency_us=0 31 | module2 /boot/initrd-4.19-xen.img 32 | } 33 | ``` -------------------------------------------------------------------------------- /docs/troubleshooting/storage/disk-failure-softwaire-RAID.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'Software RAID issues' 3 | --- 4 | 5 | # Software RAID issues 6 | 7 | This page regroups the common issues you might deal with regarding software RAID. 8 | 9 | ## ⏏️ Disk replacement with software RAID 10 | 11 | If XCP-ng has been installed with a *software RAID 1 full disk mirror* method, a disk failure can be fixed with a disk replacement. Here's how: 12 | 13 | ### If the host can't boot anymore 14 | 15 | Boot to the XCP-ng installer ISO in shell mode. 16 | 17 | ### Once booted into your XCP-ng install or the ISO 18 | 19 | Enter the following commands: 20 | ``` 21 | cat /proc/mdstat 22 | ``` 23 | This will return a similar output: 24 | ``` 25 | Personalities : [raid1] 26 | md127 : active raid1 nvme0n2[3] nvme0n1[2] 27 | 62914432 blocks super 1.0 [2/2] [U_] 28 | 29 | unused devices: 30 | ``` 31 | `[U_]` indicates that the RAID is damaged. Now we will repair it. 32 | 33 | ### Remove damaged disk 34 | 35 | Let's assume we want to remove `nvme0n1`: 36 | ``` 37 | mdadm --manage /dev/md127 --fail /dev/nvme0n1 38 | ``` 39 | Now `mdstat` shows `nvme0n1` as *failed*: 40 | ``` 41 | Personalities : [raid1] 42 | md127 : active raid1 nvme0n2[3] nvme0n1[2](F) 43 | 62914432 blocks super 1.0 [2/1] [U_] 44 | 45 | unused devices: 46 | ``` 47 | Now we can remove the disk from the raid: 48 | ``` 49 | mdadm --manage /dev/md127 --remove /dev/nvme0n1 50 | ``` 51 | The disk is removed from `mdstat`: 52 | ``` 53 | Personalities : [raid1] 54 | md127 : active raid1 nvme0n2[3] 55 | 62914432 blocks super 1.0 [2/1] [U_] 56 | 57 | unused devices: 58 | ``` 59 | The disk is successfully removed. 60 | 61 | ### Add a new/replacement disk to the RAID 62 | 63 | Now we can add a replacement disk. Shutdown your host, install the disk on your system, then boot it to your XCP-ng install or the installer ISO once more. Now add the disk to the RAID: 64 | ``` 65 | mdadm --manage /dev/md127 --add /dev/nvme0n1 66 | ``` 67 | `mdstat` shows that disk `nvme0n1` is in the RAID and is synchronizing with `nvme0n2`: 68 | ``` 69 | Personalities : [raid1] 70 | md127 : active raid1 nvme0n2[3] nvme0n1[4] 71 | 62914432 blocks super 1.0 [2/1] [U_] 72 | [=>...................] recovery = 9.9% (2423168/24418688) finish=2.8min speed=127535K/sec 73 | 74 | unused devices: 75 | ``` 76 | Wait for completion, the rebuild is complete once `mdstat` looks like: 77 | ``` 78 | md127 : active raid1 nvme0n2[3] nvme0n1[4] 79 | 62914432 blocks super 1.0 [2/2] [UU] 80 | 81 | unused devices: 82 | ``` 83 | `[UU]` is back, the RAID is repaired and you should now reboot the host. 84 | 85 | ### If the system is still unbootable 86 | 87 | This might happen for various reasons. If you haven't backed-up the contents of the disks yet, you really should now, in case data was corrupted on more than one disk. Clonezilla is a good open source live ISO to do this with if you don't already have a favorite tool. It can back up to another disk, or to a network share. 88 | 89 | It has been reported to us that some non-enterprise motherboards may have limited UEFI firmware that does not cope well with disk changes. 90 | 91 | In most cases, you should be able to restore the bootloader by upgrading your host to the same version it is already running (e.g upgrade 8.2 to 8.2 using the 8.2 install ISO). Check [the upgrade docs](../../installation/upgrade.md) for the usual instructions and warnings. Another, custom solution is to run the appropriate `efibootmgr` commands from the installer's shell. Refer to [its documentation](https://linux.die.net/man/8/efibootmgr). 92 | -------------------------------------------------------------------------------- /docs/troubleshooting/storage/iscsi-troubleshooting.md: -------------------------------------------------------------------------------- 1 | # iSCSI Troubleshooting 2 | 3 | This page is dedicated to common issues you might have with iSCSI. 4 | 5 | ## 🎓 Basic iSCSI commands 6 | 7 | Discover available targets from a discovery portal: 8 | ```sh 9 | iscsiadm -m discovery -t sendtargets -p 10 | ``` 11 | 12 | Log into a specific target: 13 | ```sh 14 | iscsiadm -m node -T targetname -p -l 15 | ``` 16 | 17 | Log into all targets: 18 | ```sh 19 | iscsiadm -m node -l 20 | ``` 21 | 22 | Display a list of all current sessions logged in: 23 | ```sh 24 | iscsiadm -m session 25 | ``` 26 | 27 | Log out of all targets: 28 | ```sh 29 | iscsiadm -m node -u 30 | ``` 31 | 32 | Display information about a target: 33 | ```sh 34 | iscsiadm -m node -T targetname -p 35 | ``` 36 | 37 | Rescan a volume after expanding a LUN: 38 | ```sh 39 | iscsiadm -m node -p --rescan 40 | ``` 41 | 42 | ## 💓 iSCSI in storage-cluster environment 43 | 44 | This apply to setup using DRBD/Corosync/Pacemaker. 45 | 46 | #### iSCSI reconnect after reboot fails permanently ( Unsupported SCSI Opcode ) 47 | 48 | The problem is that in a storage-cluster environment every time the node changes or pacemaker start /stop /restart iSCSI resources the "iSCSI SN" for a lun are new generated and differs from that before. 49 | Xen uses the "iSCSI SN" as an identifier, so you have to ensure that "iSCSI SN" is the same on all cluster nodes. 50 | You can read more about it [here](https://smcleod.net/2015/12/iscsi-scsi-id-/-serial-persistence/). 51 | 52 | * error message xen orchestra 53 | 54 | ``` 55 | SR_BACKEND_FAILURE_47(, The SR is not available [opterr=Error reporting error, unknown key Device not appeared yet], ) 56 | 57 | ``` 58 | 59 | * possible and misleading error message on storage servers 60 | 61 | ``` 62 | kernel: [11219.445255] rx_data returned 0, expecting 48. 63 | kernel: [11219.446656] iSCSI Login negotiation failed. 64 | kernel: [11219.642772] iSCSI/iqn.2018-12.com.example.server:33init: Unsupported SCSI Opcode 0xa3, sending CHECK_CONDITION. 65 | 66 | ``` 67 | 68 | ### Solution 69 | 70 | The trick is to extend the Lio iSCSI lun configuration in pacemaker with a hard coded iscsi_sn (scsi_sn=d27dab3f-c8bf-4385-8f7e-a4772673939d) and `lio_iblock`, so that every node uses the same. 71 | 72 | * while pacemaker iscsi resource is running you can get the actual iSCSI_SN: 73 | `cat /sys/kernel/config/target/core/iblock_0/lun_name/wwn/vpd_unit_serial` 74 | 75 | * extend your pacemaker iSCSI configuration with a `scsi_sn` and the matching `lio_iblock` 76 | 77 | ``` 78 | primitive p_iscsi_lun_1 iSCSILogicalUnit \ 79 | params target_iqn="iqn.2019-01.com.example.server:example" implementation=lio-t lun=0 path="/dev/drbd0" \ 80 | scsi_sn=d27dab3f-c8bf-4385-8f7e-a4772673939d lio_iblock=0 \ 81 | op start timeout=20 interval=0 \ 82 | op stop timeout=20 interval=0 \ 83 | op monitor interval=20 timout=40 84 | 85 | ``` -------------------------------------------------------------------------------- /docs/troubleshooting/troubleshooting.md: -------------------------------------------------------------------------------- 1 | # Troubleshooting 2 | 3 | If you have a problem or a question on XCP-ng, there's 2 options: community support (mostly on [XCP-ng Forum](https://xcp-ng.org/forum)) or [pro support](https://xcp-ng.com). 4 | 5 | ## The 3-Step-Guide 6 | Here is our handy **3-Step-Guide**: 7 | 8 | 1. Check the [logs](log-files). Check your settings. Check all the articlesbelow here. If you already did, proceed to Step 2. 9 | 2. Get help at our [Forum](https://xcp-ng.org/forum) or get help [on Discord](https://discord.gg/Hr98F6wRvx) or [on IRC](irc://irc.oftc.net/#xcp-ng) and provide as much information as you can: 10 | * ☑️ What did you **exactly** do to expose the bug? 11 | * 🚀 XCP-ng Version 12 | * 🖥️ Hardware 13 | * 🏭 Infrastructure 14 | * 📰 Logs 15 | * 📺 Screenshots 16 | * 🛑 Error messages 17 | 3. Share your solution on the [forum](https://xcp-ng.org/forum), others can benefit from your experience. 18 | 19 | :::tip 20 | **Pro Support**: if you have subscribed to [Pro support](https://xcp-ng.com/), well, don't hesitate to use it! We are also here to assist you BEFORE you have any problem 21 | ::: 22 | 23 | import DocCardList from '@theme/DocCardList'; 24 | 25 | -------------------------------------------------------------------------------- /docs/vms/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Virtual Machines (VMs)", 3 | "position": 5 4 | } -------------------------------------------------------------------------------- /docs/xostor/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "XOSTOR", 3 | "position": 9 4 | } 5 | -------------------------------------------------------------------------------- /docusaurus.config.js: -------------------------------------------------------------------------------- 1 | // @ts-check 2 | // Note: type annotations allow type checking and IDEs autocompletion 3 | 4 | const lightCodeTheme = require('prism-react-renderer').themes.github; 5 | const darkCodeTheme = require('prism-react-renderer').themes.dracula; 6 | 7 | /** @type {import('@docusaurus/types').Config} */ 8 | const config = { 9 | title: 'XCP-ng Documentation', 10 | tagline: 'Documentation for XCP-ng', 11 | url: 'https://docs.xcp-ng.org', 12 | baseUrl: '/', 13 | onBrokenLinks: 'throw', 14 | onBrokenMarkdownLinks: 'warn', 15 | favicon: 'img/xcpcrop128.png', 16 | trailingSlash: true, 17 | 18 | // GitHub pages deployment config. 19 | // If you aren't using GitHub pages, you don't need these. 20 | //organizationName: 'xcp-ng', // Usually your GitHub org/user name. 21 | //projectName: 'xcp-ng-org', // Usually your repo name. 22 | 23 | // Even if you don't use internalization, you can use this field to set useful 24 | // metadata like html lang. For example, if your site is Chinese, you may want 25 | // to replace "en" with "zh-Hans". 26 | i18n: { 27 | defaultLocale: 'en', 28 | locales: ['en'], 29 | }, 30 | 31 | // Mermaid graphs 32 | markdown: { 33 | mermaid: true, 34 | }, 35 | themes: ['@docusaurus/theme-mermaid'], 36 | 37 | scripts: [ 38 | { 39 | src: '/js/mautic.js', 40 | async: true, 41 | }, 42 | { 43 | src: '/js/matomo.js', 44 | async: true, 45 | }, 46 | ], 47 | 48 | presets: [ 49 | [ 50 | 'classic', 51 | /** @type {import('@docusaurus/preset-classic').Options} */ 52 | ({ 53 | docs: { 54 | routeBasePath: '/', 55 | sidebarPath: require.resolve('./sidebars.js'), 56 | // Please change this to your repo. 57 | // Remove this to remove the "edit this page" links. 58 | editUrl: 59 | 'https://github.com/xcp-ng/xcp-ng-org/edit/master/', 60 | }, 61 | blog: false, 62 | theme: { 63 | customCss: require.resolve('./src/css/custom.css'), 64 | }, 65 | }), 66 | ], 67 | ], 68 | 69 | themeConfig: 70 | /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ 71 | ({ 72 | navbar: { 73 | title: 'XCP-ng Documentation', 74 | logo: { 75 | alt: 'XCP-ng logo', 76 | src: 'img/xcpcrop128.png', 77 | }, 78 | items: [ 79 | {href: 'https://xcp-ng.org', label: 'Home', position: 'right'}, 80 | {href: 'https://xcp-ng.org/blog', label: 'Blog', position: 'right'}, 81 | {href: 'https://vates.tech', label: 'Pro Support', position: 'right'}, 82 | { 83 | href: 'https://github.com/xcp-ng', 84 | label: 'GitHub', 85 | position: 'right', 86 | }, 87 | ], 88 | }, 89 | footer: { 90 | style: 'dark', 91 | links: [ 92 | { 93 | title: 'Learn', 94 | items: [ 95 | { 96 | label: 'Introduction', 97 | href: '/', 98 | }, 99 | { 100 | label: 'Installation', 101 | href: '/category/installation', 102 | }, 103 | ], 104 | }, 105 | { 106 | title: 'Community', 107 | items: [ 108 | { 109 | label: 'Forum', 110 | href: 'https://xcp-ng.org/forum', 111 | }, 112 | { 113 | label: 'Discord', 114 | href: 'https://discord.gg/Hr98F6wRvx', 115 | }, 116 | ], 117 | }, 118 | { 119 | title: 'Pro Support', 120 | items: [ 121 | { 122 | label: 'Vates Stack', 123 | href: 'https://vates.tech', 124 | }, 125 | { 126 | label: 'Contact us', 127 | href: 'https://vates.tech/contact', 128 | }, 129 | ], 130 | }, 131 | { 132 | title: 'More', 133 | items: [ 134 | { 135 | label: 'News', 136 | href: 'https://xcp-ng.org/blog', 137 | }, 138 | { 139 | label: 'GitHub', 140 | href: 'https://github.com/xcp-ng/xcp-ng-org', 141 | }, 142 | ], 143 | }, 144 | ], 145 | copyright: `Copyright © ${new Date().getFullYear()} XCP-ng Project, Built with Docusaurus.`, 146 | }, 147 | prism: { 148 | theme: lightCodeTheme, 149 | darkTheme: darkCodeTheme, 150 | }, 151 | colorMode: { 152 | defaultMode: 'dark', 153 | respectPrefersColorScheme: true, 154 | }, 155 | // Mermaid 156 | mermaid: { 157 | options: { 158 | fontSize: 25, 159 | gantt: { 160 | fontSize: 25, 161 | barHeight: 70, 162 | } 163 | }, 164 | } 165 | }), 166 | plugins: [require.resolve('docusaurus-lunr-search')], 167 | }; 168 | 169 | module.exports = config; 170 | -------------------------------------------------------------------------------- /favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/favicon.png -------------------------------------------------------------------------------- /js/xcp-ng.min.js: -------------------------------------------------------------------------------- 1 | "use strict";function loadStarsInformation(){$("#xcp-ng-stars-on-github").text(85000),checkAnimation($("#xcp-ng-stars-on-github"))}function loadContributorsInformation(){$("#xcp-ng-contributors-on-github").text(12000),checkAnimation($("#xcp-ng-contributors-on-github"))}function loadDockerhubInformation(){$("#xcp-ng-download-count").text(1500000),checkAnimation($("#xcp-ng-download-count"))}function checkAnimation(t){t.addClass("counting"),t.prop("Counter",0).animate({Counter:t.text()},{duration:1e3,easing:"swing",step:function(n){t.text(Math.floor(n))}})}$(document).ready(function(){var n=0;$(document).scroll(function(){30<(n=$(this).scrollTop())?$("#xcp-ng-navbar").addClass("shrinked-menu"):$("#xcp-ng-navbar").removeClass("shrinked-menu"),4000.5%", 33 | "not dead", 34 | "not op_mini all" 35 | ], 36 | "development": [ 37 | "last 1 chrome version", 38 | "last 1 firefox version", 39 | "last 1 safari version" 40 | ] 41 | }, 42 | "engines": { 43 | "node": ">=18.0" 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /pull_request_template.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | > Before submitting the pull request, you must agree with the following statements by checking both boxes with a 'x'. 4 | > * [ ] "I accept that my contribution is placed under the CC BY-SA 2.0 license [1]." 5 | > * [ ] "My contribution complies with the Developer Certificate of Origin [2]." 6 | > 7 | > [1] https://creativecommons.org/licenses/by-sa/2.0/ 8 | > [2] https://docs.xcp-ng.org/project/contributing/#developer-certificate-of-origin-dco 9 | -------------------------------------------------------------------------------- /sidebars.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Creating a sidebar enables you to: 3 | - create an ordered group of docs 4 | - render a sidebar for each doc of that group 5 | - provide next/previous navigation 6 | 7 | The sidebars can be generated from the filesystem, or explicitly defined here. 8 | 9 | Create as many sidebars as you want. 10 | */ 11 | 12 | // @ts-check 13 | 14 | /** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ 15 | const sidebars = { 16 | // By default, Docusaurus generates a sidebar from the docs folder structure 17 | tutorialSidebar: [{type: 'autogenerated', dirName: '.'}], 18 | 19 | // But you can create a sidebar manually 20 | /* 21 | tutorialSidebar: [ 22 | 'intro', 23 | 'hello', 24 | { 25 | type: 'category', 26 | label: 'Tutorial', 27 | items: ['tutorial-basics/create-a-document'], 28 | }, 29 | ], 30 | */ 31 | }; 32 | 33 | module.exports = sidebars; 34 | -------------------------------------------------------------------------------- /src/components/HomepageFeatures/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import styles from './styles.module.css'; 4 | 5 | const FeatureList = [ 6 | { 7 | title: 'Easy to Use', 8 | Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default, 9 | description: ( 10 | <> 11 | Docusaurus was designed from the ground up to be easily installed and 12 | used to get your website up and running quickly. 13 | 14 | ), 15 | }, 16 | { 17 | title: 'Focus on What Matters', 18 | Svg: require('@site/static/img/undraw_docusaurus_tree.svg').default, 19 | description: ( 20 | <> 21 | Docusaurus lets you focus on your docs, and we'll do the chores. Go 22 | ahead and move your docs into the docs directory. 23 | 24 | ), 25 | }, 26 | { 27 | title: 'Powered by React', 28 | Svg: require('@site/static/img/undraw_docusaurus_react.svg').default, 29 | description: ( 30 | <> 31 | Extend or customize your website layout by reusing React. Docusaurus can 32 | be extended while reusing the same header and footer. 33 | 34 | ), 35 | }, 36 | ]; 37 | 38 | function Feature({Svg, title, description}) { 39 | return ( 40 |
41 |
42 | 43 |
44 |
45 |

{title}

46 |

{description}

47 |
48 |
49 | ); 50 | } 51 | 52 | export default function HomepageFeatures() { 53 | return ( 54 |
55 |
56 |
57 | {FeatureList.map((props, idx) => ( 58 | 59 | ))} 60 |
61 |
62 |
63 | ); 64 | } 65 | -------------------------------------------------------------------------------- /src/components/HomepageFeatures/styles.module.css: -------------------------------------------------------------------------------- 1 | .features { 2 | display: flex; 3 | align-items: center; 4 | padding: 2rem 0; 5 | width: 100%; 6 | } 7 | 8 | .featureSvg { 9 | height: 200px; 10 | width: 200px; 11 | } 12 | -------------------------------------------------------------------------------- /src/css/custom.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Any CSS included here will be global. The classic template 3 | * bundles Infima by default. Infima is a CSS framework designed to 4 | * work well for content-centric websites. 5 | */ 6 | 7 | /* You can override the default Infima variables here. */ 8 | :root { 9 | --ifm-color-primary: #be1621; 10 | --ifm-color-primary-dark: #29784c; 11 | --ifm-color-primary-darker: #277148; 12 | --ifm-color-primary-darkest: #205d3b; 13 | --ifm-color-primary-light: #33925d; 14 | --ifm-color-primary-lighter: #359962; 15 | --ifm-color-primary-lightest: #3cad6e; 16 | --ifm-code-font-size: 95%; 17 | --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); 18 | } 19 | 20 | /* For readability concerns, you should choose a lighter palette in dark mode. */ 21 | [data-theme='dark'] { 22 | --ifm-color-primary: #8e83fe; 23 | --ifm-color-primary-dark: #5952a3; 24 | --ifm-color-primary-darker: #1fa588; 25 | --ifm-color-primary-darkest: #1a8870; 26 | --ifm-color-primary-light: #29d5b0; 27 | --ifm-color-primary-lighter: #32d8b4; 28 | --ifm-color-primary-lightest: #4fddbf; 29 | --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); 30 | } 31 | 32 | [data-theme='dark'] .DocSearch { 33 | --docsearch-text-color: var(--ifm-font-color-base); 34 | --docsearch-muted-color: var(--ifm-color-secondary-darkest); 35 | /* Modal */ 36 | --docsearch-modal-background: var(--ifm-background-color); 37 | /* Search box */ 38 | --docsearch-searchbox-background: var(--ifm-background-color); 39 | --docsearch-searchbox-focus-background: var(--ifm-color-black); 40 | /* Hit */ 41 | --docsearch-hit-color: var(--ifm-font-color-base); 42 | --docsearch-hit-active-color: rgb(37, 37, 37); 43 | --docsearch-hit-background: var(--ifm-color-emphasis-100); 44 | /* Footer */ 45 | --docsearch-footer-background: var(--ifm-background-surface-color); 46 | --docsearch-key-gradient: linear-gradient( 47 | -26.5deg, 48 | var(--ifm-color-emphasis-200) 0%, 49 | var(--ifm-color-emphasis-100) 100% 50 | ); 51 | } 52 | 53 | .hidden { 54 | display: none; 55 | } 56 | -------------------------------------------------------------------------------- /src/pages/index.module.css: -------------------------------------------------------------------------------- 1 | /** 2 | * CSS files with the .module.css suffix will be treated as CSS modules 3 | * and scoped locally. 4 | */ 5 | 6 | .heroBanner { 7 | padding: 4rem 0; 8 | text-align: center; 9 | position: relative; 10 | overflow: hidden; 11 | } 12 | 13 | @media screen and (max-width: 996px) { 14 | .heroBanner { 15 | padding: 2rem; 16 | } 17 | } 18 | 19 | .buttons { 20 | display: flex; 21 | align-items: center; 22 | justify-content: center; 23 | } 24 | -------------------------------------------------------------------------------- /src/pages/markdown-page.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Markdown page example 3 | --- 4 | 5 | # Markdown page example 6 | 7 | You don't need React to write simple standalone pages. 8 | -------------------------------------------------------------------------------- /static/.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/static/.nojekyll -------------------------------------------------------------------------------- /static/img/antiaffinity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/static/img/antiaffinity.png -------------------------------------------------------------------------------- /static/img/archoverview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/static/img/archoverview.png -------------------------------------------------------------------------------- /static/img/cloudstack_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/static/img/cloudstack_logo.png -------------------------------------------------------------------------------- /static/img/loadbalance1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/static/img/loadbalance1.png -------------------------------------------------------------------------------- /static/img/loadbalance3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/static/img/loadbalance3.png -------------------------------------------------------------------------------- /static/img/loadbalance4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/static/img/loadbalance4.png -------------------------------------------------------------------------------- /static/img/performance-setting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/static/img/performance-setting.png -------------------------------------------------------------------------------- /static/img/stack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/static/img/stack.png -------------------------------------------------------------------------------- /static/img/vsvmware.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/static/img/vsvmware.png -------------------------------------------------------------------------------- /static/img/xapiclasses.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/static/img/xapiclasses.png -------------------------------------------------------------------------------- /static/img/xcpbadge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/static/img/xcpbadge.png -------------------------------------------------------------------------------- /static/img/xcpcrop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/static/img/xcpcrop.png -------------------------------------------------------------------------------- /static/img/xcpcrop128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/static/img/xcpcrop128.png -------------------------------------------------------------------------------- /static/img/xenarch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/static/img/xenarch.png -------------------------------------------------------------------------------- /static/img/xoacl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/static/img/xoacl.png -------------------------------------------------------------------------------- /static/img/xolitelogin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/static/img/xolitelogin.png -------------------------------------------------------------------------------- /static/img/xoself.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xcp-ng/xcp-ng-org/8c0b13986f680430490a09406bc1c89e112ab515/static/img/xoself.png -------------------------------------------------------------------------------- /static/js/matomo.js: -------------------------------------------------------------------------------- 1 | var _paq = window._paq = window._paq || []; 2 | /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ 3 | _paq.push(['trackPageView']); 4 | _paq.push(['enableLinkTracking']); 5 | (function() { 6 | var u="https://piwik.vates.fr/"; 7 | _paq.push(['setTrackerUrl', u+'matomo.php']); 8 | _paq.push(['setSiteId', '19']); 9 | var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; 10 | g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); 11 | })(); -------------------------------------------------------------------------------- /static/js/mautic.js: -------------------------------------------------------------------------------- 1 | (function(w,d,t,u,n,a,m){w['MauticTrackingObject']=n; 2 | w[n]=w[n]||function(){(w[n].q=w[n].q||[]).push(arguments)},a=d.createElement(t), 3 | m=d.getElementsByTagName(t)[0];a.async=1;a.src=u;m.parentNode.insertBefore(a,m) 4 | })(window,document,'script','https://campaign.vates.tech/mtc.js','mt'); 5 | 6 | mt('send', 'pageview'); 7 | --------------------------------------------------------------------------------