単純に共有ボリュームだけなら、別にiSCSIのLUNを複数のノード(OS)に見せておいて、どちらかでマウント、他のノードはアンマウント、としておけばいい。
HAクラスタ等を組む時の基本だ。
これだと、あくまでそのLUNを使うのは1ノードのみ。複数のノードからのI/Oは出来ない。(やってみれば分かるけど、ファイルシステムが壊れる。)
これを、複数のノードからI/O出来るような仕組みにしてみたい。
実はこれ、単純にNFSやCIFSを使えば解決しちゃうんだけど、NFSやCIFSはお世辞にも速いファイルシステムではないし、ファイルサイズ等の制約も厳しかったりする。
で、実現方法だけど、どうやらOCFS2とGFS2の2つがあるらしい。(商用製品等、他にもたくさんあるのだが…)
で、これを試してみたい。
まずは基本。以下の作業を行う。
- 2つの仮想マシンを作成し、それぞれUbuntu16.04を導入する。(今回はホスト名gemini/cancerにした。)
- 仮想ディスクをocfs2.qcow2という名前、10GBのサイズで1つ作成し、gemini/cancerに接続する。(警告が出るが、無視する。)
-----2017/04/04追記-----
こちらに書いたが、仮想ディスクをgemini/cancerに接続する時「共有可能」というチェックボックスにチェックを入れておかないと、ちょっと思った挙動を示さないようだ。
チェックを入れておくこと
-----2017/04/04追記終了----- - geminiから、新しいディスクに対して、partedパーティションの作成と、pv/vg/lvを作成する。(lvは1つでいいだろう。)
(gemini) $ sudo parted /dev/vdb print
(gemini) $ sudo parted /dev/vdb mklabel gpt
(gemini) $ sudo parted /dev/vdb print
(gemini) $ sudo parted /dev/vdb mkpart primary 0% 100%
(gemini) $ sudo parted /dev/vdb print
(gemini) $ sudo parted /dev/vdb set 1 lvm on
(gemini) $ sudo parted /dev/vdb print
(gemini) $ sudo pvcreate /dev/vdb1
(gemini) $ sudo vgcreate vg-ocfs2 /dev/vdb1
(gemini) $ sudo vgdisplay vg-ocfs2
(gemini) $ sudo lvcreate -L 5G -n lv-ocfs vg-ocfs2
(gemini) $ sudo lvdisplay vg-ocfs2/lv-ocfs - cancerからディスクの再認識と、lvmの再認識を行う。(ちょっとめんどくさいので、再起動する。)
(cancer) $ sudo shutdown -r now
(cancer) $ ls -l /dev/vd*
(cancer) $ sudo vgdisplay vg-ocfs2 - もう1つ仮想ディスク(gfs2.qcow2/10GB)を作成し、gemini/cancerに接続する。
- 先程と同様に、geminiからpartedパーティションの作成と、pv/vg/lvの作成を行う。
(gemini) $ sudo parted /dev/vdc print
(gemini) $ sudo parted /dev/vdc mklabel gpt
(gemini) $ sudo parted /dev/vdc print
(gemini) $ sudo parted /dev/vdc mkpart primary 0% 100%
(gemini) $ sudo parted /dev/vdc print
(gemini) $ sudo parted /dev/vdc set 1 lvm on
(gemini) $ sudo parted /dev/vdc print
(gemini) $ sudo pvcreate /dev/vdc1
(gemini) $ sudo vgcreate vg-gfs2 /dev/vdc1
(gemini) $ sudo vgdisplay vg-gfs2
(gemini) $ sudo lvcreate -L 5G -n lv-gfs vg-gfs2
(gemini) $ sudo lvdisplay vg-gfs2/lv-gfs - cancerからディスクの再認識と、lvmの再認識を行う。(こちらもめんどくさいので再起動しちゃおう)
(cancer) $ sudo shutdown -r now
(cancer) $ ls -l /dev/vd*
(cancer) $ sudo vgdisplay vg-gfs2
とりあえず、ここまで実施しておいた。
次回、ocfs2の環境を作ってみたい。
0 件のコメント:
コメントを投稿