FhGFS, glusterfs, クラウド

始めましたといっても検証しているだけです。すいません

FhGFS、正式にはFraunhoferFSとのことでハイパフォーマンスを想定した分散並列ファイルシステム。

GlusterFSのようにフォールトトレラントな分散並列ファイルシステムではなく、
どこかのサーバが停止すれば障害となります。現状のバージョンでは運用でカバーするしかなさそうです。

特徴としてはストライピングによる高速化とメタデータサーバの分散化による高速化
GlusterFSに比べて小さいファイルでもパフォーマンスを発揮します。
グラフィカルなツールで管理やモニタリングが可能な点もGlusterFSにはない機能です。

とにかく、実際に試してみないとわからないので

インストール&パフォーマンス比較を行ってみます。

まずは役割を確認します。

■役割

5つの役割が存在します。

1.Management service server(fhgfs-mgmt)

management,metadata,storage,clientへシステムコンフィグレーションを提供するサーバ

2.Metadata servers(fhgfs-meta)

メタデータを保管するサーバ

3.Storage servers(fhgfs-storage)

実データを保管するサーバ

4.Graphical administration and monitoring system server(fhgfs-admon)

グラフィカルなJAVAのツールからこのサーバを経由してFhGFSの管理やパフォーマンスグラフのモニタリングを行う

5.Clients(fhgfs-helperd,fhgfs-client)

データをmountするサーバ。

■サーバの準備

パブリッククラウド上でサーバを立ち上げます。すべて下記の環境で立ち上げます。
CentOS-6.4 64bit 20GB 4CPU 4GB

各サーバでrootで公開鍵の登録を行いiptablesとselinuxは切っておきます。

1 * Management server 192.168.0.101
2 * Metadata servers 192.168.0.151-152
8 * Storage servers 192.168.0.201-208
1 * Admon server 192.168.0.251
1 * Clients 192.168.0.51
1 * 作業サーバ(インターネットへのGWにもなっています) 192.168.0.1

の計14台を構築しました。クラウドならこの段階まで10分以内で構築可能です。

作業サーバのhostsを登録します。

すべてのサーバに配布もしておきます。

準備は以上です。

■パッケージインストール

パッケージのインストールはすべて作業サーバから行います。

Management server向け

Metadata servers向け

Storage servers向け

Admon server向け

Clients向け

■InfiniBand用の設定

今回はイーサネット環境ですので設定しません。

■各環境設定(各環境で設定)

Management server向け

Storage server向け

Admon server向け

Clients向け

■サービススタート(作業サーバから)

問題なければこれでclinetでdfすると

このようになっているはずです。mountされ使えるようになっています。

■メタデータとストレージデータの冗長化

メタデータの冗長化(client環境にて)

この設定でメタデータが2重化されます。ただしフォールトトレランスではなく復旧には手動での作業が必要です。

ストレージデータの冗長化

raid10設定とすることでデータの2重化が可能。ただし復旧は手動での作業です。

■admon server

admonサーバは8000番ポートで待ちうけてます。

今回は作業サーバにインターネットからのポートフォワーディングによって自身の環境から繋ぎます。

GWサーバ(eth0:external eth1:internal)にてマスカレードとポートフォワーディングの設定を行っています。

あとは、http://作業サーバのIP:8000

ツールのダウンロードリンクが表示されますのでダウンロード

ダウンロードしたJAVAツールを起動させログインすれば下記のようなモニタリングや各種管理が可能となります。

初期のログインはAdministrator:adminでのログイン

admon

■パフォーマンス比較 GlusterFS(stripe 4 replica 2) vs FhGFS(raid10)

dd、catやlsを利用したパフォーマンス比較です。

 

 filesystem write(1M 1000個) write(1M 10000個) write(5G 1個)  read(5G 1個)  ls(1000個のファイル)  ls(10000個のファイル)
 FhGFS  91s  196s  90s  55s  0.5s  5.6s
 Glusterfs  186s  430s  186s  49s  1.2s  14s

これを見るとFhGFSのほうが書き込みと小さいファイルが得意。

小さいファイルで書き込みパフォーマンスが必要かつ障害がある程度許容されるサービスに限定すれば使いどころはあるかなあ。

Glusterfsのほうがインストールも設定も運用も簡単でバランスは良いように思います。

 

glusterfs

ほんとに小ネタです。

って数が多くなればなるほど面倒くさいのですが、下記のようにまとめる事が出来ます。

小ネタ

うちのオフィスのブロードバンドルータが故障したので、
急きょ、Linux(CentOS6系)サーバをマスカレードルータに仕立てようと設定を行っていたのですが、少しはまってしまったので共有します。

私の認識ではとりあえず急場しのぎだけなら下記のこの構成でうまくいくはずでした。

traceなどで確認するとLinuxサーバのem2のインターフェースから先に進まないようで、

設定はおかしくないはずだしiptablesのFORWARDチェインの設定も下記のようにポリシーがACCEPTだし

なんでだろう。なんでだろうと1時間

とりあえず、下記のようにFORWARDチェインを明示的に許可してみると。

フォワードされるようになりました。

iptablesの設定(FORWARDの部分だけ抜粋)を確認すると

いつの間にかREJECTが・・・

iptables -A FORWARD -j REJECT –reject-with icmp-host-prohibited
この設定が隠れているってことですかね?

5系も6系も標準のFORWARD設定は同じように見えるのですが、
手元の5系では明示的に設定しなくともいけるので6系では挙動が変わってしまってるように見えます。

今後はこの辺りの違いを意識していけば混乱は防げるかな?

小ネタ

dmmではすべてのサーバでwol対応のnicを利用するようにしています。

ただ、みなさんがお使いのように他のコンピューターから起動するために利用しているわけではありません。

電源が入ってない状態もしくはOSが起動していない状態でもポートのlinkをUPさせるためにWOLを利用するようにしています。

なぜかというと

ケーブリングするエンジニアと実際に導通を確認するエンジニアが別だからです。

LinuxではWOLに対応していないNICだとIP設定まで行わないとリンクがアップしませんが、

WOL対応NICを利用すればケーブリングするエンジニアが目的のスイッチとの接続性をリンクの状態だけで確認できるようになります。

意識してないとうっかり未対応のNICを選択してしまう場合があるのでいつも注意してサーバを購入しています。

雑談

6が出るまでは我慢して5sはいらないかなあと思っていたんですが

マジで便利っすね。iPhone5sの指紋認証

認識率も抜群でまったくストレスがありません。

いつものように親指でホームボタンを押すだけで認識してくれ、
また、AppStoreでのアプリ購入も指紋認証で済ませることができるなんてさすがです。

dmm、facebookやtwitterへのログインで使えるようになるといいなあ。

ところで、素朴な疑問なんですが、

認証のための指紋データはappleがサーバで管理しているのでしょうか?

それとも、

個人のiPhone内で管理されているのでしょうか?

盗まれても人間の指紋はクレジットカードのように再発行できませんので、
さすがにデータを盗まれることを前提に考えると中央サーバーで管理はせずiPhone内で保管してると思ってはいるのですが。

それにしても

昔の指をずらすタイプの指紋認証は認識率が酷くて指紋がちゃんと登録できたのかどうかもわからず使えないなあと思っていたんですが、
appleの指紋認証はほんとにシンプルで使いやすく一気に普及しそうな予感がします。この技術は称賛に値すると思います。

ただ、

iphoneに限らず携帯ってよく触るので画面や底面に思いっきり指紋がついているかと思います。
これを使って簡単にログインできちゃうようなキットが売り出されると困っちゃいそうではあります。

PAGE TOP