宮崎悟氏のコラム

宮崎悟の「UbuntuでZFSを使ってみよう」第2回「UbuntuにZFSを入れてみよう」

UbuntuとZFSのライセンスについて

さて、前回は色々と反響があったようで、大変嬉しく思います。その中で、UbuntuでZFSカーネルモジュールをバイナリ配布することに対する懸念を抱くご意見を多くいただきました。

UbuntuはGNU/Linuxのディストリビューションであり、LinuxカーネルはオープンソースライセンスであるGPLv2となっています(詳細はLinux Kernel license rules を参照ください)。一方、Ubuntuに含まれるOpenZFSは、Sun Microsystems(現在はOracleにより買収済み)がCDDLというオープンソースライセンスで公開されており、このCDDLはGPLと共存できないライセンスとなります。Linux著作権保持者は、UbuntuがLinuxカーネルモジュールとしてZFSをバイナリ配布することがライセンス違反であると声明を出しております。

UbuntuでのZFSカーネルモジュールのバイナリ配布は、この訴訟により中止になる可能性があることをご認識ください。

OpenZFSとは

Ubuntuで配布されているZFSは、OpenZFSの成果を利用しています。OpenZFSは、CDDLで配布されたOpenSolarisのソースコードを元にしており、illumos(OpenSolarisベースのカーネル実装)、FreeBSD、Linux、Mac OSX用のソースコードを公開しています。

UbuntuでZFSを使用してみる

では、早速UbuntuでZFSを使用してみましょう。

まずは、どこのご家庭にもあるUbuntu18.04LTSの仮想マシンもしくは物理マシンを用意します。

以下のコマンドで、パッケージを最新状態にした後、を実行することで、OpenZFSが使用できるようになります。

% sudo apt update

% sudo apt upgrade –y

% sudo apt install zfsutils-linux -y

ZFSを実用で使う場合は、HDDやSSDを使用しますが、まずは100MBのファイルを使用してZFSの操作を試してみましょう。

zpool create コマンドを実行することで、ファイルdisk01を使用した、tank という名前のzpoolが作成されます。

% dd if=/dev/zero of=/tmp/disk01 bs=1024 count=102400

% ls -lh /tmp/disk01

-rw-r–r– 1 s-miyaza s-miyaza 100M 10月 29 20:49 /tmp/disk01

% sudo zpool create tank /tmp/disk01

% sudo zpool list

NAME   SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT

tank    80M  94.5K  79.9M         –     1%     0%  1.00x  ONLINE  –

% sudo zpool status

pool: tank

state: ONLINE

scan: none requested

config:

 

NAME           STATE     READ WRITE CKSUM

tank           ONLINE       0     0     0

/tmp/disk01  ONLINE       0     0     0

 

errors: No known data errors

% mount -t zfs

tank on /tank type zfs (rw,xattr,noacl)

% df /tank

Filesystem     1K-blocks  Used Available Use% Mounted on

tank               40832     0     40832   0% /tank

zpoolとはストレージプールのことで、物理ストレージ管理するものです。zpoolを作成すると、自動的にzfs(ファイルシステム)が作成され、zpool名(上記ではtank)と同名で自動的にmountされます。

まずは、簡単に1ディスク相当のzpoolを作成しましたが、もちろん複数ディスクを組み合わせることが可能です。zpool listコマンドでzpoolの一覧を、zpool statusコマンドでzpoolのディスク構成とステータスを表示することが出来ます。また、ファイルシステムとして、/tankにマウントされていることが分かります。

次回は、ストレージプールについて詳しく語りたいと思いますので、お楽しみにお願いします。

さて、このコラムを掲載いただいているデジタル・ヒュージ・テクノロジー社は老舗のOSSインテグレーターです。特にLinuxは強く、OSSを活用した業務システムの実績も多いです。興味がある方は以下のページもご覧ください。

DHT OSS導入コンサルティングサービス

https://kusanagi.dht-jpn.co.jp/solutions/dht-oss-consulting/

 

 

関連記事一覧