Virtual Private Server

提供: ArchWiki
移動先: 案内検索

関連記事

Wikipedia:ja:バーチャル・プライベート・サーバ より:

バーチャルプライベートサーバ (VPS) はホスティングサーバ事業者によって使われている言葉で仮想マシンのことを指す。他の仮想マシンと同じ物理コンピュータ上のソフトウェアで動作しながらも、一つの独立した物理コンピュータとほとんど同じように使えるということを強調するために使われます。個々の顧客のニーズにあわせてカスタマイズすることができ、独立したコンピュータとしてのプライバシーを持ちながら、サーバーソフトウェアが動作するように設定することが可能です。

この記事では仮想専用サーバーにおける Arch Linux の利用について検討して、VPS 固有のインストール手順・フィックスなども述べます。

警告:
  • Linux 2.6.32 は systemd バージョン 205 からサポートされていません (そして systemd 212 以降では動作しません)。コンテナによる仮想化環境は多くが古いカーネルを使っており、そのような環境では Arch Linux を最新状態に保つことができない可能性があります。ただし、OpenVZ は、カーネルビルド 042stab094.7 から、CLOCK_BOOTTIME 機能をバックポートしているため最新の systemd でも動作します。
  • systemd バージョン 220 から OpenVZ コンテナで動作しません [1]。この問題は OpenVZ カーネル 042stab111.1 で修正されました [2]

Arch Linux を提供しているプロバイダ

