スキップしてメイン コンテンツに移動

投稿

ラベル(ZFS)が付いた投稿を表示しています

ZFS on Linux and Lustre その1

先日、分散ファイルシステムでLustreに興味があるとブログに書きましたがZFS on Linux( http://zfsonlinux.org/ )も、気づいたらrc4までリリースが進んでいます。 rc3でlustreとの連携が図られた模様でlustreのバックエンドとしてzfsが使用可能になっています。さらにサポートされるカーネルも2.6.32ベースと比較的、ビルドしやすい?感じになっています。(絶賛、開発中なのは変わりませんが...) 今回は、rc4をベースにlustre連携をやってみようと思います。 まずは、lustreを動かすには、いくつかカーネルにパッチをあてる必要があるので、そちらから。使用した環境は Oracle Linux 6 なのですが、カーネルソースが入手できるものがRedhat互換のkernel-2.6.32-71.el6だったので、そちらをベースにパッチをあてることにしました。 1. 事前準備 # public yum の準備 $ cd /etc/yum.repos.d $ wget http://public-yum.oracle.com/public-yum-ol6.repo ## enabled=1をお忘れなく # 不必要なので停止 $ service iptables stop $ chkconfig iptables off $ vi /etc/sysconfig/selinux $ setenforce 0 2. パッチ(を含むlustreソース)をダウンロード カーネルのビルドはこちらを参考に( http://fedoraproject.org/wiki/Docs/CustomKernel ) $ mkdir ~/work; cd ~/work $ wget --no-check-certificate http://github.com/downloads/behlendorf/lustre-kdmu/lustre-2.0.58.2-1chaos.tar.gz $ tar xzvf lustre-2.0.58.2-1chaos.tar.gz $ yum install rpmdevtools yum-utils 3. カーネルビルド環境の準備 $ rpmdev-setuptree ...

Native ZFS on Linux

先日、 ZFSonLinux にLinux用NativeなZFSがリリース(現時点ではRC2)されていると書きましたが、せっかくなのでOracle Linux 6 (Unbreakable Enterprise Kernel)でビルドしてみることにします。 本当は、ZFSのshareiscsiでZVolumeをiSCSIとしたかったのですが、shareiscsiは現時点では未実装でした。 上記のRC2のアーカイブを使ってもよいのですが、絶賛開発中のものであるのでgit リポジトリから最新ソースを持ってきてビルドしてみます。 ビルドの流れとしては 1. SPLのソースを持ってきてビルド 2. ZFSのソースを持ってきてビルド の2段階です。 1. SPLのソースをgitリポジトリから取得 # git clone https://github.com/behlendorf/spl.git Initialized empty Git repository in /root/work/spl/.git/ remote: Counting objects: 4372, done. remote: Compressing objects: 100% (1195/1195), done. remote: Total 4372 (delta 3264), reused 4206 (delta 3137) Receiving objects: 100% (4372/4372), 1.53 MiB | 637 KiB/s, done. Resolving deltas: 100% (3264/3264), done. 2. SPLのビルド # cd spl # ./configure # vi spl-modules.spec ここで、UEKカーネル用にちょっとspecファイルを修正しておきます。 spl-modules.specの抜粋 # RHEL 5.x/6.x: %if %{defined el5} || %{defined el6}  %if %{undefined kver}   %define klnk        ...