
Linuxユーザーはしばらくの間、FUSEに頼らずにZFSを使用できるようになりました。 コアで。
FUSEが課す多くの制限(主にパフォーマンスの制限。残りについてはgoogleに問い合わせることができます)は、ほとんどの発生するタスクでFUSEを介したZFSの使用を許可しません。
とりわけ、CDPLライセンスとGPLの非互換性のために、ZFSコードをLinuxカーネルのソースツリーに含めることはできません。これは、LinuxシステムでのZFSの普及に大きく影響します。
しかし最近、開発者がLinuxのカーネルモジュールとしてSolarisからZFSコードを移植したzfsonlinuxプロジェクトの開発は、多くの労力をかけずに十分なレベルの安定性を備えたLinuxでZFSを使用できる開発のポイントに達しました。
zfsonlinux(rhel / centos / Scientific linux 6など)の正確な使用方法については、以下の記事をご覧ください。
いくつかの言葉...
あらゆる種類の不快で予期しない驚きが起こり得るzfsonlinuxプロジェクトがまだプレリリース段階にあることに注意する必要があることは間違いないので、私の場合に解決すべきタスクのサークルはZFS上のデータの損失を可能にします。
私の経験とメーリングリストから判断すると(ZFSを使用し、すべてが問題なく動作すると書いている人々)zfsonlinuxはクラッシュせず、すべてを壊しませんが、それを使い始めた人は期待どおりに動作します。
zfsonlinuxプロジェクト(またはメーリングリスト-zolでも呼ばれています)を理解するには、 zfsonlinux.orgサイトの資料と、Googleに豊富にあるZFSの資料を調べることをお勧めします。
プロジェクトサイトを確認した後、次のことを結論付けることができます。
-zfsonlinuxは、 Lustreファイルシステムと組み合わせて使用することを真剣に考えています。
-サイトの資料にはLLNLが記載されています。
-whoisドメインzfsonlinux.org は、米国のこの国立研究所も参照しています。
-真面目な人々は、真剣な目的のためにプロジェクトに携わっています(なんらかのチャントラップではありません:-))
執筆時点で、zfsonlinuxプロジェクトのtarballのバージョンは0.6.0-rc11であり、2012年9月17日に公開されました。
ZFSを使用するには、 zfs-modules-dkms-0.6.0-rc11.noarchおよびspl -modules-dkms-0.6.0-rc11.noarchパッケージが必要です。これらのパッケージには、ZFSおよびSPLモジュール(Solaris Porting Layer)のソースコードが含まれています。 これらのモジュールは、 DKMSシステムを使用して自動的に収集およびインストールされます。
また、x86_64アーキテクチャ用に構築されたパッケージzfs-0.6.0-rc11.src.rpmおよびspl -0.6.0-rc11.src.rpmには、ZFS(zfs、zpool)およびその他のコンポーネントを操作するためのユーザースペースユーティリティが含まれます。ユーザー空間で必要(udevルールなど)。 残念ながら、プロジェクト開発者はパッケージデータのバイナリアセンブリを提供していないので、必要に応じてrpmbuild / mockを準備し、自分でパッケージをコンパイルします(これは後で行います)。
早くて簡単
ZFSを搭載したサーバーを自分のニーズにすばやく展開するために、必要なすべてのパッケージを含むyumリポジトリーを作成しました。
そのため、RHEL / CentOS / Scientific LinuxディストリビューションでZFSを使用するサーバーを取得するには(第6バージョン(!)についてのみ説明しています)、次の手順を実行する必要があります。
リポジトリをインストールし、パッケージが署名されている公開GPGキーをインポートします。
# cd /etc/yum.repos.d/ # wget http://yum.aclub.net/pub/linux/centos/6/umask-zfsonlinux/umask-zfsonlinux.repo # rpm --import http://yum.aclub.net/pub/linux/centos/5/umask/RPM-GPG-KEY-umask
EPELプロジェクトページに移動し、そこからepel-releaseパッケージの最新バージョンへのリンクを取得し、このパッケージをインストールします。
# rpm -i http://mirror.astpage.ru/epel/6/i386/epel-release-6-7.noarch.rpm
カーネルモジュールの構築に必要なDKMSとパッケージをインストールします。
# yum install dkms gcc make kernel-devel
最後に、zfsおよびsplパッケージをインストールします。要件に応じて、zfs-modules-dkmsおよびspl-modules-dkmsパッケージのインストールが必要です(インストール中にモジュールがコンパイルされるため、インストールには5〜10分かかります(もちろん、サーバーの容量によって異なります)。 ):
# yum install zfs spl
モジュールをロードし、すべてのZFSパーティションをマウントするzfsサービスを有効にします(デフォルトでは、このサービスはすでに自動開始状態になっていますが、何かが突然変更されても、このステップはスキップされません):
# chkconfig zfs on
このステップでは、システムはZFSを使用する準備ができていますが、そのような変更後に常に再起動を試みた場合に備えて(実行できますが、サーバーが起動しなかった理由やカーネルパニックが発生した理由を数か月後に思い出したくありません)。
これで、最初のプールを作成できます。
# zpool create tank mirror /dev/sdc /dev/sdd
タンクプールは/ tankディレクトリに自動的にマウントされます。
ZFSを使用する準備ができました!
ZFSと BTRFS
実際、BTRFSは私のタスクにも適しています(:-)):
-圧縮があります。
-raid1のサポート(ZFSのraidz関数が必要です);
-el6で利用可能(技術プレビュー)。
しかし:
-BTRFSは不安定であり、まだメインラインカーネルで安定していると認識されていません(el1での約1年前の私の実験では、このファイルシステムをタスクに使用する可能性を排除しました-主にバグと不具合)。
-BTRFSでは、重複排除はまだありません。
-BTRFSでは、ミラー、ストライプ、ストライプ+ミラー以外のサポートはありません。
-ZFSは、Solarisで長期間安定していると見なされます。
-zfsonlinuxは潜在的な問題とニュアンスを備えた移植版ですが、ZFSはより成熟しているようです(おそらく主観的です)。
結論の代わりに
zfsonlinuxの開発者は、「zfsonlinuxの使用を開始してください」と尋ねられることがよくありますので、この記事で誰かが簡単にこれを行えるようになることを願っています。