This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
manuals:vps:vpsadminos [2019/10/22 16:48] – Aither | manuals:vps:vpsadminos [2022/04/06 08:45] – [vpsAdminOS] update info Aither | ||
---|---|---|---|
Line 1: | Line 1: | ||
< | < | ||
====== vpsAdminOS ====== | ====== vpsAdminOS ====== | ||
- | Since [[information: | + | Since [[information: |
- | aren' | + | don' |
meant choosing a different virtualization technology. Linux kernel now | meant choosing a different virtualization technology. Linux kernel now | ||
- | has some support for containers, so we've decided to stick with that. Next, | + | has some support for containers, so we've decided to use it. |
- | we needed some distribution that we could use on nodes to serve as | + | We needed some distribution that we could use on nodes to serve as |
- | hypervisors, as a replacement of Scientific Linux 6 with OpenVZ kernel. | + | a hypervisor, as a replacement of Scientific Linux 6 with OpenVZ kernel. |
- | We've chosen [[https:// | + | We've chosen [[https:// |
- | the system and its configuration and then reproducibly build it. And since | + | configure |
- | we have a bit specific | + | we're maintaining |
- | on top of NixOS. | + | |
[[https:// | [[https:// | ||
[[https:// | [[https:// | ||
It's a //live// distribution serving as a hypervisor for container | It's a //live// distribution serving as a hypervisor for container | ||
- | virtualisation. | + | virtualisation. |
- | our own userspace tools to manage containers called '' | + | vpsAdminOS naturally integrates with vpsAdmin, our administration interface |
- | internally uses LXC. vpsAdminOS naturally integrates with vpsAdmin, our | + | with web interface. However, vpsAdminOS is meant to be fully usable even on its own, |
- | administration interface with web interface, which you're all using to manage | + | outside vpsFree.cz's infrastructure. |
- | your VPS. However, vpsAdminOS is meant to be fully usable even on its own, as | + | |
- | a replacement to OpenVZ Legacy deployments. If you have some OpenVZ servers | + | |
- | and would like a newer system, you can consider vpsAdminOS. We also have | + | |
- | [[https:// | + | |
- | with migration of OpenVZ containers onto vpsAdminOS. | + | |
===== Migration from OpenVZ to vpsAdminOS ====== | ===== Migration from OpenVZ to vpsAdminOS ====== | ||
The upgrade of our infrastructure with all VPSes to vpsAdminOS is divided into | The upgrade of our infrastructure with all VPSes to vpsAdminOS is divided into | ||
Line 31: | Line 24: | ||
- Developing vpsAdminOS into something usable | - Developing vpsAdminOS into something usable | ||
- Integration with vpsAdmin | - Integration with vpsAdmin | ||
- | - Opening of a staging environment with vpsAdminOS | + | - Opening of a staging environment with vpsAdminOS |
- Testing, fixing bugs, implementing missing features, preparing for production | - Testing, fixing bugs, implementing missing features, preparing for production | ||
- | - New production nodes are using vpsAdminOS, new VPS can be created only there | + | - New production nodes are using vpsAdminOS |
- Gradual migration of all VPS from OpenVZ nodes to vpsAdminOS, one node after another | - Gradual migration of all VPS from OpenVZ nodes to vpsAdminOS, one node after another | ||
- End of story | - End of story | ||
Line 47: | Line 40: | ||
===== Changes in VPS behaviour ===== | ===== Changes in VPS behaviour ===== | ||
- | ==== User namespaces ==== | ||
- | VPS in vpsAdminOS are using so called //user namespaces// | ||
- | means that your system user and group IDs are mapped to different values on | ||
- | the host. For example, the root user in your VPS has UID 0, but from the | ||
- | host's point of view, its UID is e.g. 666000. Every member has been assigned a | ||
- | unique user namespace, which ensures that your data is isolated from other | ||
- | users. In case an attacker manages to leave the container, he will not be able | ||
- | to access data from VPS belonging to other members. | ||
- | |||
- | Every member is assigned a user namespace of 524288 user/group IDs. It means | ||
- | that you can use UID/GID from 0 to 524287. All VPS from one member are in the | ||
- | same user namespace. In the future, it will be possible to define custom | ||
- | UID/GID maps for VPS and NAS datasets, which will let each member to isolate | ||
- | his own VPS and yet share some chosen range of user/group IDs. | ||
- | |||
- | The user namespace significantly changes how you can share data between VPS | ||
- | and NAS. At the moment, it is **not possible** to mount NAS to a VPS running | ||
- | on a vpsAdminOS node so that you'd have access to the data. This will become | ||
- | possible when custom UID/GID maps are properly implemented. | ||
==== General ==== | ==== General ==== | ||
Line 76: | Line 50: | ||
* Network is configured using '' | * Network is configured using '' | ||
- | * ''/ | ||
* If there is a directory called ''/ | * If there is a directory called ''/ | ||
===== Behaviour changes in vpsAdmin ===== | ===== Behaviour changes in vpsAdmin ===== | ||
+ | * NAS and snapshots are not accessed using vpsAdmin [[manuals: | ||
+ | * IP address management is split into routed and interface addresses | ||
* Reinstalling VPS on vpsAdminOS no longer deletes subdatasets and does not reset its configuration to the initial state, e.g. VPS features remain as they were. | * Reinstalling VPS on vpsAdminOS no longer deletes subdatasets and does not reset its configuration to the initial state, e.g. VPS features remain as they were. | ||
* VPS features: bridge, iptables and NFS aren't configurable, | * VPS features: bridge, iptables and NFS aren't configurable, | ||
Line 88: | Line 63: | ||
In order for all members to test VPS on vpsAdminOS, we've created so called | In order for all members to test VPS on vpsAdminOS, we've created so called | ||
staging environment. It's similar to playground, where everyone can create a | staging environment. It's similar to playground, where everyone can create a | ||
- | VPS. When creating a VPS, just select location **Staging** and the VPS will be | + | VPS. When creating a VPS, just select location **Staging** and deselect **Keep platform**. |
- | created on a vpsAdminOS node. | + | The VPS will be created on a vpsAdminOS node. |
It's terms of use are similar to [[manuals: | It's terms of use are similar to [[manuals: | ||
Line 100: | Line 75: | ||
All mounts are removed when cloning, because NAS isn't acessible as of yet, | All mounts are removed when cloning, because NAS isn't acessible as of yet, | ||
see [[# | see [[# | ||
- | |||
- | ==== Supported distributions ==== | ||
- | |||
- | * Alpine 3.8, 3.9 | ||
- | * Arch | ||
- | * CentOS 7, 8 | ||
- | * Debian 9, 10 | ||
- | * Fedora 29, 30 | ||
- | * Gentoo | ||
- | * NixOS | ||
- | * openSUSE Leap 15.1, Tumbleweed | ||
- | * Slackware 14.2 | ||
- | * Ubuntu 16.04, 18.04 | ||
- | * Void Linux | ||
==== Features ==== | ==== Features ==== | ||
Line 119: | Line 80: | ||
Features can be turned on/off individually. When any change is made, the VPS restarts. | Features can be turned on/off individually. When any change is made, the VPS restarts. | ||
- | {{ : | + | {{ : |
- | * Docker (experimental) - Enables support for Docker. | ||
* FUSE - " | * FUSE - " | ||
* KVM - " | * KVM - " | ||
Line 127: | Line 87: | ||
* PPP - " | * PPP - " | ||
* TUN/TAP - "TUN routing/TAP bridging" | * TUN/TAP - "TUN routing/TAP bridging" | ||
- | |||
- | We recommend only setting the features that your really need. | ||
==== More about vpsAdminOS ==== | ==== More about vpsAdminOS ==== |