警告: プロバイダの品質について保証はできません。発注する前に自分で確認してください。
ノート: 以下のプロバイダでは便利な Arch Linux イメージが用意されています。他のプロバイダで Arch を使うこともできますが、必要な作業が増えます。以下のような方法があります:
プロバイダ Arch リリース 仮想化 場所 注記
4smart.cz 2013.08 OpenVZ プラハ, CZ (チェコ語のサイト) システムをアップデートするときは pacman.conf で [tredaelli-systemd] を使うようにしてください。
ABLENET VPS 2015.05.01 KVM 大阪
affinity.net.nz 2013.08.01 KVM オークランド, ニュージーランド (NZ) IRC チャンネルが ircs.kiwicon.org の #affinity に存在します。
Atlantic.Net 2015.05.01 KVM NYC/SF/トロント/ダラス/オーランド, US & カナダ 100% SSD のワンクリック Arch Linux。30秒ですぐにセットアップ。
BuyVM 2013.07.01 KVM LA, バッファロー NY 登録時には別の OS を選択しなくてはなりません。アクセスできるようになったら、最新の Arch ISO をマウントして再起動を選択して手動でインストールします。
Coinshost 2015.04 Xen チューリッヒ, スイス Bitcoin などの暗号通貨が使えます。
ConoHa 2016.09.06 KVM 日本(東京), アメリカ(サンノゼ), シンガポール
DirectVPS 2014.01.xx OpenVZ アムステルダム, NL; ロッテルダム, NL オランダ語のサイト。
Edis 2013.03.01 vServer, KVM, OpenVZ 世界中に多数所在 専用サーバや、マン島 (IM) にある"オフショア"な場所も選べます。
Gandi 2013.10.27 Xen パリ, FR; ボルチモア, MD, US; ビッセン, LU メモリやディスク容量などシステムリソースをきめ細かく選べます。IPv6 オンリーのオプションもあり。自らインストールイメージを指定することもできます。バルチモアの施設は2016年12月1日に閉じられました。
GigaTux 2013.06.01 Xen シカゴ, US-IL; フランクフルト, DE; ロンドン, GB; サンノゼ, US-CA
Host Virtual 2014.06.01 KVM 世界中に多数所在 KVM 仮想化を使っています。"Xen ベースの仮想化"をうたっており ISO からインストールできる 機能 リストがサイトに存在します。
Hostigation 2010.05 i686 OpenVZ, KVM シャーロット, US-NC; ロサンジェルス, US-CA x86_64 に移行することが可能
Kloud51 最新 OpenVZ US-CA, カナダ SSD, 2つのイメージが存在: ベアボーン環境あるいは OpenBox, XRDP, Firefox, SSH Brute Force, Geany, Yaourt などが設定済みのデスクトップ。
Leapswitch Networks 2013.10.xx OpenVZ/KVM USA, インド, ポルトガル, スペイン, ウクライナ, ドイツ 現在 Arch Linux はコントロールパネルから再インストールするときだけ選べます。申し込みフォームにはありません。
Linevast.de 最新 OpenVZ, KVM ドイツ ワンクリックの OS インストーラーで OpenVZ や KVM で動作する Arch Linux を選べます。
Linode.com 2015.08 と 2015.02 Xen, KVM 東京, JP; US 複数; ロンドン, GB カスタムカーネルを実行するために、linux-linodeAUR をインストールしてください (linux では32ビットの Linode 上で動作しません)。最初は NIC の enp4s0 は eth0 に名前が変更されますが再起動すると enp4s0 に戻ります。再起動で sshd で接続できなくなる可能性があります。
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) ドイツ語のサイト。
お名前.com VPS 2011.08.19 KVM 日本
OnePoundWebHosting 2013.05.xx Xen PV, Xen HVM イギリス (UK) レジストラでもあります。サーバーの場所は特定できません。
OVH 最新 KVM フランス, カナダ
PacmanVPS 最新 KVM カナダ (CA), ポーランド (PL) 全てのカーネルに対応。テンプレートを使用するか VNC コンソールで ISO から手動でインストールできます。
Proplay 最新 OpenVZ, KVM ドイツ (DE) ドイツ語のサイト。
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 2016.01.01 SSD と SSD キャッシュ: KVM アルブラッセルダム, NL; アトランタ, GA-US; ロサンゼルス, CA-US; ニューヨーク, NY-US; シアトル, WA-US KVM サービスで Host/CPU パススルーができます [3]。頻繁にセールをやっています [4]。VNC ビューアを使って ISO から手動で Arch をインストールする必要があります。
RoseHosting 最新 OpenVZ, KVM セントルイス, ミズーリ, USA SSD によるホスティングプランがあり24時間365日サポート。
Tilaa 2016.03.01 KVM アムステルダム, NL
TransIP 2016.02.01 KVM アムステルダム, NL レジストラ。
upCUBE 最新 Docker ドイツ 様々な Arch Linux テンプレートが用意されています。
XenVZ 2009.12.07 OpenVZ, Xen イギリス (UK), アメリカ (US) ハードウェア
Virpus 2014.11.07 Xen カンザスシティ, US-KS; ロサンジェルス, US-CA Wow Technologies, Inc の子会社。ライブチャット、メール、電話、チケットシステムによる24時間365日サポート。
Virtual Master 2012-08  ?? プラハ, CZ
VMLine 2013.09.01 KVM, OpenVZ クラクフ, PL S-Net の再販売。完全仮想化。ポーランド語のサイト。
VPSBG.eu 2013.10 OpenVZ ソフィア, ブルガリア ブルガリアのオフショア VPS - 匿名の登録と Bitcoin による支払いが可能。
VPS6.NET 2013.01.xx OpenVZ US 複数; フランクフルト, DE; ブカレスト, RO; イスタンブール, TR レジストラ。
World4You 2015.10.28 OpenVZ Austria (AT) インターネットホスティングプロバイダ。クイックセットアップ。24時間365日対応。共有ウェブホスティング。CentOS, Debian, Ubuntu, Fedora, Arch の OpenVZ サーバー。新しい systemd (227) に対応。

インストール

KVM

QEMU#(Arch) Linux ゲストを用意するを見て下さい。

OpenVZ

OpenVZ プロバイダで最新の Arch Linux をインストール

Arch Linux のインストール環境を使用中の OpenVZ VPS の上から直接コピーすることができます。このチュートリアルでは pacstrap を使って (標準的なインストールと同じように) Arch Linux の基本的なインストール環境を作成してから rsync を使って対象の VPS の中身を置き換える方法を説明します。

この方法は (少しばかり修正を加えることで) 既存の Arch 環境を様々な環境に移植するのにも使うことができ、OpenVZ から Xen に、または Xen から OpenVZ に移行するときも使えることが確認済みです。Xen などのハードウェア仮想化プラットフォーム (もしくは物理ハードウェア) にインストールするときは、別段の作業が必要になります (mkinitcpio の実行とブートローダーのインストール)。

