| [http://afterburst.com/ Afterburst] || 2012.12.01 || OpenVZ || Miami, US-FL; Nuremberg, DE || Formerly FanaticalVPS, kernel version depends on what node your VPS is on, the ones in Miami are fine (2.6.32-042stab072.10) but some of the ones in Germany require a [[Virtual_Private_Server#OpenVZ:_kernel_too_old_for_glibc|custom glibc]].

| [http://eoreality.net/ EOReality] || (?) i686/x86_64 || OpenVZ || Chicago || Need to use special glibc-vps repo for this provider . See [[Virtual_Private_Server#OpenVZ:_kernel_too_old_for_glibc|OpenVZ troubleshooting]] for instructions. You will also need to remove heimdal.

{{Expansion|Move some of the [[#Troubleshooting]] instructions here.}}

+

+

====Getting a 2010.05 Image Up To Date====

+

+

These instructions you have a 2010.05 image from your VPS provider and you'd like to get it up to scratch. The biggest work involves preparing /lib for the symlink upgrade (glibc 2.16, and later filesystem 2013.01).

+

+

{{Warning|If you are on a older kernel than 2.6.32, please refer [[Virtual_Private_Server#OpenVZ:_kernel_too_old_for_glibc|further down the page]] to get the glibc-vps repo working (just add the repo and you can follow these steps).}}

+

+

To start, grab the latest busybox from http://busybox.net/downloads/binaries/latest/. This allows you to force glibc (losing /lib temporarily) without losing your OS (busybox comes with its own GNU tools which are statically linked).

+

+

{{bc|wget http://busybox.net/downloads/binaries/latest/busybox-i686

+

chmod +x busybox-i686}}

+

+

First off you can get a list of packages that own files in /lib with the following command:

+

{{bc|<nowiki>

+

pacman -Qo /lib/* | cut -d' ' -f 5 | egrep -v 'glibc' | uniq | xargs

+

</nowiki>}}

+

+

For the current 2010.05 that comes straight off of ibiru's page, these are the packages that were required to be removed for me:

You may run into some issues with krb5 and heimdal, as krb5 no longer provides+conflicts+replaces heimdal (https://projects.archlinux.org/svntogit/packages.git/commit/trunk/PKGBUILD?h=packages/krb5&id=f5e6d77fd14ced15ebf5b6a78a7c76e0db0625f7). The old openssh depends on heimdal (and the new openssh depends on krb5), so force install krb5, then upgrade openssh, then remove heimdal and reinstall krb5.

+

+

{{bc|pacman -S --force krb5

+

pacman -S openssh openssl

+

pacman -R heimdal

+

pacman -S krb5}}

+

+

Fix syslog-ng (set the src to unix-dgram("/dev/log") and add --no-caps to both check and run args in /etc/conf.d/syslog-ng).

+

+

Make sure your rc.conf isn't messed up with broken network definitions, or else be sure serial access works on your VPS before you reboot.

+

+

+

====Moving your VPS from network configuration in rc.conf to netcfg (tested with OpenVZ)====

+

+

1) Install netcfg

+

+

{{bc|pacman -S netcfg}}

+

+

2) Create a netcfg configuration file {{ic|/etc/network.d/venet}}

+

+

{{bc|1=CONNECTION='ethernet'

+

DESCRIPTION='VPS venet connection'

+

INTERFACE='venet0'

+

IP='static'

+

IPCFG=(

+

#default

+

'addr add 127.0.0.1/32 broadcast 0.0.0.0 dev venet0'

+

#IPv4 address

+

'addr add xxx.xxx.xxx.xxx/32 broadcast 0.0.0.0 dev venet0'

+

#IPv4 route

+

'route add default dev venet0'

+

#IPv6 address

+

'addr add xxxx:xx:xx::x/128 dev venet0'

+

#IPv6 route

+

'-6 route add default dev venet0'

+

)

+

DNS=('xxx.xxx.xxx.xxx' 'xxx.xxx.xxx.xxx')}}

+

+

3) Edit your netcfg main conf file {{ic|/etc/conf.d/netcfg}}

+

+

{{bc|1=NETWORKS=(venet)

+

WIRED_INTERFACE="venet0"}}

+

+

4) Try your new setup

+

+

{{bc|rc.d stop network && ip addr flush venet0 && netcfg venet}}

+

+

Your VPS should still be connected and have its IP addresses set correctly. (Check with {{ic|ip a}})

+

+

DO NOT proceed to next step if this isn't the case.

+

+

5) Make your new setup survive reboots

+

+

In the {{ic|DAEMONS}} array in {{ic|/etc/rc.conf}}, replace {{ic|network}} with {{ic|net-profiles}}.

+

+

Remove all networking information that is in {{ic|/etc/rc.conf}}.

+

{{bc|reboot}}

+

+

====Moving your VPS from initscripts to systemd====

+

+

{{Warning|This has been known to work with OpenVZ on the 2.6.32 kernel, but systemd may not work on older kernels.}}

+

+

This is very similar to a regular arch system, except you probably don't have access to your kernel line.

+

+

1) Move from network in rc.conf to netcfg (see above).

+

+

2) Install systemd

+

+

{{bc|pacman -S systemd}}

+

+

2 bonus for OpenVZ) Remove kernel core dump pattern since this is blocked by OpenVZ and causes errors

+

+

Edit {{ic|/usr/lib/sysctl.d/coredump.conf}}, comment out the following line:

Create a custom systemd service file for vzquota: {{ic|/etc/systemd/system/newvzquota.service}}:

+

{{bc|1=[Unit]

+

Description=Setup vzquota on VPS

+

ConditionFileIsExecutable=/etc/rc.d/vzquota

+

+

[Service]

+

Type=oneshot

+

ExecStart=/etc/rc.d/vzquota start

+

ExecStop=/etc/rc.d/vzquota stop

+

TimeoutSec=0

+

StandardInput=tty

+

RemainAfterExit=yes

+

+

[Install]

+

WantedBy=multi-user.target}}

+

+

{{Note|It is recommended to choose a .service file name that is different from the name of the daemon, because systemd might try to call the LEGACY scripts with the old name.}}

+

+

Enable this service:

+

{{bc|systemctl enable newvzquota.service}}

+

+

Remove {{ic|vzquota}} from the {{ic|DAEMONS}} array in {{ic|/etc/rc.conf}}

+

+

Repeat this step to remove all daemons from {{ic|/etc/rc.conf}}.

+

+

7) Removing {{ic|/etc/rc.local}} and {{ic|/etc/rc.local.shutdown}}

+

+

Write [https://wiki.archlinux.org/index.php/Systemd#Writing_custom_.service_files custom .service files] to replace functionality in {{ic|/etc/rc.local}} and {{ic|/etc/rc.local.shutdown}}. You can take a look at {{ic|/usr/lib/systemd/system/rc-local.service}} and {{ic|/usr/lib/systemd/system/rc-local-shutdown.service}} for inspiration.

+

+

8) Removing {{ic|initscripts}}

+

+

Your {{ic|/etc/rc.conf}} file must look like this:

+

{{bc|1=DAEMONS=()}}

+

and {{ic|/etc/rc.local}} and {{ic|/etc/rc.local.shutdown}} must now be empty.

There are three components that need to be enabled in systemd when using a VPS based on Openstack/Xen, such as Rackspace NextGen Cloud. The current version of {{Pkg|xe-guest-utilities}} contains two of these, xe-linux-distribution and xe-daemon.

+

+

You will need to create a custom service file for the Openstack nova-agent, as the current version 0.0.1.37 only comes with a sysvinit startup script.

Revision as of 02:42, 9 November 2013

Virtual private server (VPS) is a term used by Internet hosting services to refer to a virtual machine. The term is used for emphasizing that the virtual machine, although running in software on the same physical computer as other customers' virtual machines, is in many respects functionally equivalent to a separate physical computer, is dedicated to the individual customer's needs, has the privacy of a separate physical computer, and can be configured to run server software.

Providers that offer Arch Linux

Warning: We cannot vouch for the honesty or quality of any provider. Please conduct due diligence before ordering.

Note: This list is for providers with a convenient Arch Linux image. Using Arch on other providers is probably possible, but would require loading custom ISOs or disk images or installing under chroot.

Arch available as a selection upon reinstall. Very old (2.6.18-308) kernel - See OpenVZ troubleshooting. Limited information available before purchase. Cannot verify Arch Linux version without purchase.

Installation

KVM

OpenVZ

Getting a 2010.05 Image Up To Date

These instructions you have a 2010.05 image from your VPS provider and you'd like to get it up to scratch. The biggest work involves preparing /lib for the symlink upgrade (glibc 2.16, and later filesystem 2013.01).

Warning: If you are on a older kernel than 2.6.32, please refer further down the page to get the glibc-vps repo working (just add the repo and you can follow these steps).

To start, grab the latest busybox from http://busybox.net/downloads/binaries/latest/. This allows you to force glibc (losing /lib temporarily) without losing your OS (busybox comes with its own GNU tools which are statically linked).

Note: It is recommended to choose a .service file name that is different from the name of the daemon, because systemd might try to call the LEGACY scripts with the old name.

Enable this service:

systemctl enable newvzquota.service

Remove vzquota from the DAEMONS array in /etc/rc.conf

Repeat this step to remove all daemons from /etc/rc.conf.

7) Removing /etc/rc.local and /etc/rc.local.shutdown

Write custom .service files to replace functionality in /etc/rc.local and /etc/rc.local.shutdown. You can take a look at /usr/lib/systemd/system/rc-local.service and /usr/lib/systemd/system/rc-local-shutdown.service for inspiration.

Converting Openstack and Xen components to systemd

There are three components that need to be enabled in systemd when using a VPS based on Openstack/Xen, such as Rackspace NextGen Cloud. The current version of xe-guest-utilities contains two of these, xe-linux-distribution and xe-daemon.

You will need to create a custom service file for the Openstack nova-agent, as the current version 0.0.1.37 only comes with a sysvinit startup script.