現在、GlusterFSを詳しく調べています。
テスト上の理由から、合計4つの仮想マシンをセットアップしました。各仮想マシンはGlusterピアとして機能します。
2つのDC(異なる場所にある)にアクセスできるので、DC Aに2つのGlusterノードを作成し、他の2つのノードはDC B。
レプリカ数が4のレプリケートされたボリュームは、4つのGlusterノードすべてを使用します。つまり、すべてのDCに各ファイルのコピーが2つあります。
両方のDCは相互に接続されています。つまり、各サーバーには、内部IPアドレスを介して他のサーバーにアクセスする方法があります。
ファイルにもアクセスしたいので、レプリケートされたボリュームでmount.glusterfsを実行する別のVM in DC Aを作成しました。
さて、私の質問は次のとおりです。GlusterFS「クライアント」は(他のDCにある)より離れたGlusterノードよりも(同じDCからの)ローカルGlusterノードを優先しますか?
そうでない場合、「Glusterクライアント」のファイルアクセス動作に影響を与える方法はありますか?公式ドキュメントを検索して、30分以上グーグルで検索してみました。しかし、私は自分の質問に対する答えを見つけることができませんでした。
私がこの質問をしている理由は、私の「クライアント」がファイルにアクセスするために他のDC)のGlusterノードにアクセスしないようにしたいからです。トラフィックを維持したい現在のDCの内部。
あなたが探している読み取りオプションはread-subvolume
。これがないと、初期化時に、サーバーへの応答が最も速くなり(DCローカルの場合もありますが、常にそうであるとは限りません)、そこから読み取ります。書き込みの場合、クライアントは常にレプリカセット内のすべてのノードに書き込みます。
Read-subvolumeオプションは、次の場所に記載されています。
http://www.gluster.org/community/documentation/index.php/Translators/cluster