GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS 7 /RHEL7でGlusterFSストレージをセットアップする方法

GlusterFSは、ネットワーク上の物理サーバー、仮想サーバー、およびクラウドサーバーで使用できる無料のオープンソースファイルおよびオブジェクトストレージソリューションです。 GlusterFSの主な利点は、ダウンタイムなしでストレージを数ペタバイトまでスケールアップまたはスケールアウトできることです。また、ストレージの冗長性と高可用性も提供します。

GluserFSを使用する場所…?

GllusterFSベースのストレージは、ネットワーク上の物理サーバー、仮想サーバー、およびクラウドサーバーで使用できます。

また、マルチメディアやその他のコンテンツをインターネットユーザーに提供し、数百テラバイトのファイルを処理する必要があった企業でも使用できます。

GlusterFSは、プライベートクラウドとパブリッククラウドのオブジェクトストレージとしても使用できます。

GlusterFSストレージで使用されるさまざまな用語:

  • 信頼できるストレージプール :相互に信頼し、ストレージクラスタを形成する複数のサーバーのグループです。
  • ノード :ノードは、信頼できるストレージプールに参加するストレージサーバーです
  • レンガ :ブリックは、フォルダまたはディレクトリにマウントされたLVMベースのXFS(512バイトiノード)ファイルシステムです。
  • ボリューム :ボリュームは、ネットワークを介してクライアントに提示または共有されるファイルシステムです。ボリュームは、glusterfs、nfs、およびsmbsメソッドを使用してマウントできます。
GlusterFSを使用して構成できるさまざまなタイプのボリューム:
  • ボリュームの配布 :ボリュームの作成時にオプションが指定されていない場合に作成されるデフォルトのボリュームです。このタイプのボリュームファイルでは、エラスティックハッシュアルゴリズムを使用してブリック全体にファイルが配布されます
  • ボリュームの複製 :名前が示すように、このタイプのボリュームファイルはブリック間で複製またはミラーリングされます。つまり、あるブリックで書き込まれたファイルは別のブリックにも複製されます。
  • ストライプボリューム: このタイプのボリュームでは、大きなファイルがチャンクにカットまたは分割されてから、ブリック全体に分散されます。
  • 複製ボリュームの配布 :名前が示すように、ボリュームファイルの種類では、最初にブリック間でファイルが分散され、次に別のブリックに複製されます。

ただし、他の組み合わせで、ストライプ複製などのさまざまなボリュームを形成することもできます。

この記事では、RHEL7.xおよびCentOS7.xでGlusterFSストレージをセットアップする方法を示します。私の場合、最小限のインストールで4台のRHEL 7 / CentOS 7サーバーを使用し、glustesfsのセットアップのためにこれらのサーバーに追加のディスクが接続されていると想定しています。

  • server1.example.com(192.168.43.10)
  • server2.example.com(192.168.43.20)
  • server3.example.com(192.168.43.30)
  • server4.example.com(192.168.43.40)

独自のdnsサーバーがある場合は、/ etc/hostsファイルに次の行を追加します。

192.168.43.10  server1.example.com server1
192.168.43.20  server2.example.com server2
192.168.43.30  server3.example.com server3
192.168.43.40  server4.example.com server4

すべてのサーバーにGlusterfsサーバーパッケージをインストールします。

GlusterfsパッケージはデフォルトのcentosおよびRHELリポジトリに含まれていないため、glusterリポジトリとEPELリポジトリをセットアップします。 4台のサーバーすべてで次のコマンドを次々に実行します。

~]# yum install wget
~]# yum install centos-release-gluster -y
~]#yum install epel-release -y
~]# yum install glusterfs-server -y

4台のサーバーすべてでGlusterFSサービスを開始して有効にします。

~]# systemctl start glusterd
~]# systemctl enable glusterd

サーバーが通信してストレージクラスター(信頼できるプール)を形成できるように、ファイアウォールのポートを許可します。 4台のサーバーすべてで以下のコマンドを実行します。