必須要件
  • Arch Linux マシン
    • 物事を簡単にするために、インストール先の VPS とアーキテクチャは同じにしてください (x86_64 または i686)。
    • 他のディストリビューションから環境を作成したい場合、arch-bootstrap.sh を使うことで pacstrap を置き換えられます。
  • 公式リポジトリarch-install-scripts, rsync, openssh パッケージ
    • SSH は必ずしも必要なわけではありませんが、ここでは SSH 経由で rsync を使用します。
  • 何らかのディストリビューションが動作していて rsync と SSH サーバーが立ち上がっている VPS
    • OpenVZ があなたのインストール先のアーキテクチャをサポートしていればアーキテクチャは特に問題ありません (x86_64 または i686)。
  • OpenVZ のシリアルコンソール機能 (通常はプロバイダのコントロールパネルからアクセスできます)
    • シリアルコンソールが使えない場合、以下の環境作成のすぐ後に VPS のネットワーク設定をする必要があります。
クリーンな Arch Linux 環境を作成
警告: 古いカーネルビルドと systemd については上の警告を見てください。

root で、新しい環境を作成 (任意で build は適当なディレクトリに置き換えてください):

# mkdir build
# pacstrap -cd build

pacstrap コマンドに以下のオプションを付けても良いでしょう:

  • -C custom-pacman-config.conf - pacman のカスタム設定ファイルを使用。デフォルトでは pacstrap はローカルの pacman.conf に従って環境構築します。設定ファイルによって作成環境のアーキテクチャ (i686 または x86_64) やミラーリストなどが決定されます。
  • -G - pacstrap がシステムの pacman キーリングを新しい環境にコピーしないようにします。このオプションを使う場合、設定ステップでキーリングをセットアップするために pacman-key --initpacman-key --populate archlinux を実行する必要があります。
  • -M - pacstrap がシステムの pacman ミラーリストを新しい環境にコピーしないようにします。
  • デフォルトの base パッケージ以外にも、インストールしたいパッケージを pacstrap に追加できます。例: pacstrap -cd build base openssh dnsutils gnu-netcat traceroute vim
VPS にあるものを全て Arch 環境と置き換える

VPS 上の全てのファイルやディレクトリを build ディレクトリの中身で置き換えてください ("YOUR.VPS.IP.ADDRESS" は適当なアドレスに置き換えてください):

警告: 以下のコマンドを使うときは注意してください。--delete オプションを付けて rsync を実行するときは誤ってファイルを削除しないようによく確認してください。
# rsync -axH --delete-delay -e ssh --stats -P build/ YOUR.VPS.IP.ADDRESS:/

オプションの説明:

  • -a - 必須。タイムスタンプやパーミッションなどをそのままコピーします。
  • --delete - 必須。コピー元に存在しないものを削除します。
  • -x - 重要。異なったファイルシステムのサブディレクトリをコピーしない (他のパーティションや /dev など)。
  • -H - 重要。ハードリンクを許可しない。
  • --delete-delay - 推奨。同期が完了するまで消去を行わない。転送速度が遅い場合に VPS をロックアップさせてしまう危険性を減らします。
  • -e ssh - 推奨。SSH で rsync を使用 (rsync サーバーをセットアップするのと比較して簡単です)。
  • -P - 推奨。転送中に進捗情報を表示。
  • --stats - 推奨。最後に転送情報を表示。
設定
  1. (プロバイダーのコントロールパネルなどを使って) VPS を再起動。
  2. OpenVZ のシリアルコンソール機能を使って、ネットワークを設定してシステムの基本設定を行う (fstab の生成と arch-chroot は要りません)。
    • シリアルコンソール機能が使えない場合、Arch を VPS に同期させる前にネットワークの設定をあらかじめ行う必要があります。
    • 一部の VPS では接続するゲートウェイが存在しません。以下はそのような場合の netctl の設定例です。venet0 で固定 IP アドレスとデフォルトルートを設定して Google Public DNS を使用します:
/etc/netctl/venet
Description='VPS venet connection'
Interface=venet0
Connection=ethernet

IP=static
Address=('192.0.2.42/32')
Routes=('default')

IP6=static
Address6=('2001:db8::1234:5678/128')
Routes6=('default')

DNS=('2001:4860:4860::8888' '2001:4860:4860::8844' '8.8.8.8' '8.8.4.4')

Xen

Xen#ハードウェア仮想化 (HVM) Arch domU の設定Xen#準仮想化 (PV) Arch domU の設定を見て下さい。