User Tools

Site Tools


manuals:vps:vpsadminos

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
manuals:vps:vpsadminos [2019/10/22 16:48] Aithermanuals:vps:vpsadminos [2022/04/06 08:45] – [vpsAdminOS] update info Aither
Line 1: Line 1:
 <page>manuals:vps:vpsadminos</page> <page>manuals:vps:vpsadminos</page>
 ====== vpsAdminOS ====== ====== vpsAdminOS ======
-Since [[information:openvz|OpenVZ]] is slowly dying and new distributions +Since [[information:openvz|OpenVZ Legacy]] is no longer supported and new distributions 
-aren'supporting it, we had to find a way to upgrade our kernel, which+don'work there, we had to find a way to upgrade our kernel, which
 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 thatNext, +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://nixos.org|NixOS]], which allows you to declare +We've chosen [[https://nixos.org|NixOS]], because it allows us to declaratively 
-the system and its configuration and then reproducibly build it. And since +configure the system and its services. And since our requirements are quite specific, 
-we have a bit specific requirements, we've created our own distribution +we're maintaining our own spin of NixOS called vpsAdminOS.
-on top of NixOS.+
  
 [[https://github.com/vpsfreecz/vpsadminos|vpsAdminOS]] is based on [[https://github.com/vpsfreecz/vpsadminos|vpsAdminOS]] is based on
 [[https://nixos.org|NixOS]] and [[https://github.com/cleverca22/not-os/|not-os]]. [[https://nixos.org|NixOS]] and [[https://github.com/cleverca22/not-os/|not-os]].
 It's a //live// distribution serving as a hypervisor for container It's a //live// distribution serving as a hypervisor for container
-virtualisation. Its as capable as OpenVZ Legacy was in its time. We have +virtualisation. It'as capable as OpenVZ Legacy was in its time. 
-our own userspace tools to manage containers called ''osctl'', which +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 deploymentsIf you have some OpenVZ servers +
-and would like a newer system, you can consider vpsAdminOSWe also have +
-[[https://vpsadminos.org/migration-paths/openvz-legacy/|scripts]] to help +
-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 (:!: we're here :!:)+  - 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 (:!: we're here :!:)
   - 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//. User namespace 
-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 ''ip'' from ''iproute2'', you no longer need ''ifconfig'' from ''net-tools''   * Network is configured using ''ip'' from ''iproute2'', you no longer need ''ifconfig'' from ''net-tools''
-  * ''/etc/network/interfaces.{head,tail}'' aren't inserted into ''/etc/network/interfaces'', but rather included using ''source'', i.e. they do not affect contents of ''/etc/network/interfaces'' directly, like it was with vzctl. 
   * If there is a directory called ''/etc/network/interfaces.d'', it is sourced before ''/etc/network/interfaces.tail''.   * If there is a directory called ''/etc/network/interfaces.d'', it is sourced before ''/etc/network/interfaces.tail''.
  
 ===== Behaviour changes in vpsAdmin ===== ===== Behaviour changes in vpsAdmin =====
  
 +  * NAS and snapshots are not accessed using vpsAdmin [[manuals:vps:vpsadminos:storage|mounts, but NFS exports]]
 +  * 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, they're always on.   * VPS features: bridge, iptables and NFS aren't configurable, they're always on.
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:vps:playgroundvps|playground VPS]], It's terms of use are similar to [[manuals:vps:playgroundvps|playground VPS]],
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 [[#user_namespaces|user namespaces]]. see [[#user_namespaces|user namespaces]].
- 
-==== 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.
  
-{{ :navody:vps:features.png?300 |}}+{{ :navody:vps:vps_features.png |}}
  
-  * Docker (experimental) - Enables support for Docker. 
   * FUSE - "Filesystem in Userspace" Enables the kernel module to allow non-privileged users create their own file systems.   * FUSE - "Filesystem in Userspace" Enables the kernel module to allow non-privileged users create their own file systems.
   * KVM - "Kernel-based Virtual Machine" Enables KVM for hardware support of virtualization.   * KVM - "Kernel-based Virtual Machine" Enables KVM for hardware support of virtualization.
Line 127: Line 87:
   * PPP - "Point-to-Point Protocol" Enables communications protocol used to establish a direct connection between point-to-point links.   * PPP - "Point-to-Point Protocol" Enables communications protocol used to establish a direct connection between point-to-point links.
   * TUN/TAP - "TUN routing/TAP bridging" Enables the creation of virtual interfaces that are then bridged.   * TUN/TAP - "TUN routing/TAP bridging" Enables the creation of virtual interfaces that are then bridged.
- 
-We recommend only setting the features that your really need. 
  
 ==== More about vpsAdminOS ==== ==== More about vpsAdminOS ====
manuals/vps/vpsadminos.txt · Last modified: 2024/01/02 20:39 by aither