~]# firewall-cmd --zone=public --add-port=24007-24008/tcp --permanent
~]# firewall-cmd --zone=public --add-port=24009/tcp --permanent
~]# firewall-cmd --zone=public --add-service=nfs --add-service=samba --add-service=samba-client --permanent
~]# firewall-cmd --zone=public --add-port=111/tcp --add-port=139/tcp --add-port=445/tcp --add-port=965/tcp --add-port=2049/tcp --add-port=38465-38469/tcp --add-port=631/tcp --add-port=111/udp --add-port=963/udp --add-port=49152-49251/tcp --permanent
~]# firewall-cmd --reload

ボリューム設定の配布:

サーバー1とサーバー2で構成される信頼できるストレージプールを形成し、その上にブリックを作成し、その後、分散ボリュームを作成します。また、16 GB(/ dev / sdb)のrawディスクが両方のサーバーに割り当てられていると想定しています。

サーバー1コンソールから以下のコマンドを実行して、サーバー2との信頼できるストレージプールを形成します。

[[email protected] ~]# gluster peer probe server2.example.com
peer probe: success.
[[email protected] ~]#

以下のコマンドを使用してピアのステータスを確認できます:

[[email protected] ~]# gluster peer status
Number of Peers: 1

Hostname: server2.example.com
Uuid: 9ef0eff2-3d96-4b30-8cf7-708c15b9c9d0
State: Peer in Cluster (Connected)
[[email protected] ~]#

サーバー1でブリックを作成

最初にブリックを作成するには、rawディスク(/ dev / sdb)に論理ボリュームをプロビジョニングするものをセットアップする必要があります。

サーバー1で次のコマンドを実行します

[[email protected] ~]# pvcreate /dev/sdb /dev/vg_bricks/dist_brick1 /bricks/dist_brick1 xfs rw,noatime,inode64,nouuid 1 2
[[email protected] ~]# vgcreate vg_bricks /dev/sdb
[[email protected] ~]# lvcreate -L 14G -T vg_bricks/brickpool1

上記のコマンドでは、brickpool1はシンプールの名前です。

次に、3GBの論理ボリュームを作成します

