もっと詳しく

Ubuntu 22.04 /Ubuntu20.04にGlusterFSをインストールしてセットアップする方法に関するガイドへようこそ。 では、GlusterFSとは何ですか? GlusterFSは、さまざまなディスクストレージリソースを単一のグローバル名前空間にクラスター化する、オープンソースの分散型でスケーラブルなネットワークファイルシステムです。 GlusterFSは、クラウドストレージやメディアストリーミングなどのデータ集約型タスクに適しています。

Ubuntu 22.04 /Ubuntu20.04にGlusterFSをインストールしてセットアップする

GlusterFSのセットアップ中に、 さまざまなタイプのボリュームアーキテクチャ あなたが考慮したいかもしれません。 これらには以下が含まれます。

  • 分散型GlusterFSボリューム
  • 複製されたGlusterFSボリューム
  • 分散複製されたGlusterFSボリューム
  • ストライプのGlusterFSボリューム
  • 分散型ストライプGlusterFSボリューム

Ubuntu 22.04 /Ubuntu20.04で分散GlusterFSボリュームをセットアップする方法

このガイドでは、セットアップ方法を学習します distributed GlusterFS。 分散ボリュームでは、ファイルAが一方のボリュームに格納され、ファイルBがもう一方のボリュームに格納されるように、ファイルはボリューム内のさまざまなブリックに分散されます。 このアーキテクチャの目的は、ボリュームサイズを安価にスケーリングすることです。 ただし、冗長性は提供されず、ボリュームに障害が発生すると、そのボリュームに格納されているデータが完全に失われます。

その結果、私たちの環境は2つのストレージノードと1つのクライアントで構成されています。 詳細は以下のとおりです。

  • ストレージノード1:
    • ホスト名:gfs01.kifarunix-demo.com
    • IPアドレス:192.168.57.6
    • Glusterストレージディスク:/ dev / sdb1
    • サイズ:4GB
    • マウントポイント:/ gfsvolume
    • OS:Ubuntu 22.04 / Ubuntu 20.04
  • ストレージノード2:
    • ホスト名:gfs02.kifarunix-demo.com
    • IPアドレス:192.168.56.124
    • Glusterストレージディスク:/ dev / sdb1
    • サイズ:4GB
    • マウントポイント:/ gfsvolume
    • OS:Ubuntu 22.04 / Ubuntu 20.04
  • GlusterFSクライアント:
    • ホスト名:gfsclient.kifarunix-demo.com
    • IPアドレス:192.168.43.197
    • OS:Ubuntu 22.04 / Ubuntu 20.04

ホスト名が解決可能であることを確認してください。 DNSサーバーがない場合は、それに応じて各サーバーのhostsファイルにデータを入力し、ホスト名を介して3つのサーバーにアクセスできるようにします。

考慮すべきもう1つのことは、NTPサーバーです。 3台のサーバーの時刻が同期されていることを確認します。

システムパッケージを更新およびアップグレードします。

apt update

Ubuntu 22.04 /Ubuntu20.04ノードにGlusterFSサーバーをインストールします

GlusterFSパッケージは、デフォルトのUbuntu 22.04 /Ubuntu20.04で利用できます。 以下のコマンドを実行して、GlusterFSサーバーをインストールします。

apt install glusterfs-server

GlusterFSサーバーを起動して有効にします(glusterd)システムブートで実行する。

systemctl enable --now glusterd

ステータスを確認してください。

