「Arch Linux VPS」の版間の差分
2行目: | 2行目: | ||
[[Category:仮想化]] |
[[Category:仮想化]] |
||
[[en:Virtual Private Server]] |
[[en:Virtual Private Server]] |
||
+ | [[zh-CN:Virtual Private Server]] |
||
{{Related articles start}} |
{{Related articles start}} |
||
{{Related3|Comprehensive Server Guide|サーバー総合ガイド}} |
{{Related3|Comprehensive Server Guide|サーバー総合ガイド}} |
||
84行目: | 85行目: | ||
|- |
|- |
||
| [http://www.vps.net/ VPS.NET] || 2014.01.xx || OpenVZ, Xen, HVM-ISO || [http://vps.net/cloud-datacenter-locations US, カナダ, UK, ブラジル, オランダ, フランス, ドイツ, 日本, シンガポール, インド, オーストラリア]; その他複数 || Managed & Un managed VPS service provider, multiple OS and configurations.. |
| [http://www.vps.net/ VPS.NET] || 2014.01.xx || OpenVZ, Xen, HVM-ISO || [http://vps.net/cloud-datacenter-locations US, カナダ, UK, ブラジル, オランダ, フランス, ドイツ, 日本, シンガポール, インド, オーストラリア]; その他複数 || Managed & Un managed VPS service provider, multiple OS and configurations.. |
||
+ | |- |
||
+ | | [http://www.world4you.com/ World4You] || 2015.02.17 || OpenVZ || Austria (AT) || インターネットホスティングプロバイダ。クイックセットアップ。24時間365日対応。共有ウェブホスティング。CentOS, Debian, Ubuntu, Fedora, Arch の OpenVZ サーバー。月2.5ユーロから。 |
||
|- |
|- |
||
|} |
|} |
||
96行目: | 99行目: | ||
====OpenVZ プロバイダで最新の Arch Linux をインストール==== |
====OpenVZ プロバイダで最新の Arch Linux をインストール==== |
||
+ | Arch Linux のインストール環境を使用中の OpenVZ VPS の上から直接コピーすることができます。このチュートリアルでは {{ic|pacstrap}} を使って (標準的なインストールと同じように) Arch Linux の基本的なインストール環境を作成してから [[rsync]] を使って対象の VPS の中身を置き換える方法を説明します。 |
||
− | It's possible to directly copy an installation of Arch Linux over the top of a working OpenVZ VPS. This tutorial explains how to create a basic installation of Arch Linux with {{ic|pacstrap}} (as used in a standard install) and then replace the contents of a target VPS with it using [[rsync]]. |
||
+ | この方法は (少しばかり修正を加えることで) 既存の Arch 環境を様々な環境に移植するのにも使うことができ、OpenVZ から Xen に、または Xen から OpenVZ に移行するときも使えることが確認済みです。Xen などのハードウェア仮想化プラットフォーム (もしくは物理ハードウェア) にインストールするときは、別段の作業が必要になります ({{ic|mkinitcpio}} の実行と[[ブートローダー]]のインストール)。 |
||
− | This process (with minor modification) also works to migrate existing Arch installations between various environments and has been confirmed to work in migrating from OpenVZ to Xen and from Xen to OpenVZ. For an install to Xen, other hardware-virtualized platforms, or probably even to physical hardware (unconfirmed), extra steps (basically running {{ic|mkinitcpio}} and [[Boot loaders|installing a bootloader]]) are needed. |
||
=====必須要件===== |
=====必須要件===== |
||
105行目: | 108行目: | ||
** To keep things simple, it should match the architecture you want to install on your VPS (x86_64 or i686). |
** To keep things simple, it should match the architecture you want to install on your VPS (x86_64 or i686). |
||
** To build from other distributions, [[Archbootstrap|arch-bootstrap.sh]] can be used in place of {{ic|pacstrap}}. |
** To build from other distributions, [[Archbootstrap|arch-bootstrap.sh]] can be used in place of {{ic|pacstrap}}. |
||
− | * |
+ | * [[公式リポジトリ]]の {{Pkg|arch-install-scripts}}, {{Pkg|rsync}}, {{Pkg|openssh}} パッケージ |
** SSH isn't strictly required, but rsync over SSH is the method used here. |
** SSH isn't strictly required, but rsync over SSH is the method used here. |
||
* A VPS running any distribution, with {{ic|rsync}} and a working SSH server |
* A VPS running any distribution, with {{ic|rsync}} and a working SSH server |
||
113行目: | 116行目: | ||
=====クリーンな Arch Linux 環境を作成===== |
=====クリーンな Arch Linux 環境を作成===== |
||
+ | |||
+ | {{Warning|古いカーネルビルドと systemd については[[#top|上の警告]]を見てください。}} |
||
As root, build the installation (optionally replacing {{ic|build}} with your preferred target directory): |
As root, build the installation (optionally replacing {{ic|build}} with your preferred target directory): |
||
# mkdir build |
# mkdir build |
||
− | # pacstrap - |
+ | # pacstrap -cd build |
+ | Other tweaks for the {{ic|pacstrap}} command: |
||
− | {{Note|By default, the {{ic|pacstrap}} script will build the installation according to your system's {{ic|pacman.conf}}. Its {{ic|Architecture}} setting ({{ic|auto}} by default) will determine if an i686 or x86_64 installation is created. Alternatively, you could add the {{ic|-C}} option (like {{ic|-C custom-pacman-config.conf}}) if you'd like to change the architecture, use custom mirrors, etc.}} |
||
+ | |||
+ | *{{ic|-C custom-pacman-config.conf}} - Use a custom pacman configuration file. By default, pacstrap builds according to your local pacman.conf. This determines the architecture (i686 or x86_64) of the build, the mirror list, etc. |
||
+ | *{{ic|-B}} - Prevent pacstrap from copying your system's pacman keyring to the new build. If you use this option, you'll need to run {{ic|pacman-key --init}} and {{ic|pacman-key --populate archlinux}} in the [[Virtual Private Server#Configuration|Configuration]] step to set up the keyring. |
||
+ | *{{ic|-M}} - Prevent pacstrap from copying your system's pacman mirror list to the new build. |
||
=====VPS にあるものを全て Arch 環境と置き換える===== |
=====VPS にあるものを全て Arch 環境と置き換える===== |
||
125行目: | 134行目: | ||
Replace all files, directories, etc. on your target VPS with the contents of your {{ic|build}} directory (replacing "YOUR.VPS.IP.ADDRESS" below): |
Replace all files, directories, etc. on your target VPS with the contents of your {{ic|build}} directory (replacing "YOUR.VPS.IP.ADDRESS" below): |
||
− | {{Warning|Be careful with the following command. By design, {{ic|rsync}} is very destructive, especially with the {{ic|--delete}} |
+ | {{Warning|Be careful with the following command. By design, {{ic|rsync}} is very destructive, especially with any of the {{ic|--delete}} options.}} |
− | # rsync -ax --delete -e ssh --stats -P build/ YOUR.VPS.IP.ADDRESS:/ |
+ | # rsync -ax --delete-delay -e ssh --stats -P build/ YOUR.VPS.IP.ADDRESS:/ |
+ | Explanation of options: |
||
− | {{Note|At minimum, only the {{ic|-a}} (preserve timestamps, permissions, etc.), {{ic|-x}} (don't cross filesystem boundaries), and {{ic|--delete}} (delete anything in the target that doesn't exist in the source) options are required. {{ic|-e ssh}} (use rsync over SSH) is recommended and makes things simple.}} |
||
+ | |||
+ | At minimum, only the {{ic|-a}} (preserve timestamps, permissions, etc.), {{ic|-x}} (don't cross filesystem boundaries), and {{ic|--delete}} (delete anything in the target that doesn't exist in the source) options are required. The {{ic|--delete-delay}} option is an alternate deletion mode which waits to delete anything until the synchronization is otherwise complete; this isn't necessary but may reduce the risk of a slow transfer causing the target VPS to lock-up. The {{ic|-e ssh}} (use rsync over SSH) option is recommended and makes things simple. The {{ic|--stats}} and {{ic|-P}} options are just to show more information. |
||
=====設定===== |
=====設定===== |
||
# Reboot the VPS externally (using your provider's control panel, for example). |
# Reboot the VPS externally (using your provider's control panel, for example). |
||
− | # Using OpenVZ's serial console feature, configure [[Network configuration| |
+ | # Using OpenVZ's serial console feature, configure the [[Network configuration|network]] and [[Installation_guide#Configure_the_system|basic system settings]] (ignoring fstab generation and arch-chroot steps). |
#* If you don't have access to the serial console feature, you'll need to preconfigure your network settings before synchronizing Arch to the VPS. |
#* If you don't have access to the serial console feature, you'll need to preconfigure your network settings before synchronizing Arch to the VPS. |
||
− | |||
− | ====2010.05 インストールイメージの更新==== |
||
− | These instructions assume you have a 2010.05 image from your VPS provider and you would like to get it updated. The biggest work involves preparing {{ic|/lib}} for the symlink upgrade ({{pkg|glibc}} 2.16, and later {{pkg|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'' repository working (just add the repository 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 {{ic|/lib}} temporarily) without losing your OS (BusyBox comes with its own GNU tools which are statically linked). |
||
− | <nowiki># wget http://busybox.net/downloads/binaries/latest/busybox-i686</nowiki> |
||
− | # chmod +x busybox-i686 |
||
− | |||
− | First, you can get a list of packages that own files in {{ic|/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 from ibiru's page, these are the packages that were required to be removed for me: |
||
− | |||
− | {{bc|pacman -S acl attr util-linux-ng bzip2 libcap e2fsprogs libgcrypt libgpg-error udev readline ncurses pam pcre popt procps readline shadow e2fsprogs sysfsutils udev util-linux-ng sysvinit coreutils}} |
||
− | |||
− | You may have to remove {{ic|/lib/udev/devices/loop0}} (a simple {{ic|rm}} works). |
||
− | |||
− | After the upgrade finishes, you must remove any extra empty directories in {{ic|/lib}} ({{ic|/lib/modules}} is the common offender): |
||
− | # rm -rf /lib/modules |
||
− | |||
− | Install {{pkg|tzdata}} to fix some dependencies, and remove {{ic|/etc/profile.d/locale.sh}}: |
||
− | # pacman -S tzdata |
||
− | # rm /etc/profile.d/locale.sh |
||
− | |||
− | Remove {{ic|/var/run}} (you should have nothing running that matters): |
||
− | # rm -rf /var/run |
||
− | |||
− | Force glibc, which will pull in the latest filesystem package, but will BREAK everything (other than BusyBox): |
||
− | # pacman -S --force glibc |
||
− | |||
− | Now, you will have a broken system, so symlink {{ic|/usr/lib}} to {{ic|/lib}} with BusyBox's ln program: |
||
− | # ./busybox-i686 ln -s /usr/lib /lib |
||
− | |||
− | And you should have a fully functional system where you can now update pacman. |
||
− | # pacman -S pacman |
||
− | # pacman-key --init |
||
− | # pacman-key --populate archlinux |
||
− | # pacman-db-upgrade |
||
− | # pacman -Syy |
||
− | |||
− | Now, update initscripts to get the {{pkg|iproute2}} package: |
||
− | # pacman -S initscripts |
||
− | |||
− | Install the {{pkg|makedev}} package: |
||
− | {{bc|pacman -S makedev}} |
||
− | |||
− | Add the following to your {{ic|/etc/rc.local}}: |
||
− | /usr/sbin/MAKEDEV tty |
||
− | /usr/sbin/MAKEDEV pty |
||
− | |||
− | Comment the following lines in {{ic|/etc/inittab}}: |
||
− | #c1:2345:respawn:/sbin/agetty -8 -s 38400 tty1 linux |
||
− | #c2:2345:respawn:/sbin/agetty -8 -s 38400 tty2 linux |
||
− | #c3:2345:respawn:/sbin/agetty -8 -s 38400 tty3 linux |
||
− | #c4:2345:respawn:/sbin/agetty -8 -s 38400 tty4 linux |
||
− | #c5:2345:respawn:/sbin/agetty -8 -s 38400 tty5 linux |
||
− | #c6:2345:respawn:/sbin/agetty -8 -s 38400 tty6 linux |
||
− | |||
− | Finally, you should be able to upgrade the whole system: |
||
− | # pacman -Syu |
||
− | |||
− | 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. |
||
− | # pacman -S --force krb5 |
||
− | # pacman -S openssh openssl |
||
− | # pacman -R heimdal |
||
− | # pacman -S krb5 |
||
− | |||
− | Fix {{pkg|syslog-ng}}. Set the src to {{ic|unix-dgram("/dev/log")}} and add {{ic|--no-caps}} to both check and run args in {{ic|/etc/conf.d/syslog-ng}}. |
||
− | |||
− | Make sure your {{ic|/etc/rc.conf}} is not messed up with broken network definitions, or else be sure serial access works on your VPS before you reboot. |
||
− | |||
− | ====VPS のネットワーク設定を rc.conf から netcfg に移行 (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}} |
||
− | |||
− | ====VPS で initscripts から 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: |
||
− | {{bc|#kernel.core_pattern=|/usr/lib/systemd/systemd-coredump %p %u %g %s %t %e}} |
||
− | |||
− | 3) Move all configuration from {{ic|/etc/rc.conf}} (except the {{ic|DAEMONS}} array) to its appropriate location. |
||
− | |||
− | See [https://wiki.archlinux.org/index.php/Systemd#Native_configuration Native configuration] and [https://wiki.archlinux.org/index.php/Rc.conf rc.conf] for details. |
||
− | |||
− | Now your {{ic|/etc/rc.conf}} should only contain the {{ic|DAEMONS}} array. |
||
− | |||
− | 4) Install systemd-sysvcompat |
||
− | |||
− | {{bc|pacman -S systemd-sysvcompat}} |
||
− | |||
− | It will ask to replace sysvinit, say yes. |
||
− | |||
− | {{bc|reboot}} |
||
− | |||
− | 5) Move daemons from the {{ic|DAEMONS}} array in {{ic|/etc/rc.conf}} to {{ic|systemd}} |
||
− | |||
− | See the [https://wiki.archlinux.org/index.php/Systemd#Moving_away_from_the_DAEMONS_array guide] and the [https://wiki.archlinux.org/index.php/Daemons_List daemons list]. |
||
− | |||
− | If your {{ic|DAEMONS}} array is now empty, skip next step. |
||
− | |||
− | 6) Moving rc.d daemons with no systemd support, example: {{ic|vzquota}} |
||
− | |||
− | 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. |
||
− | |||
− | Uninstall {{ic|initscripts}} |
||
− | {{bc|pacman -R initscripts}} |
||
− | |||
− | {{bc|reboot}} |
||
===Xen=== |
===Xen=== |
||
[[Xen#ハードウェア仮想化 (HVM) Arch domU の設定|Xen#ハードウェア仮想化 (HVM) Arch domU の設定]] や [[Xen#準仮想化 (PV) Arch domU の設定|Xen#準仮想化 (PV) Arch domU の設定]] を見て下さい。 |
[[Xen#ハードウェア仮想化 (HVM) Arch domU の設定|Xen#ハードウェア仮想化 (HVM) Arch domU の設定]] や [[Xen#準仮想化 (PV) Arch domU の設定|Xen#準仮想化 (PV) Arch domU の設定]] を見て下さい。 |
||
− | |||
− | ===OpenStack と Xen のコンポーネントを sysmted に変換=== |
||
− | Rackspace NextGen Cloud などの、OpenStack/Xen による VPS を使う場合、systemd で有効にする必要がある3つのコンポーネントがあります。そのうちの2つは現行バージョンの {{Pkg|xe-guest-utilities}} に含まれています: xe-linux-distribution と xe-daemon。 |
||
− | |||
− | OpenStack の nova-agent については、現行バージョンの 0.0.1.37 には sysvinit のスタートアップスクリプトしか含まれていないので、カスタムサービスファイルを作成する必要があります。 |
||
− | |||
− | {{hc|1=/etc/systemd/system/nova-agent.service|2= |
||
− | [Unit] |
||
− | Description=nova-agent service |
||
− | After=xe-daemon.service |
||
− | |||
− | [Service] |
||
− | Environment=LD_LIBRARY_PATH=/usr/share/nova-agent/0.0.1.37/lib |
||
− | ExecStart=usr/bin/nova-agent -n -l info /usr/share/nova-agent/nova-agent.py |
||
− | |||
− | [Install] |
||
− | WantedBy=multi-user.target}} |
||
− | Once these steps are done, you can continue with converting the server from sysvinit to systemd. |
||
− | |||
− | 以下のサービスを有効にするようにしてください: |
||
− | # systemctl enable xe-linux-distribution |
||
− | # systemctl enable xe-daemon |
||
− | # systemctl enable nova-agent |
||
− | |||
− | ==トラブルシューティング== |
||
− | ===OpenVZ: kernel too old for glibc=== |
||
− | Are you on a virtual private server (VPS) with an old kernel & broke your system? Are you using OpenVZ? |
||
− | |||
− | Check your kernel version with: |
||
− | |||
− | {{bc|uname -r}} |
||
− | |||
− | If your kernel is older than 2.6.32, you will need a custom version of glibc ([https://www.archlinux.org/news/minimum-kernel-requirement-2632/ because of dependencies in glibc]). |
||
− | |||
− | Arch Template Used: https://dev.archlinux.org/~ibiru/openvz/2010.05/arch-2010.05-i686-minimal.tar.gz |
||
− | |||
− | {{Note|For installs that have not been updated to glibc-2.16, it will save you lots of time and prevent major breakage to do: |
||
− | pacman -U https://dev.archlinux.org/~ibiru/openvz/glibc-vps/i686/glibc-2.16.0-101-i686.pkg.tar.xz |
||
− | or |
||
− | pacman -U https://dev.archlinux.org/~ibiru/openvz/glibc-vps/x86_64/glibc-2.16.0-101-x86_64.pkg.tar.xz |
||
− | Add a single {{ic|-d}} if needed. ''The instructions below assume that this has been done.'' |
||
− | }} |
||
− | |||
− | Following similar instructions from [[DeveloperWiki:usrlib]]. |
||
− | |||
− | Try doing the following to fix it: |
||
− | |||
− | 1) Edit {{ic|/etc/pacman.conf}} and add the following repository '''ABOVE''' {{ic|[core]}}: |
||
− | |||
− | For 32-bit: |
||
− | {{bc|<nowiki>[glibc-vps] |
||
− | Server = https://dev.archlinux.org/~ibiru/openvz/glibc-vps/i686</nowiki>}} |
||
− | |||
− | For 64-bit: |
||
− | {{bc|<nowiki>[glibc-vps] |
||
− | Server = https://dev.archlinux.org/~ibiru/openvz/glibc-vps/x86_64</nowiki>}} |
||
− | |||
− | 2) Then run {{ic|pacman -Syy}} followed by {{ic|pacman -Syu}}. You will be notified to upgrade pacman first. |
||
− | |||
− | 3) Upgrade the [[pacman]] database by running {{ic|pacman-db-upgrade}} as root. |
||
− | |||
− | 4) Edit {{ic|/etc/pacman.conf.pacnew}} (new pacman config file) and add the following repository '''ABOVE''' {{ic|[core]}}: |
||
− | {{bc|<nowiki>[glibc-vps] |
||
− | Server = https://dev.archlinux.org/~ibiru/openvz/glibc-vps/$arch</nowiki>}} |
||
− | |||
− | 5) Replace {{ic|/etc/pacman.conf}} with {{ic|/etc/pacman.conf.pacnew}} (run as root): |
||
− | # mv /etc/pacman.conf.pacnew /etc/pacman.conf |
||
− | |||
− | 6) Upgrade your whole system with new packages again {{ic|pacman -Syu}} |
||
− | |||
− | If you get the following error or a similar error: |
||
− | {{bc|initscripts: /etc/profile.d/locale.sh exists in filesystem}} |
||
− | |||
− | Simply delete that file (e.g., {{ic|rm -f /etc/profile.d/locale.sh}}), then run {{ic|pacman -Syu}} again. |
||
− | |||
− | If you get the following error or a similar error: |
||
− | {{bc|filesystem: /etc/mtab exists in filesystem}} |
||
− | |||
− | Run {{ic|pacman -S filesystem --force}} |
||
− | |||
− | If you get the following error or a similar error: |
||
− | {{bc|libusb-compat: /usr/bin/libusb-config exists in filesystem}} |
||
− | |||
− | Run {{ic|pacman -S libusb}} and then {{ic|pacman -S libusb-compat}} |
||
− | |||
− | 7) Before rebooting, you need to [[pacman|install]] the {{Pkg|makedev}} package from the [[official repositories]] by running {{ic|pacman -S makedev}}. |
||
− | |||
− | 8) Add MAKEDEV to {{ic|/etc/rc.local}}: |
||
− | /usr/sbin/MAKEDEV tty |
||
− | /usr/sbin/MAKEDEV pty |
||
− | |||
− | 9) Edit {{ic|/etc/inittab}}, comment out the following lines; otherwise, you will see errors in {{ic|/var/log/errors.log}}): |
||
− | #c1:2345:respawn:/sbin/agetty -8 -s 38400 tty1 linux |
||
− | #c2:2345:respawn:/sbin/agetty -8 -s 38400 tty2 linux |
||
− | #c3:2345:respawn:/sbin/agetty -8 -s 38400 tty3 linux |
||
− | #c4:2345:respawn:/sbin/agetty -8 -s 38400 tty4 linux |
||
− | #c5:2345:respawn:/sbin/agetty -8 -s 38400 tty5 linux |
||
− | #c6:2345:respawn:/sbin/agetty -8 -s 38400 tty6 linux |
||
− | |||
− | 10) To enable use of the {{ic|hostname}} command, [[pacman|install]] the package {{Pkg|inetutils}} from the [[official repositories]]. |
||
− | |||
− | 11) Remove disabling of the SysRq key and setup of core dump pattern because this is blocked by OpenVZ and causes errors. |
||
− | |||
− | Because sysctl does not use {{ic|/etc/sysctl.conf}} any more[https://www.archlinux.org/news/deprecation-of-etcsysctlconf/], you must transfer all settings to {{ic|/etc/sysctl.d/99-sysctl.conf}} (or any other file in {{ic|/etc/sysctl.d/}}; however, do not transfer the following line: |
||
− | {{bc|1=kernel.sysrq = 0}} |
||
− | |||
− | Edit {{ic|/usr/lib/sysctl.d/coredump.conf}} and comment out the following line: |
||
− | {{bc|1=#kernel.core_pattern=|/usr/lib/systemd/systemd-coredump %p %u %g %s %t %e}} |
||
− | |||
− | 12) Save and reboot. |
||
− | |||
− | Enjoy & thank ioni if you happen to be in #archlinux |
||
− | |||
− | ===SSH fails: PTY allocation request failed on channel 0=== |
||
− | |||
− | Some VPSes have an outdated {{ic|/etc/rc.sysinit}}. You may be able to log in via serial console or with the following command: |
||
− | $ ssh root@broken.server '/bin/bash -i' |
||
− | |||
− | Then run the following: |
||
− | # mv /etc/rc.sysinit.pacnew /etc/rc.sysinit |
||
− | # reboot |
||
− | |||
− | Once it is working, you should be able to comment out the {{ic|udevd_modprobe}} line in {{ic|/etc/rc.sysinit}} to save a bit of RAM the next time you reboot. |
||
− | |||
− | If the above does not work, take a look at [http://fsk141.com/fix-pty-allocation-request-failed-on-channel-0 this guide]. |
2015年2月21日 (土) 20:53時点における版
関連記事
Wikipedia:ja:バーチャル・プライベート・サーバ より:
- バーチャルプライベートサーバ (VPS) はホスティングサーバ事業者によって使われている言葉で仮想マシンのことを指す。他の仮想マシンと同じ物理コンピュータ上のソフトウェアで動作しながらも、一つの独立した物理コンピュータとほとんど同じように使えるということを強調するために使われます。個々の顧客のニーズにあわせてカスタマイズすることができ、独立したコンピュータとしてのプライバシーを持ちながら、サーバーソフトウェアが動作するように設定することが可能です。
この記事では仮想専用サーバーにおける Arch Linux の利用について検討して、VPS 固有のインストール手順・フィックスなども述べます。
目次
Arch Linux を提供しているプロバイダ
プロバイダ | Arch リリース | 仮想化 | 場所 | 注記 | |
---|---|---|---|---|---|
A MilesWeb VPS | 2013.10.14 | OpenVZ | ヨーロッパ, インド, US | OpenVZ プラットフォームで最新の Arch Linux が使えます。クイックセットアップ、24時間365日のライブチャット・メール・電話サポート。VPS は月20ドルから。 | |
123 Systems | 2010.05.xx | OpenVZ | ダラス, US-TX | 再インストール時に Arch が選択できます。カーネルはとても古い (2.6.18-308) ので OpenVZ のトラブルシューティングを見て下さい。購入する前に見られる情報は限られており、購入しないと Arch Linux のバージョンも確認できません。 | |
AUSWEB | 最新リリースのみ (clarify?) | VMware ESXi | シドニー, AU | Latest ISO (clarify?) of Arch Available. Enterprise Service. | |
affinity.net.nz | 2013.08.01 | KVM | オークランド, ニュージーランド (NZ) | IRC チャンネルは ircs.kiwicon.org の #affinity | |
Afterburst | 2012.12.01 | OpenVZ | マイアミ, US-FL; ニュルンベルク, DE | 旧名 FanaticalVPS。カーネルバージョンは VPS が存在するノードによります。マイアミのノードは問題ありません (2.6.32-042stab072.10) がドイツのノードの場合カスタム glibc が必要になることがあります。 | |
BuyVM | 2013.07.01 | KVM | LA, バッファロー NY | 登録時には別の OS を選択しなくてはなりません。アクセスできるようになったら、最新の Arch ISO をマウントして再起動を選択して手動でインストールします。 | |
Edis | 2013.03.01 | vServer, KVM, OpenVZ | 世界中に多数所在 | 専用サーバや、マン島 (IM) にある"オフショア"な場所も選べます。 | |
DirectVPS | 2014.01.xx | OpenVZ | アムステルダム, NL; ロッテルダム, NL | オランダ語のサイト。https://www.directvps.nl/try-1.plp?p=31 からバージョンが確認できます。 | |
Gandi | 2013.10.27 | Xen | パリ, FR; ボルチモア, MD, US; ビッセン, LU | Very granular scaling of system resources (e.g. RAM, disk space); IPv6-only option available; you can supply your own install image, version based on keyring package version | |
GigaTux | 2013.06.01 | Xen | シカゴ, US-IL; フランクフルト, DE; ロンドン, GB; サンノゼ, US-CA | ||
Host Virtual | 2011.08.19 | KVM | 世界中に多数所在 | Appears to use KVM virtualization. Site lists "Xen based virtualization" and features lists ability to install from ISO. | |
Hostigation | 2010.05 i686 | OpenVZ, KVM | シャーロット, US-NC; ロサンジェルス, US-CA | x86_64 に移行することが可能 | |
IntoVPS | 2012.09.xx | OpenVZ | アムステルダム, NL; ブカレスト, RO; ダラス, US-TX; フレモント, US-CA; ロンドン, GB | Blog has not been updated since September, 2012 which included the Arch Linux update. | |
Leapswitch Networks | [2013.10.xx] | OpenVZ/KVM | USA, インド, ポルトガル, スペイン, ウクライナ, ドイツ | 現在 ArchLinux はコントロールパネルから再インストールするときだけ選べます。申し込みフォームにはありません。 | |
Linode.com | 2013.06.xx | Xen | 東京, JP; US 複数; ロンドン, GB | カスタムカーネルを実行するために、linux-linodeAUR をインストールしてください (linux では32ビットの Linode 上で動作しません)。 | |
LYLIX | 2014.01.xx | OpenVZ | US 複数; ヨーロッパ | 32ビットと64ビットが利用可能。 | |
Node Deploy | 2014.10.01 | OpenVZ, KVM | ドイツ (DE); ロサンジェルス, US-CA; アトランタ, US-GA; フェニックス, US-AZ | "NodeDeploy では事実上すべての linux ディストリビューションをサポートしています"。Arch Linux もオペレーティングシステムのリストに記載されています。バージョン情報はなし。 | |
Netcup | 2012.11.xx | KVM | ドイツ (DE) | ドイツ語のサイト。 | |
OnePoundWebHosting | 2013.05.xx | Xen PV, Xen HVM | イギリス (UK) | レジストラでもあります。サーバーの場所は特定できません。 | |
proPlay.de | 2012.12.xx | OpenVZ, KVM | ドイツ (DE) | ドイツ語のサイト。 | |
QuickVZ | 2013.10 | OpenVZ, Xen | アムステルダム, オランダ (NL); ストックホルム, スウェーデン (SE) | Provide hardened Arch Linux images along with Enterprise services (e,g. VPN, Virtual Private LAN Service (VPLS) and Virtual Routers. | |
Rackspace Cloud | 2013.6 | Xen | 世界中に多数所在 | 料金は時間単位。"next gen" の VPS を使って下さい (mycloud.rackspace.com パネルを使用); 第1世代の Rackspace VPS の Arch イメージは古くなっています。 | |
RamHost.us | 2013.05.01 | OpenVZ, KVM | ロサンジェルス, US-CA; グレートブリテン (GB); アトランタ, US-GA; ドイツ (DE) | RamHost の IRC ネットワークで最新 ISO をリクエストできます。 | |
RamNode | 2013.07.01 | SSD and SSD Cached: OpenVZ, KVM | シアトル, WA USA, アトランタ, GA USA | You can request Host/CPU passthrough with KVM service. Customer service has been prompt and professional. Regular discount codes can be found (15-35% off). Modern hardware. Competitive pricing (before discounts). | |
Tilaa | 2014.10.01 | KVM | アムステルダム, NL | 英語またはオランダ語のサイト。 | |
TransIP | 2013.05.01 | KVM | アムステルダム, NL | 英語のサイト。レジストラ。 | |
XenVZ | 2009.12.07 | OpenVZ, Xen | イギリス (UK), アメリカ (US) | ハードウェア | |
Virpus | 2014.11.07 | Xen | カンザスシティ, US-KS; ロサンジェルス, US-CA | Wow Technologies, Inc の子会社。ライブチャット、メール、電話、チケットシステムによる24時間365日サポート。費用は月5ドルから。 | |
Vmline | 2013.09.01 | KVM, OpenVZ | クラクフ, PL | S-Net の再販売。完全仮想化。ポーランド語のサイト。 | |
VPSBG.eu | 2013.10 | OpenVZ | ソフィア, ブルガリア | ブルガリアのオフショア VPS - 匿名の登録と Bitcoin による支払いが可能。 | |
VPS6.NET | 2013.01.xx | OpenVZ, Xen, HVM-ISO | US 複数; フランクフルト, DE; ブカレスト, RO; イスタンブール, TR | レジストラ。 | |
VPS.NET | 2014.01.xx | OpenVZ, Xen, HVM-ISO | US, カナダ, UK, ブラジル, オランダ, フランス, ドイツ, 日本, シンガポール, インド, オーストラリア; その他複数 | Managed & Un managed VPS service provider, multiple OS and configurations.. | |
World4You | 2015.02.17 | OpenVZ | Austria (AT) | インターネットホスティングプロバイダ。クイックセットアップ。24時間365日対応。共有ウェブホスティング。CentOS, Debian, Ubuntu, Fedora, Arch の OpenVZ サーバー。月2.5ユーロから。 |
インストール
KVM
QEMU#(Arch) Linux ゲストを用意するを見て下さい。
OpenVZ
OpenVZ プロバイダで最新の Arch Linux をインストール
Arch Linux のインストール環境を使用中の OpenVZ VPS の上から直接コピーすることができます。このチュートリアルでは pacstrap
を使って (標準的なインストールと同じように) Arch Linux の基本的なインストール環境を作成してから rsync を使って対象の VPS の中身を置き換える方法を説明します。
この方法は (少しばかり修正を加えることで) 既存の Arch 環境を様々な環境に移植するのにも使うことができ、OpenVZ から Xen に、または Xen から OpenVZ に移行するときも使えることが確認済みです。Xen などのハードウェア仮想化プラットフォーム (もしくは物理ハードウェア) にインストールするときは、別段の作業が必要になります (mkinitcpio
の実行とブートローダーのインストール)。
必須要件
- A working Arch Linux installation
- To keep things simple, it should match the architecture you want to install on your VPS (x86_64 or i686).
- To build from other distributions, arch-bootstrap.sh can be used in place of
pacstrap
.
- 公式リポジトリの arch-install-scripts, rsync, openssh パッケージ
- SSH isn't strictly required, but rsync over SSH is the method used here.
- A VPS running any distribution, with
rsync
and a working SSH server- Its architecture (x86_64 or i686) doesn't matter as long as the OpenVZ installation can support your target architecture.
- OpenVZ's serial console feature (usually accessible via your provider's control panel)
- Without this, any network configuration for the target VPS will have to be done immediately after the "Build" step below.
クリーンな Arch Linux 環境を作成
As root, build the installation (optionally replacing build
with your preferred target directory):
# mkdir build # pacstrap -cd build
Other tweaks for the pacstrap
command:
-C custom-pacman-config.conf
- Use a custom pacman configuration file. By default, pacstrap builds according to your local pacman.conf. This determines the architecture (i686 or x86_64) of the build, the mirror list, etc.-B
- Prevent pacstrap from copying your system's pacman keyring to the new build. If you use this option, you'll need to runpacman-key --init
andpacman-key --populate archlinux
in the Configuration step to set up the keyring.-M
- Prevent pacstrap from copying your system's pacman mirror list to the new build.
VPS にあるものを全て Arch 環境と置き換える
Replace all files, directories, etc. on your target VPS with the contents of your build
directory (replacing "YOUR.VPS.IP.ADDRESS" below):
# rsync -ax --delete-delay -e ssh --stats -P build/ YOUR.VPS.IP.ADDRESS:/
Explanation of options:
At minimum, only the -a
(preserve timestamps, permissions, etc.), -x
(don't cross filesystem boundaries), and --delete
(delete anything in the target that doesn't exist in the source) options are required. The --delete-delay
option is an alternate deletion mode which waits to delete anything until the synchronization is otherwise complete; this isn't necessary but may reduce the risk of a slow transfer causing the target VPS to lock-up. The -e ssh
(use rsync over SSH) option is recommended and makes things simple. The --stats
and -P
options are just to show more information.
設定
- Reboot the VPS externally (using your provider's control panel, for example).
- Using OpenVZ's serial console feature, configure the network and basic system settings (ignoring fstab generation and arch-chroot steps).
- If you don't have access to the serial console feature, you'll need to preconfigure your network settings before synchronizing Arch to the VPS.
Xen
Xen#ハードウェア仮想化 (HVM) Arch domU の設定 や Xen#準仮想化 (PV) Arch domU の設定 を見て下さい。