
テクノロジーの世界では、アプリケーション/ユーザーがデータにアクセスできるようにするために、データを高可用性に保つことが常に重要です。ここでは、データを複数のボリューム/ノードに分散することで高可用性を実現しています。
クライアントマシン/ユーザーは、ローカルストレージのようにストレージにアクセスできます。ユーザーがGlusterストレージにデータを作成するたびに、データは他のストレージノードにミラーリング/配布されます。
GlusterFSとは何ですか?
GlusterFSは、メディアストリーミング、クラウドストレージ、CDN(コンテンツ配信ネットワーク)などのデータ集約型のワークロードに適した、オープンソースのスケーラブルなネットワークファイルシステムです。 GlusterFSは、最初はGluster Incによって開発され、その後、買収の結果としてRedhatによって開発されました。
用語:
以下は、この記事全体で使用する重要な用語です。
レンガ –は、信頼できるストレージプール内のサーバー上の基本ストレージ(ディレクトリ)です。
ボリューム –はレンガの論理的なコレクションです。
クラスター –は、リンクされたコンピューターのグループであり、単一のコンピューターとして連携して動作します。
分散ファイルシステム –データが複数のストレージノードに分散され、クライアントがネットワーク経由でデータにアクセスできるようにするファイルシステム。
クライアント –ボリュームをマウントするマシンです。
サーバー –は、データが保存される実際のファイルシステムがホストされているマシンです。
複製 –高い冗長性を実現するために、データの複数のコピーを作成します。
ヒューズ –は、非特権ユーザーがカーネルコードを編集せずに独自のファイルシステムを作成できるようにするロード可能なカーネルモジュールです。
glusterd –は、信頼できるストレージプール内のすべてのサーバーで実行されるデーモンです。
RAID – Redundant Array of Inexpensive Disks(RAID)は、冗長性によってストレージの信頼性を向上させるテクノロジーです。
ボリューム:
前述のように、ボリュームはブリックのコレクションであり、読み取りや書き込みなどのほとんどのgluster操作はボリューム上で行われます。 GlusterFSは、要件に基づいてさまざまなタイプのボリュームをサポートします。ストレージサイズのスケーリング、パフォーマンスの向上、またはその両方に適しています。
この記事では、CentOS 7 /RHEL7でレプリケートされたGlusterFSボリュームを構成します。
複製されたGlusterfsボリューム RAID 1のようなものです 、およびボリュームは、すべてのブリックのデータの正確なコピーを維持します。ボリュームの作成中にレプリカの数を決定できるため、2つのレプリカでボリュームを作成するには少なくとも2つのブリックが必要であり、3つのレプリカのボリュームを作成するには3つのブリックが必要です。
このボリュームは、より優れたデータの信頼性とデータの冗長性を提供します。残りの種類のGlusterFSボリュームについて読んでみませんか。
要件:
ここでは、2つのレプリカを使用してGlusterFSボリュームを構成します。 1GBのメモリを搭載した64ビットシステム(仮想または物理)が2つあり、各システムに予備のハードディスクが1つあることを確認してください。
ホスト名 | IPアドレス | OS | メモリ | ディスク | 目的 |
---|---|---|---|---|---|
gluster1.itzgeek.local | 192.168.12.16 | CentOS 7 | 1GB | / dev / sdb(5GB) | ストレージノード1 |
gluster2.itzgeek.local | 192.168.12.17 | RHEL 7 | 1GB | / dev / sdb(5GB) | ストレージノード2 |
client.itzgeek.local | 192.168.12.8 | Ubuntu 16.04 | NA | NA | クライアントマシン |
DNSの構成:
GlusterFSコンポーネントは名前の解決にDNSを使用するため、DNSを構成するか、ホストエントリを設定します。ご使用の環境にDNSがない場合は、/ etc / hostsファイルを変更し、それに応じて更新してください。
sudo vi /etc/hosts192.168.12.16 gluster1.itzgeek.local gluster1192.168.12.17 gluster2.itzgeek.local gluster2192.168.12.20 client.itzgeek.local client
GlusterFSリポジトリの追加:
インストールに進む前に、両方のストレージノードでGlusterFSリポジトリを構成する必要があります。指示に従って、リポジトリをシステムに追加します。
RHEL 7:
RHEL7にGlusterリポジトリを追加します。
vi /etc/yum.repos.d/Gluster.repo [gluster38] name =Gluster 3.8baseurl =http://mirror.centos.org/centos/7/storage/$basearch/gluster-3.8/gpgcheck =0enabled =1
CentOS 7:
centos-release-glusterパッケージをインストールすると、必要なYUMリポジトリファイルが提供されます。このRPMはCentOSExtrasから入手できます。
yum install -y centos-release-gluster
GlusterFSのインストール:
システムにリポジトリを追加したら、GlusterFSのインストールに取り掛かることができます。次のコマンドを使用してGlusterFSパッケージをインストールします。
yum install -y glusterfs-server
すべてのglusterノードでglusterdサービスを開始します。
systemctl start glusterd
glusterfsサービスが正常に実行されていることを確認します。
[root @ gluster1〜]#systemctl statusglusterd●glusterd.service-クラスター化されたファイルシステムサーバーであるGlusterFSロード済み:ロード済み(/usr/lib/systemd/system/glusterd.service;無効;ベンダープリセット:無効)アクティブ:2016年9月27日火曜日16:00:19 EDT以降アクティブ(実行中)。 1秒前プロセス:4072 ExecStart =/ usr / sbin / glusterd -p /var/run/glusterd.pid --log-level $ LOG_LEVEL $ GLUSTERD_OPTIONS(code =exited、status =0 / SUCCESS)メインPID:4073(glusterd) CGroup:/system.slice/glusterd.service└─4073/usr / sbin / glusterd -p /var/run/glusterd.pid --log-level INFOSep 27 16:00:19 gluster1.itzgeek.local systemd [1] :クラスター化されたファイルシステムサーバーであるGlusterFSを起動しています...9月27日16:00:19gluster1.itzgeek.local systemd [1]:クラスター化されたファイルシステムサーバーであるGlusterFSを起動しました。
glusterdがシステムの起動時に自動的に起動するようにします。
systemctl enable glusterd
ファイアウォールの構成:
ファイアウォールを無効にする必要があります またはファイアウォールを構成する クラスタ内のすべての接続を許可します。
デフォルトでは、glusterdはtcp / 24007でリッスンしますが、そのポートを開くだけではglusterノードでは十分ではありません。ブリックを追加するたびに、新しいポートが開きます(「glustervolumesstatus」で確認できます)。#FirewallDsystemctlを無効にします。firewalldsystemctlを無効にします。firewalldOR#を無効にします。ソースipfirewall-cmd--zone =public --add-rich-rule ='rule family ="ipv4" source address =""accept'firewall-cmd--reload<からのすべてのトラフィックを受け入れたい/ pre> ストレージの追加:
マシンに予備のハードディスクが1台あるとすると、 / dev / sdb ここでレンガに使用するものです。以下に示すように、スペアハードディスクに単一のパーティションを作成します。
両方のノードで以下の手順を実行する必要があります。
fdisk / dev / sdb![]()
作成したパーティションを選択したファイルシステムでフォーマットします。
mkfs.ext4 / dev / sdb1/ data / glusterというディレクトリにディスクをマウントします 。
mkdir -p / data / glustermount / dev / sdb1 / data / gluster/ etc / fstabにエントリを追加します 再起動後もマウントを永続的に保つため。
echo "/ dev / sdb1 / data / gluster ext4 defaults 0 0" | tee --append / etc / fstabページ:1 2
Cent OS