systemctl status glusterd
● glusterd.service - GlusterFS, a clustered file-system server
     Loaded: loaded (/lib/systemd/system/glusterd.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2022-06-02 17:59:13 UTC; 11s ago
       Docs: man:glusterd(8)
    Process: 3346 ExecStart=/usr/sbin/glusterd -p /var/run/glusterd.pid --log-level $LOG_LEVEL $GLUSTERD_OPTIONS (code=exited, status=0/SUCCESS)
   Main PID: 3347 (glusterd)
      Tasks: 9 (limit: 2241)
     Memory: 7.1M
        CPU: 1.394s
     CGroup: /system.slice/glusterd.service
             └─3347 /usr/sbin/glusterd -p /var/run/glusterd.pid --log-level INFO

Jun 02 17:59:11 gfs02.kifarunix-demo.com systemd[1]: Starting GlusterFS, a clustered file-system server...
Jun 02 17:59:13 gfs02.kifarunix-demo.com systemd[1]: Started GlusterFS, a clustered file-system server.

Ubuntu 22.04 /Ubuntu20.04で分散GlusterFSボリュームをセットアップする

  • ファイアウォールでGlusterFSポートを開く

ファイアウォールが実行されている場合は、以下のコマンドを実行して、GlusterストレージノードがGlusterデーモンサービスポート24007/TCPを介して相互に通信できるようにします。

ufw allow from <other-node-IP> to any port 24007 proto tcp comment "GlusterFS Management"

iptablesを使用している場合;

iptables -A INPUT -s <other-node-IP> -p tcp --dport 24007 -j ACCEPT -m comment --comment "GlusterFS Management"
cp /etc/iptables/rules.v4{,.old}
iptables-save > /etc/iptables/rules.v4

また、GlusterFSクライアントがGlusterFSデーモンに接続できるようにします。

ufw allow from <Client-IP> to any port 24007 proto tcp comment "GlusterFS Client Access"
  • GlusterFSトラステッドプールを設定する

GlusterFSノード間に信頼できるストレージプールを作成するには、以下に示すようにGlusterFSNode01からプローブを実行します。

gluster peer probe gfs02.kifarunix-demo.com

サンプル出力;

peer probe: success.

上で作成したトラステッドプールのステータスを確認するには、以下のコマンドを実行します。

gluster peer status
Number of Peers: 1

Hostname: gfs02.kifarunix-demo.com
Uuid: b81803a8-893a-499e-9a87-6bac00a62822
State: Accepted peer request (Connected)

あなたが取得する場合 State: Peer Rejected (Connected)、解決策を参照してください ここ

2番目のノードからの出力。

Number of Peers: 1

Hostname: gfs01.kifarunix-demo.com
Uuid: 26fe538a-91c2-42a1-b34a-67c2c94c7492
State: Peer in Cluster (Connected)

ストレージプールを一覧表示するには;

gluster pool list
UUID					Hostname                	State
b81803a8-893a-499e-9a87-6bac00a62822	gfs02.kifarunix-demo.com	Connected 
26fe538a-91c2-42a1-b34a-67c2c94c7492	localhost               	Connected
  • 分散GlisterFSボリュームの作成

上のGlusterFSストレージデバイスマウントポイントにGlusterFSボリューム用のブリックディレクトリを作成します 両方 ストレージノード。

レンガは 信頼できるストレージプール内のサーバー上のエクスポートディレクトリで表される、GlusterFSのストレージの基本単位。 ブリックは、サーバーとエクスポートディレクトリを次の形式で組み合わせることで表現されます。 `SERVER:EXPORT`例:` myhostname:/ exports / myexportdir / `

したがって、 両方 ノード、ブリックディレクトリを作成します。

mkdir /gfsvolume/gv0

GlusterFSディスク/dev/sdb1が/gfsvolumeディレクトリにマウントされていることに注意してください。

df -hT -P /gfsvolume

サンプル出力;

Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/sdb1      ext4  3.9G   24K  3.7G   1% /gfsvolume

次に、という分散ボリュームを作成します distributed_vol ノード上。 名前は何でもかまいません!

このコマンドをいずれかのノードで1回実行します。

gluster volume create distributed_vol transport tcp gfs01:/gfsvolume/gv0 gfs02:/gfsvolume/gv0

サンプル出力;

 volume create: distributed_vol: success: please start the volume to access data
  • 作成したボリュームを起動します。

これで、作成したボリュームブリックを開始できます。

gluster volume start distributed_vol

サンプル出力;

volume start: distributed_vol: success
  • 作成したボリュームに関する情報を表示します。

以下のコマンドを使用して、作成されたブリックボリュームに関する情報を表示できます。

gluster volume info
 
Volume Name: distributed_vol
Type: Distribute
Volume ID: 98519652-97a2-4fb8-bd1a-9b6a83d8936e
Status: Started
Snapshot Count: 0
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: gfs01:/gfsvolume/gv0
Brick2: gfs02:/gfsvolume/gv0
Options Reconfigured:
transport.address-family: inet
storage.fips-mode-rchecksum: on
nfs.disable: on
  • GlusterFSボリュームステータスを取得します。
gluster volume status
Status of volume: distributed_vol
Gluster process                             TCP Port  RDMA Port  Online  Pid
------------------------------------------------------------------------------
Brick gfs01:/gfsvolume/gv0                  49152     0          Y       6110 
Brick gfs02:/gfsvolume/gv0                  60116     0          Y       4501 
 
Task Status of Volume distributed_vol
------------------------------------------------------------------------------
There are no active volume tasks
  • ファイアウォールでGlusterFSボリュームポートを開く

クライアントが作成されたボリュームに接続するには、ファイアウォールでそれぞれのノードボリュームポートを開く必要があります。 ポートは上に示されています。

たとえば、GlusterFSノード01で、ポート49152を開いて、クライアントがボリュームをマウントできるようにします。

ufw allow from <Client-IP-or-Network> to any port 49152 proto tcp comment "GlusterFS Client Access"

ノード02;

ufw allow from <Client-IP-or-Network> to any port 60116 proto tcp comment "GlusterFS Client Access"

Ubuntu 22.04 /Ubuntu20.04クライアントにGlusterFSクライアントをインストールします

Ubuntu 22.04 / Ubuntu 20.04で、コマンドを実行してGlusterFSクライアントをUbuntu 22.04 /Ubuntu20.04にインストールします。

apt update
apt install glusterfs-client
  • GlusterFSボリュームをGlusterFSクライアントにマウントします

ネイティブのGlusterFSクライアントを使用してGlusterFSノードをマウントします。

マウントポイントを作成します

mkdir /mnt/gfsvol

分散ボリュームをマウントします。 ドメイン名を使用する場合は、それらが解決可能であることを確認してください。

mount -t glusterfs gfs01:/distributed_vol /mnt/gfsvol/

dfコマンドを実行して、マウントされたファイルシステムを確認します。

df -hTP /mnt/gfsvol/
Filesystem             Type            Size  Used Avail Use% Mounted on
gfs01:/distributed_vol fuse.glusterfs  7.8G   97M  7.3G   2% /mnt/gfsvol

他のクライアントから、他のノードにボリュームをマウントできます。

mount -t glusterfs gfs02:/distributed_vol /mnt/gfsvol/

システム起動時にボリュームを自動マウントするには、以下の行をに追加する必要があります。 /etc/fstab

gfs01:/distributed_vol /mnt/gfsvol glusterfs defaults,_netdev 0 0

データ分散をテストするには、クライアントで2つのテストファイルを作成します。 ファイルの1つは、一方のボリュームに保存され、もう一方のファイルはもう一方のボリュームに保存されます。 以下の例を参照してください。

mkdir /mnt/gfsvol/Test-dir
touch /mnt/gfsvol/Test-dir/{test-file,test-file-two}

node01を確認できる場合は、

ls /gfsvolume/gv0/Test-dir/
test-file-two

node02では、

ls /gfsvolume/gv0/Test-dir/
test-file

これで、Ubuntu 22.04 / Ubuntu 20.04にGlusterFSをインストールしてセットアップする方法、特に分散型GlusterFSボリュームをセットアップする方法に関するガイドは終わりです。 次のチュートリアルでは、複製されたGlusterFSボリュームをセットアップする方法を学習します。

その他のチュートリアル

RockyLinux8にNFSサーバーをインストールして構成する

Ubuntu22.04にSambaファイルサーバーを簡単にインストールして構成する

The post Ubuntu 22.04 /Ubuntu20.04にGlusterFSをインストールしてセットアップする appeared first on Gamingsym Japan.