本日はHPC(High Performance Computing)用のストレージについて調査 GlusterFSについて http://www.gluster.org/ 現在のバージョンは 3.2 http://download.gluster.com/pub/gluster/glusterfs/3.2/ (昔の開発バージョンに benki( version 1.2 ぐらい) というのがあり、若干盛り上がった記憶がある。ただし、日本語ではなくインド南部のカンナダ語で火を意味する。) InifiniBand ストレージとの接続をInfiniBand にする利点は良くわからない... ストレージとしては内蔵ディスクを使用してGlusterFS を構築したほうが安価でいいと思うのだが、どうなんだろう? http://cloud.watch.impress.co.jp/epw/cda/special/2004/07/07/2573.html より引用 InfiniBandに基づくホストには、I/Oバスブリッジを介してHCA(HCA Host Channel
Adapter)が接続される。HCAは、InfiniBand機器がホスト側のCPUやメモリにアクセスできるようにするもので、ホストにとって
InfiniBandの出入口となる。一方、ターゲットとなる機器(ストレージやネットワーク機器)は、TCA(Target Channel
Adapter)を介して接続される。TCAは、それぞれの機器に求められるI/O機能を提供する。接続形態はLANと非常によく似ており、ホストとター
ゲットのデバイスはすべてI/Oスイッチを介して一対一で接続される。ネットワーク層でのパケット転送をサポートするルータを用いれば、サブネット間の通
信も可能だ。 http://www.atmarkit.co.jp/fnetwork/tokusyuu/51ib01/02.html より引用
RDMA (Remote DMA (Direct Memory Access)) http://h50146.www5.hp.com/products/servers/proliant/whitepaper/wp049_060331/index.html より引用 固有のプロセッサオーバヘッドとメモリ帯域幅の制限は、それが必要な場合(イーサネット)であれ、互換性の目的(InfiniBand)であれ、TCPを使用するネットワークの障害になります。
イーサネットでは、TOE (TCP/IP Offload
Engines)とRDMAを使用することにより、こうした障害を軽減することができます。TOE搭載のNIC (Network Interface
Adapter)は、TCP/IP処理の役目を果たし、ホストプロセッサをその他のタスク用に解放します。TOEの機能は、そのハードウェア設計、OSプ
ログラミングインタフェース、実行されるアプリケーションによって決まります。
RDMAテクノロジは、あるコンピュータのメモリのデータを別のコンピュータのメモリに、プロセッサの関与を極力小さくして転送するために開発されまし
た。RDMAプロトコルに含まれている追加の情報を参照することにより、システムは、転送されるデータを追加したり、暫定コピーしたりすることなく、その
メモリの最終目的地に直接届けることができます。この「ゼロコピー」あるいは「直接データ配置」(DDP: Direct Data
Placement)機能により、システム間で最も効率的なネットワーク通信が可能になります。
TOEとRDMAは、どちらもホストプロセッサをネットワーク
オーバヘッドから解放することを目的としているので、混同されることがあります。しかし、TOEは、TCP/IP処理を担当するハードウェア
ソリューションであり、RDMAは、ネットワーク通信スタックの上位レイヤーで動作するプロトコル
ソリューションです。このため、TOEとRDMAは連携できます。TOEがデバイスとの局所化された接続を可能にし、RDMAがより効率的なプロトコルで
データスループットを向上させます。
InfiniBandでは、コア機能にRDMAを使用してアーキテクチャが設計されているので、RDMA処理によってパフォーマンスがさらに大きく向上します(TOEは不要)。
RDMAは、アプリケーションがネットワークデバイス間でメッセージを転送するための、より高速なパスを提供します。Ethernetと
InfiniBandの両方に適用可能です。これらのインターコネクトは両方とも、SDP (Sockets Direct
Protocol)、iSER (iSCSI Extensions for RDMA)、NFS (Network File
System)、DAFS (Direct Access File System)、MPI (Message Passing
Interface)といった、最新および既存のネットワーク業界標準規格をすべてサポートしています。
ちなみにglusterfs でRDMA はサポートされているようだ。 http://gluster.org/pipermail/gluster-users/2011-January/006395.html NFSプロトコルでは開発中っぽい。 TCP/IP Offload Engines NIC でTCP/IPを処理させる機能だが、10Gb だと必須だろう。 GlusterFS Release Note より 3.2
http://www.gluster.com/community/documentation/index.php/Gluster_3.1:_Launching_Gluster_Virtual_Appliance_for_Amazon_Web_Services AMI: gluster-ami-3-2 (ami-08f80661) 5日間の限定使用版らしい 起動するとglusterd が起動済みになっている。 [root@ip-XX-XXX-XXX-XXX ~]# cat /etc/glusterfs/glusterd.vol volume management type mgmt/glusterd option working-directory /etc/glusterd option transport-type socket,rdma option transport.socket.keepalive-time 10 option transport.socket.keepalive-interval 2 end-volume /etc/glusterd/ の内容 [root@ip- XX-XXX-XXX-XXX ~]# find /etc/glusterd/ /etc/glusterd/ /etc/glusterd/glusterd.info /etc/glusterd/geo-replication /etc/glusterd/geo-replication/gsyncd.conf /etc/glusterd/vols /etc/glusterd/peers /etc/glusterd/nfs クライアント debian でインストールのテスト ( squeeze の glusterfs は3.0.5 なので これでは繋がらない) ~$ sudo aptitude install glusterfs-client The following NEW packages will be installed: glusterfs-client libglusterfs0{a} libibverbs1{a} 0 packages upgraded, 3 newly installed, 0 to remove and 312 not upgraded. Need to get 1497 kB of archives. After unpacking 4235 kB will be used. Do you want to continue? [Y/n/?] Get:1 http://ftp.jp.debian.org/debian/ squeeze/main libibverbs1 amd64 1.1.3-2 [33.7 kB] Get:2 http://ftp.jp.debian.org/debian/ squeeze/main libglusterfs0 amd64 3.0.5-1 [1269 kB] Get:3 http://ftp.jp.debian.org/debian/ squeeze/main glusterfs-client amd64 3.0.5-1 [193 kB] Fetched 1497 kB in 1s (819 kB/s) Selecting previously deselected package libibverbs1. (Reading database ... 185222 files and directories currently installed.) Unpacking libibverbs1 (from .../libibverbs1_1.1.3-2_amd64.deb) ... Selecting previously deselected package libglusterfs0. Unpacking libglusterfs0 (from .../libglusterfs0_3.0.5-1_amd64.deb) ... Selecting previously deselected package glusterfs-client. Unpacking glusterfs-client (from .../glusterfs-client_3.0.5-1_amd64.deb) ... Processing triggers for man-db ... Setting up libibverbs1 (1.1.3-2) ... Setting up libglusterfs0 (3.0.5-1) ... Setting up glusterfs-client (3.0.5-1) ... サーバ? ~$ sudo aptitude install glusterfs-server The following NEW packages will be installed: glusterfs-server 0 packages upgraded, 1 newly installed, 0 to remove and 312 not upgraded. Need to get 172 kB of archives. After unpacking 274 kB will be used. Get:1 http://ftp.jp.debian.org/debian/ squeeze/main glusterfs-server amd64 3.0.5-1 [172 kB] Fetched 172 kB in 1s (109 kB/s) Selecting previously deselected package glusterfs-server. (Reading database ... 185440 files and directories currently installed.) Unpacking glusterfs-server (from .../glusterfs-server_3.0.5-1_amd64.deb) ... Processing triggers for man-db ... Setting up glusterfs-server (3.0.5-1) ... |
SIMPLE-Index勉強会 >