ステータス:非推奨

この記事では、サポートされなくなったバージョンのUbuntuについて説明します。 現在Ubuntu12.04を実行しているサーバーを運用している場合は、サポートされているバージョンのUbuntuにアップグレードまたは移行することを強くお勧めします。

理由:
Ubuntu 12.04は2017年4月28日に保守終了(EOL)に達しました and no longer receives security patches or updates. This guide is no longer maintained.

代わりに参照してください:このガイドは参照として役立つ場合がありますが、他のUbuntuリリースでは機能しない場合があります。 可能な場合は、使用しているUbuntuのバージョン用に作成されたガイドを使用することを強くお勧めします。 ページ上部の検索機能を使用して、より新しいバージョンを見つけることができます。

序章


非常に多様なサーバーアクティビティには、冗長性と高可用性が必要です。 データストレージに関して単一障害点を持つことは、重要なデータにとって非常に危険な構成です。

多くのデータベースやその他のソフトウェアを使用すると、単一のアプリケーションのコンテキストでデータを分散できますが、他のシステムはファイルシステムレベルで動作して、データがディスクに書き込まれるたびに別の場所に確実にコピーされるようにすることができます。 GlusterFS のようなクラスター化されたストレージソリューションは、まさにこの機能を提供します。

このガイドでは、2つの64ビットUbuntu12.04VPSインスタンス間に冗長GlusterFSクラスターをセットアップします。 これは、ミラー化されたRAIDを備えたNASサーバーと同様に機能します。 次に、3番目の64ビットUbuntu12.04VPSからクラスターにアクセスします。

一般的な概念


クラスター化された環境では、さまざまなコンピューターを単一のより強力なユニットとして扱うことができるように、リソース(通常はコンピューティングまたはストレージ)をプールできます。 GlusterFSを使用すると、さまざまなVPSインスタンスのストレージをプールして、単一のサーバーであるかのようにそれらにアクセスできます。

GlusterFSを使用すると、さまざまな種類のストレージ構成を作成できます。その多くは、機能的にはRAIDレベルに似ています。 たとえば、クラスター内の異なるノード間でデータをストライプ化することも、冗長性を実装してデータの可用性を向上させることもできます。

このガイドでは、分散ファイルシステムとも呼ばれる冗長クラスターストレージアレイを作成します。 基本的に、これにより、ネットワーク上でミラー化されたRAID構成と同様の機能を使用できるようになります。 独立した各サーバーにはデータの独自のコピーが含まれているため、アプリケーションはどちらのコピーにもアクセスでき、読み取り負荷の分散に役立ちます。

各VPSで実行する手順


このガイドで使用している各VPSインスタンスで実行するいくつかの手順があります。 各ホスト間でDNS解決を構成し、GlusterFSパッケージのインストールに使用するソフトウェアソースを設定する必要があります。

DNS解決を構成する


さまざまなコンポーネントが相互に簡単に通信できるようにするには、各コンピューター間に何らかのホスト名解決を設定するのが最善です。

各システムを指すように構成するドメイン名がある場合は、このガイドに従って、DigitalOceanドメイン名を設定できます。

予備のドメイン名がない場合、または何かをすばやく簡単に設定したい場合は、代わりに各コンピューターのhostsファイルを編集できます。

最初のコンピューターでroot権限でこのファイルを開きます。

sudo nano /etc/hosts

次のようなものが表示されます。

127.0.0.1       localhost gluster2

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

ローカルホスト定義の下に、各VPSのIPアドレスに続いて、それを参照するために使用する長い名前と短い名前を追加する必要があります。

終了すると、次のようになります。

 127.0.0.1localhostホスト名first_ip  gluster0.droplet.com  gluster0 second_ip  gluster1.droplet.com  gluster1third_ip  gluster2.droplet.com  gluster2

IPv6対応ホストには次の行が望ましい

:: 1 ip6-localhost ip6-loopback fe00 :: 0 ip6-localnet ff00 :: 0 ip6-mcastprefix ff02 :: 1 ip6-allnodes ff02 :: 2 ip6-allrouters