[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool1 -n dist_brick1

次に、xfsファイルシステムを使用して論理ボリュームをフォーマットします

[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/dist_brick1
[[email protected] ~]# mkdir -p /bricks/dist_brick1

マウントコマンドを使用してレンガをマウントします

[[email protected] ~]# mount /dev/vg_bricks/dist_brick1 /bricks/dist_brick1/

恒久的にマウントするには、/ etc / fsatb

に次の行を追加します
/dev/vg_bricks/dist_brick1 /bricks/dist_brick1 xfs rw,noatime,inode64,nouuid 1 2

マウントポイントの下にブリックでディレクトリを作成します

[[email protected] ~]# mkdir /bricks/dist_brick1/brick

同様に、サーバー2で次の一連のコマンドを実行します

[[email protected] ~]# pvcreate /dev/sdb ; vgcreate vg_bricks /dev/sdb
[[email protected] ~]# lvcreate -L 14G -T vg_bricks/brickpool2
[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool2 -n dist_brick2
[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/dist_brick2
[[email protected] ~]# mkdir -p /bricks/dist_brick2
[[email protected] ~]# mount /dev/vg_bricks/dist_brick2 /bricks/dist_brick2/
[[email protected] ~]# mkdir /bricks/dist_brick2/brick

以下のglusterコマンドを使用して分散ボリュームを作成します :

[[email protected] ~]# gluster volume create distvol server1.example.com:/bricks/dist_brick1/brick server2.example.com:/bricks/dist_brick2/brick
[[email protected] ~]# gluster volume start distvol
volume start: distvol: success
[[email protected] ~]#

次のコマンドを使用して、ボリュームのステータスを確認します:

[[email protected] ~]# gluster volume info distvol

クライアントにボリュームをマウントする:

glusterfsを使用してボリュームをマウントする前に、まずglusterfs-fuseパッケージがクライアントにインストールされていることを確認する必要があります。また、ローカルDNSサーバーがない場合に備えて、/ etc/hostsファイルにglusterストレージサーバーのエントリを追加してください。

クライアントにログインし、コンソールから以下のコマンドを実行してglusterfs-fuseをインストールします

[[email protected] ~]# yum install glusterfs-fuse -y

ボリュームを配布するためのマウントを作成します:

[[email protected] ~]# mkdir /mnt/distvol

次に、「 distvol」をマウントします ‘以下のマウントコマンドを使用:

[[email protected] ~]# mount -t glusterfs -o acl server1.example.com:/distvol /mnt/distvol/

永続マウントの場合は、/ etc/fstabファイルに以下のエントリを追加します

server1.example.com:/distvol   /mnt/distvol    glusterfs     _netdev    0 0

dfコマンドを実行して、ボリュームのマウント状態を確認します。

次に、ボリューム「 distvol」へのアクセスを開始します 」

ボリューム設定の複製:

レプリケートボリュームのセットアップでは、サーバー3とサーバー4を使用し、glusterfs用の追加のディスク(/ dev / sdb)が既にサーバーに割り当てられていると想定しています。次の手順を参照してください:

信頼できるストレージプールにサーバー3とサーバー4を追加します

[[email protected] ~]# gluster peer probe server3.example.com
peer probe: success.
[[email protected] ~]# gluster peer probe server4.example.com
peer probe: success.
[[email protected] ~]#

ブリックを作成してサーバー3にマウントします。以下のコマンドを次々に実行します。

[[email protected] ~]# pvcreate /dev/sdb ; vgcreate vg_bricks /dev/sdb
[[email protected] ~]# lvcreate -L 14G -T vg_bricks/brickpool3
[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool3 -n shadow_brick1
[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/shadow_brick1
[[email protected] ~]# mkdir -p /bricks/shadow_brick1
[[email protected] ~]# mount /dev/vg_bricks/shadow_brick1 /bricks/shadow_brick1/
[[email protected] ~]# mkdir /bricks/shadow_brick1/brick

ブリックパーマネントマウントについては、/ etc / fstabファイルで以下のエントリを実行してください:

/dev/vg_bricks/shadow_brick1  /bricks/shadow_brick1/  xfs  rw,noatime,inode64,nouuid 1 2

同様に、ブリックを作成してマウントするためにサーバー4で同じ手順を実行します:

[[email protected] ~]# pvcreate /dev/sdb ; vgcreate vg_bricks /dev/sdb
[[email protected] ~]# lvcreate -L 14G -T vg_bricks/brickpool4
[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool4 -n shadow_brick2
[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/shadow_brick2
[[email protected] ~]# mkdir -p /bricks/shadow_brick2
[[email protected] ~]# mount /dev/vg_bricks/shadow_brick2 /bricks/shadow_brick2/
[[email protected] ~]# mkdir /bricks/shadow_brick2/brick

れんがを恒久的に取り付けるには、fstabエントリを実行します。

複製ボリュームを作成する 以下のglusterコマンドを使用します 。

[[email protected] ~]# gluster volume create shadowvol replica 2 server3.example.com:/bricks/shadow_brick1/brick server4.example.com:/bricks/shadow_brick2/brick
volume create: shadowvol: success: please start the volume to access data
[[email protected] ~]# gluster volume start shadowvol
volume start: shadowvol: success
[[email protected] ~]#

以下のglusterコマンドを使用してボリューム情報を確認します:

[[email protected] ~]# gluster volume info shadowvol

このボリュームにアクセスしたい場合は「shadowvol 」nfs経由で次のように設定します:

[[email protected] ~]# gluster volume set shadowvol nfs.disable off

nfsを介してクライアントにReplicateボリュームをマウントします

マウントする前に、まずマウントポイントを作成します。

[[email protected] ~]# mkdir /mnt/shadowvol

注:glusterストレージの制限の1つは、GlusterFSサーバーがバージョン3のNFSプロトコルのみをサポートすることです。

以下のエントリをファイル「/etc/nfsmount.conf」に追加します 」両方のストレージサーバー(サーバー3とサーバー4)

Defaultvers =3

上記のエントリを作成した後、両方のサーバーを1回再起動します。以下のmountコマンドを使用して、ボリューム「 shadowvol

[[email protected] ~]# mount -t nfs -o vers=3 server4.example.com:/shadowvol /mnt/shadowvol/

永続マウントの場合は、/ etc/fstabファイルに次のエントリを追加します

server4.example.com:/shadowvol  /mnt/shadowvol/  nfs vers=3  0 0

ボリュームのサイズと取り付けステータスを確認します:

[[メール保護]〜]#df -Th

配布-ボリューム設定の複製:

Distribute-Replicateボリュームを設定するために、各サーバーから1つのブリックを使用して、ボリュームを形成します。それぞれのサーバー上の既存のシンプールから論理ボリュームを作成します。

以下のコマンドを使用して、4つのサーバーすべてにブリックを作成します

サーバー1

[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool1 -n prod_brick1
[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/prod_brick1
[[email protected] ~]# mkdir -p /bricks/prod_brick1
[[email protected] ~]# mount /dev/vg_bricks/prod_brick1 /bricks/prod_brick1/
[[email protected] ~]# mkdir /bricks/prod_brick1/brick

サーバー2

[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool2 -n prod_brick2
[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/prod_brick2
[[email protected] ~]# mkdir -p /bricks/prod_brick2
[[email protected] ~]# mount /dev/vg_bricks/prod_brick2 /bricks/prod_brick2/
[[email protected] ~]# mkdir /bricks/prod_brick2/brick

サーバー3

[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool3 -n prod_brick3
[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/prod_brick3
[[email protected] ~]# mkdir -p /bricks/prod_brick3
[[email protected] ~]# mount /dev/vg_bricks/prod_brick3 /bricks/prod_brick3/
[[email protected] ~]# mkdir /bricks/prod_brick3/brick

サーバー4

[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool4 -n prod_brick4
[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/prod_brick4
[[email protected] ~]# mkdir -p /bricks/prod_brick4
[[email protected] ~]# mount /dev/vg_bricks/prod_brick4 /bricks/prod_brick4/
[[email protected] ~]# mkdir /bricks/prod_brick4/brick

次に、「 dist-rep-vol」という名前のボリュームを作成します 」以下のglusterコマンドを使用:

[[email protected] ~]# gluster volume create dist-rep-vol replica 2 server1.example.com:/bricks/prod_brick1/brick server2.example.com:/bricks/prod_brick2/brick server3.example.com:/bricks/prod_brick3/brick server4.example.com:/bricks/prod_brick4/brick force
[[email protected] ~]# gluster volume start dist-rep-vol

以下のコマンドを使用してボリューム情報を確認します:

[[email protected] ~]# gluster volume info dist-rep-vol

このボリュームでは、最初のファイルが任意の2つのブリックに配布され、次にファイルが残りの2つのブリックに複製されます。

次に、このボリュームをglusterを介してクライアントマシンにマウントします

まず、このボリュームのマウントポイントを作成しましょう:

[[email protected] ~]# mkdir  /mnt/dist-rep-vol
[[email protected] ~]# mount.glusterfs server1.example.com:/dist-rep-vol /mnt/dist-rep-vol/

永続的なエントリのためにfstabに以下のエントリを追加します

server1.example.com:/dist-rep-vol /mnt/dist-rep-vol/  glusterfs   _netdev 0 0

dfコマンドを使用してサイズとボリュームを確認します:

それでおしまい。 glusterストレージの構成手順を楽しんでいただけたでしょうか。


Cent OS
  1. CentOS 7 /RHEL7でSysLogサーバーをセットアップする方法

  2. CentOS/RHEL で mutt をセットアップする方法

  3. CentOS/RHEL 7 で squid プロキシ サーバーをセットアップする方法

  1. CentOS 7 /RHEL7でNFSサーバーをセットアップする方法

  2. CentOS 7 /RHEL7でIcingaWeb2をセットアップする方法

  3. CentOS、RHEL、FedoraでSVNサーバーをセットアップする方法

  1. RHEL 8 /CentOS8にphpMyAdminをインストールする方法

  2. CentOS 7 / RHEL 7にKubernetes(k8s)1.7をインストールする方法

  3. RHEL 8 /CentOS8でマルチノードElasticStackClusterをセットアップする方法