ハブでGlusterFSの基本的なインストールと構成に関するいくつかの記事を見つけましたが、それがサポート
し、長い間プレイしていたコンテンツ配信のタイプについては何も見つけませんでし
た 。 この記事で説明する内容。

GlusterFSは非常に便利で使いやすく、使いやすい分散ファイルシステムであり、FUSEテクノロジーを使用してユーザー空間で動作します。 メインファイルシステム上で実行されます。 インストールと構成には、Ubuntu 12.04 OSを使用します。
2つのサーバーのクラスターを構成し、1つのクライアントにマウント(テスト)します。 次の設定があります。
IP
| ホスト名
| 短い名前
|
192.168.1.100 | server1.example.com | server1 |
192.168.1.101 | server2.example.com | server2 |
192.168.1.102 | client1.example.com | client1 |
1.一般設定
まず、便宜上、各マシンのホストにすべてのアドレスを追加します。
root@server1:~
ファイアウォールを使用する場合、サーバーとして機能するすべてのマシン(この場合は2つ)でTCPポート111、24007-24050を開く必要があります。
2.サーバー側(クラスター)の構成
すべてのサーバーはgluster-serverをインストールする必要があります。 現時点では、最新バージョンは3.5.2です。 PPAリポジトリからインストールします。
root@server1:~
次に、いずれかのサーバーに接続してクラスターを作成します。
root@server1:~
ステータスを確認します。
root@server1:~
ご覧のとおり、server2がクラスターに追加され、そのステータスは接続済みです。 2番目のサーバーですべてが正常であることを確認することもできます。
root@server2:~
GlusterFSは、ボリュームで組み合わせた5種類のコンテンツ配信をサポートしています。
- 分散型
- 複製
- ストライプ(部分に分割)
- 分散ストライプ(分散および部分分割)
- 分散複製(分散および複製)
最初に、各タイプのコンテンツ配布を個別に構成してから、テストのために5つのボリュームすべてをクライアントにマウントします。
2.1分散ボリュームのセットアップ
この設定では、ボリューム内の各フォルダー間でデータがランダムに分散されます。
最初のサーバーでdist1、dist2パック、2番目のサーバーでdist3、dist4を作成しましょう。
root@server1:~
これで、ボリュームを作成して開始できます。
root@server1:~
2.2複製ボリュームの構成
この設定では、ボリューム内の各フォルダー(サーバー)間でデータがミラーリングされます(RAID1など)。 もちろん、ボリュームに含まれるフォルダー(サーバー)の数はレプリカの倍数でなければなりません。
最初のサーバーでrepl1、repl2パック、2番目のサーバーでrepl3、repl4を作成してみましょう。
root@server1:~
これで、ボリュームを作成して開始できます。
root@server1:~
この場合、すべてのファイルが4つのフォルダーすべてに複製されます。 つまり すべてのフォルダに同じコンテンツが含まれます。
2.3ストライプボリュームの設定
この設定では、ファイルはパーツに分割され、各ピースはボリュームに含まれる各フォルダーに保存されます。 このタイプのコンテンツ配信は、非常に大きなサイズの容量性データ(高品質のビデオコンテンツなど)の保存に適しています。 もちろん、ボリュームに含まれるフォルダーの数は、ストライプの値と同じでなければなりません。 つまり 5つのサーバーがある場合、ファイルは5つの部分に分割され、各ファイルは5つのサーバーすべてに保存されます。
最初のサーバーでstrip1、strip2パック、2番目のサーバーでstrip3、strip4を作成してみましょう。
root@server1:~
これで、ボリュームを作成して開始できます。
root@server1:~
この場合、4つのサーバー(フォルダー)のそれぞれに、アップロードされたファイルが1つあります。
2.4分散ストライプボリュームの構成
この設定では、ファイルは複数の部分に分割され、ファイルの一部はフォルダーに分散され、そのうちの1つに保存されます。 もちろん、ボリュームに含まれるフォルダーの数は、ストライプ値の倍数でなければなりません。 つまり 8台のサーバーがあり、ストライプ値が4の場合、ファイルは4つの部分に分割され、最初の4台のサーバーまたは次の4台のサーバーのいずれかに保存されます。 また、4台のサーバーがあり、ストライプが2の場合、ファイルは2つの部分に分割され、最初の2台または次の2台のサーバーに保存されます。
最初のサーバーでdist-strip1パック、dist-strip2パック、2番目のサーバーでdist-strip3、dist-strip4を作成しましょう。
root@server1:~
これで、ボリュームを作成して開始できます。 同時に、サーバーの順序は非常に大きな役割を果たします。ファイルの一部は、サーバーの最初のペア(ストライプ= 2)または最初の4つのサーバー(ストライプ= 4)に保存され、コンテンツは最初と2番目のペアまたは4とtの間で配信されます.p。
root@server1:~
2.5分散複製ボリュームの構成
この設定では、データはフォルダー間でランダムに分散され、各フォルダーには独自のミラーコピーがあります。 もちろん、ボリュームに含まれるフォルダーの数はレプリカ値の倍数でなければなりません。 つまり 4つのサーバーがあり、レプリカの値が2の場合、ファイルは2つのサーバーにランダムな順序で配布され、残りの2つのサーバーは最初の2つのコンテンツの同一のコピーを保存します。 8つのサーバーがあり、レプリカが4の場合、4つのサーバーのミラーが1つあります。
最初のサーバーでdist-repl1、dist-repl2パック、2番目のサーバーでdist-repl3、dist-repl4を作成します。
root@server1:~
これで、ボリュームを作成して開始できます。 同時に、サーバーのシーケンスは非常に大きな役割を果たします。順番に記録されるサーバーの最初のペア(4)は1つのレプリカです。 つまり 8つのサーバーがあり、レプリカが4の場合、最初の4つのサーバーには1つの同一コンテンツがあり、2番目の4つのサーバーには異なる同一コンテンツがあります。
root@server1:~
次に、作成したボリュームを確認します。
root@server1:~
ご覧のとおり、5種類のボリュームがあり、異なるタイプのコンテンツが配信されています。 クライアント側に行くことができます。
3.クライアント側の構成
すべてのクライアントで、ppaリポジトリからgluster-clientをインストールする必要があります。
root@client1:~
次に、作成したvolum-aの名前でネットワークフォルダーをマウントするだけです。 この場合、サーバーのIPまたはドメイン名は重要ではありません。 1つのクラスターに10個のサーバーを追加した場合、クライアントでは10個のIPのいずれかを使用してボールをマウントできますが、volum-aという名前は変わりません。
3.1分散ボリュームのマウントとテスト
クライアントに接続し、新しいディスク用のフォルダーを作成して、分散ボリュームをマウントします。
root@client1:~
ご覧のとおり、サイズが30 GB(ボリュームに含まれるすべてのサーバーの合計ディスクサイズ)の新しいネットワークドライブが正常にマウントされました。 次に、1ダースのファイルを作成します。
root@client1:~
コンテンツがサーバー間でどのように分散されるかを調べます。
root@server1:~
ご覧のとおり、ファイルは4つのフォルダーすべてに分散しており、それらは分散ボリュームに含まれていました。
3.2複製ボリュームのマウントとテスト
クライアントに接続し、新しいディスク用のフォルダーを作成し、複製されたボリュームをマウントします。
root@client1:~
ご覧のとおり、サイズが7.3 GBの新しいネットワークドライブ(ボリュームに含まれるすべてのサーバーの合計ディスクサイズをレプリカの数で割った値)が正常にマウントされました。 次に、1ダースのファイルを作成します。
root@client1:~
コンテンツがサーバー間でどのように分散されるかを調べます。
root@server1:~
ご覧のとおり、レプリケートされたボリュームの一部であるすべてのフォルダーでファイルがミラーリングされました。
3.3ストライプボリュームのマウントとテスト
クライアントに接続し、新しいディスク用のフォルダーを作成して、ストライプボリュームをマウントします。
root@client1:~
ご覧のとおり、サイズが30 GB(ボリュームに含まれるすべてのサーバーの合計ディスクサイズ)の新しいネットワークドライブが正常にマウントされました。 次に、いくつかの大きなファイルを作成し、フォルダーにコピーします。
root@client1:~
ご覧のとおり、フォルダーには300Mbのサイズの2つのファイルがあります。 次に、コンテンツがサーバー間でどのように分散されているかを見てみましょう。
root@server1:~
ご覧のとおり、ファイルは75 MBの均等な部分に分割され、ストライプボリュームの一部である4つのフォルダーすべてに散らばっています。
3.4分散ストライプボリュームのマウントとテスト
クライアントに接続し、新しいディスク用のフォルダーを作成し、分散ストライプボリュームをマウントします。
root@client1:~
ご覧のとおり、サイズが30 GB(ボリュームに含まれるすべてのサーバーの合計ディスクサイズ)の新しいネットワークドライブが正常にマウントされました。 次に、いくつかの大きなファイルを作成し、フォルダーにコピーします。
root@client1:~
ご覧のとおり、フォルダーには300Mbのサイズの2つのファイルがあります。 次に、コンテンツがサーバー間でどのように分散されているかを見てみましょう。
root@server1:~
ご覧のとおり、ファイルはさまざまなフォルダーに分散され、150 MBの均等な部分に分割されました。
3.5分散複製ボリュームのマウントとテスト
クライアントに接続し、新しいディスク用のフォルダーを作成して、分散複製ボリュームをマウントします。
root@client1:~
ご覧のとおり、新しい15GBネットワークドライブ(ボリュームに含まれるすべてのサーバーの合計ディスクサイズをレプリカの数で割った値)が正常にマウントされました。 次に、1ダースのファイルを作成します。
root@client1:~
コンテンツがサーバー間でどのように分散されるかを調べます。
root@server1:~
ご覧のとおり、最初のサーバーのコンテンツは、フォルダーに散在する2番目のサーバーと同じです。
4.結論
実際の状態では、各フォルダは個別にマウントされたディスクである必要があります(ルートファイルシステムではありません)。 これで、glusterFSで使用されるあらゆる種類のコンテンツ配信に精通しました。
GlusterFSは基本的なセットアップを備えたローカルネットワークで良好に機能します。各国に分散したデータセンターにアクセスする場合、サーバー側とクライアントのマウントの両方で設定を構成する必要があります。これについては次の記事で説明します。