FreeBSD 11.1の分散ファイルストレージとしてGlusterFSを使用したいので、ドキュメントが貧弱なので、ネット上のいくつかのハウツーに従いました。 glusterfsボリュームを作成することはできましたが、他のクライアントマシンにマウントするのに問題があります。これが私がこれまでにしたことです:
3つのホストがあり、すべて同じサブネットにあります。
10.0.0.21 Webserver
10.0.0.31 gluster1
10.0.0.32 gluster2
3つのホストすべての/ etc/hostsファイルに上記のエントリを追加しました。
Gluster1とgluster2の/etc/rc.confを次のように変更しました。
glusterd_enable="YES"
gluster1で私はしました:
gluster peer probe gluster2
(成功)
各gluster1とgluster2には、次のハードドライブがあります:/ dev/da1
それらはパーティション化され(BSDラベル)、/ datastoreとしてgluster1とgluster2にマウントされます
「cat/etc/fstab」は、gluster1とgluster2の両方を提供します。
# Device Mountpoint FStype Options Dump Pass#
/dev/da0a / ufs rw 1 1
/dev/da1a /datastore ufs rw 2 2
Gluster volume1を作成しました:
gluster volume create volume1 replica 2 transport tcp gluster1:/datastore gluster2:/datastore force
(私はスプリットブレインリスクを認識しています。これは単純なテストシナリオです)
私はvolume1を次のように始めました:
gluster volume start volume1
Volume1のチェック:
gluster volume info
私に返してくれます:
Type: Replicate
Volume ID: a760c545-1cc9-47a4-bc9e-51f6180e4d7a
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: gluster1:/datastore
Brick2: gluster2:/datastore
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
これまでのところすべてが機能し、問題ないようです。
今、私の問題は、これをクライアント/コンシューマーマシン(Webサーバー)にマウントして使用し始めます
Glusterfsvolume1をマウントできるようにする必要があることをいくつかの場所で読みました。
mount -t glusterfs gluster1:/volume1 /mnt
これにより、次のエラーが単純に返されます。
mount: gluster1:/volume1: Operation not supported by device
「ばかげた」質問をする前にいつもするように、私はこれについてたくさんググった。クライアントにglusterfsをインストールし(pkg install glusterfs)、クライアント/etc/rc.confで有効にし、Fuse用のものを追加することも試してみましたが、動作させることができませんでした。ここで見逃しているのはとても小さなことだとわかっているので、かなりイライラします!?
誰かが私の問題に光を当てることができますか?
編集:NFSが機能していないようです:volume1のステータスがリスニングを示していませんTCPポート
gluster volume status volume1
ショー:
Status of volume: volume1
Gluster process TCP Port RDMA Port Online Pid
------------------------------------------------------------------------------
Brick gluster1:/datastore N/A N/A N N/A
Brick gluster2:/datastore N/A N/A N N/A
Self-heal Daemon on localhost N/A N/A N 55181
Self-heal Daemon on gluster2 N/A N/A N 30318
Task Status of Volume volume1
------------------------------------------------------------------------------
There are no active volume tasks
だから、私はこれでNFSを有効にしました:
gluster volume set volume1 nfs.disable off
GlusterFS NFSを使用せず、代わりにNFS-Ganeshaを使用するという警告がありました。このテストでは無視した警告。
今、私はボリュームを再起動しました:
gluster volume stop volume1
gluster volume start volume1
私がしたことを確認するには:
gluster volume info
今私に見せた:
Volume Name: volume1
Type: Replicate
Volume ID: a760c545-1cc9-47a4-bc9e-51f6180e4d7a
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: gluster1:/datastore
Brick2: gluster2:/datastore
Options Reconfigured:
nfs.disable: off
transport.address-family: inet
そのため、nfs.disableはオフに設定されました。 NFSは今すぐオンになっているはずですか?
だが
gluster volume status volume1
まだNFSが実行されていないことを示しています。
Gluster process TCP Port RDMA Port Online Pid
------------------------------------------------------------------------------
Brick gluster1:/datastore N/A N/A N N/A
Brick gluster2:/datastore N/A N/A N N/A
NFS Server on localhost N/A N/A N N/A
Self-heal Daemon on localhost N/A N/A N 99115
NFS Server on gluster2 N/A N/A N N/A
Self-heal Daemon on gluster2 N/A N/A N 37075
Task Status of Volume volume1
------------------------------------------------------------------------------
There are no active volume tasks
ここで邪魔になるのは(NFS OnlineがNであることに加えて)、両方のブリックもオンラインではないようです(OnlineはNとして示されています)?!??
だから私は本当に立ち往生していて、いくつかの助けを使うことができます。
2年後、私はついにFSTABを使用してFreebsdにglusterfsボリュームを自動マウントする方法を見つけました。
gluster1:/ volume1/mnt/glusterfsfusedfs rw、acl、transport = tcp、_netdev、mountprog =/usr/local/sbin/mount_glusterfs、late 0 0
最後にそれは働いています:
/usr/local/sbin/mount_glusterfs gluster1:/volume1 /mnt
トリックをしました...
クライアントには、net/glusterfsパッケージと、/ boot /loader.conf内の次のステートメントもインストールする必要があります。
Fuse_load="YES"
乾杯