以前、Ubuntu 12.04 LTS にGlusterFS をインストールし、前回はミラーリングを定義した。今回はマウントを試してみる。
スポンサードリンク
マウント
マウントするのは[VM_SERVER]:/var/gluster_brickではなく[VM_SERVER]:gluster_volであることに注意してください(「glusterfsで仮想化サーバの余っているローカルハードディスクを分散共有ストレージにする at nkjmkzk.net」より引用)
nfs としてマウント
$ sudo mkdir /mnt/GFS $ sudo mount -t nfs 192.168.1.11:/GlusterVol1 /mnt/GFS mount: 間違ったファイルシステムタイプ、不正なオプション、 192.168.1.11:/GlusterVol1 のスーパーブロックが不正、コードページまたは ヘルパープログラムの未指定、或いは他のエラー (for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program) In some cases useful info is found in syslog - try dmesg | tail or so
初登場192.168.1.13 (GlusterFS をインストールしていない、単純にマウントだけすることを想定した端末)で実行してみたところエラーとなった(構成は前回の記事を参照)。
$ sudo mount -t nfs 192.168.1.11:/GlusterVol1 /mnt/GFS mount.nfs: Connection timed out
ところが、192.168.1.11 で試してもエラーとなった。うーん?
$ sudo mount -t glusterfs 192.168.1.11:/GlusterVol1 /mnt/GFS
としたら通ったらしい。nfs ではないけれど。
動作確認
$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 39G 1.7G 36G 5% / udev 488M 4.0K 488M 1% /dev tmpfs 199M 244K 199M 1% /run none 5.0M 0 5.0M 0% /run/lock none 497M 0 497M 0% /run/shm 192.168.1.11:/GlusterVol1 39G 1.7G 36G 5% /mnt/GFS
確認してみると((40G+40G)/2=)40G が見えた。
$ sudo mv glusterfs_3.3.0-1_amd64.deb /mnt/GFS/
192.168.1.11 (マウントしている)から適当に上記コマンドを実行してみた。
GlusterFS ではOS からファイル実体を見ることができるそうだ。
$ ls /GlusterFS/brick/ glusterfs_3.3.0-1_amd64.deb
ピアである192.168.1.12 (マウントしていない)を確認してみるとファイルがミラーリングされていることが確認できた。
外部からのマウント1
ちなみに、突然登場した192.168.1.13 では以下のようになる。
$ sudo mount -t glusterfs 192.168.1.11:/GlusterVol1 /mnt/GFS mount: 未知のファイルシステムタイプ 'glusterfs'
マウントしたものを共有するなどいくつも方法があるのだろう。
(かなり適当に)GlusterFS を関係ない192.168.1.13 にインストールしたらマウントできるのだろうか。
$ sudo apt-get install nfs-common $ wget http://download.gluster.com/pub/gluster/glusterfs/LATEST/Ubuntu/12.04/glusterfs_3.3.0-1_amd64.deb $ sudo dpkg -i glusterfs_3.3.0-1_amd64.deb $ sudo mount -t glusterfs 192.168.1.11:/GlusterVol1 /mnt/GFSowner
192.168.1.13 にGlusterFS を導入してマウントしてみた。
$ ls /mnt/GFS/ glusterfs_3.3.0-1_amd64.deb
正しく反映されていた。これは面白い。
マニュアルには、速度やフェイルオーバー対策のために、FUSEを用いたマウントが推奨されています(「GlusterFSでファイルシステムクラスタを簡単作成 : アシアルブログ」より引用)
外部からのマウント2
「TCPを使用して接続するには」を参照して以下のようにGlusterFS をマウントした。
$ sudo mount -o mountproto=tcp -t nfs 192.168.1.11:/GlusterVol1 /mnt/GFS/
しかし、これまでsudo として実行してきたけれど、一般ユーザーでアクセスしようとすると権限の問題で操作できない。どうしたものか。これには随分ハマった。結局のところGlusterFS ではなく、nfs などをマウントした場合の知識が欠如していたことに起因したようだ。
以下のように権限を設定したところ問題は解決した。
$ sudo chmod o+w /mnt/GFS/
動作確認
以下はGlusterFS をマウントしている端末から確認したところ。マウントは192.168.1.11 宛。
$ ls /mnt/GFS/ glusterfs_3.3.0-1_amd64.deb 無題のドキュメント 1
以下は192.168.1.12 のファイルを直接覗いたところ。
$ ls /GlusterFS/brick/ glusterfs_3.3.0-1_amd64.deb 無題のドキュメント 1
GlusterFS はファイルが直接確認できるとのこと。
ちなみに、確認した範囲ではこのディレクトリ(192.168.1.12)に対して操作を行なってもミラーリングされている192.168.1.11 にも適切に反映されていた。これは面白い。
参考文献
- Technical Note : NFSのインストールと設定方法 1 – Nature’s Linux Tech Portal
コメント