宮崎悟の「UbuntuでZFSを使ってみよう」第1回 「Linuxのファイルシステムについて」
はじめに
皆様はじめまして、宮崎と申します。今回より、このコラムを始めさせていただくことになりました。よろしくお願いします。
さて、SolarisとZFSとZoneがダイスキな私ですが、今時のSolarisの不憫さのため、せめてZFSの良さを皆様にお伝えしたく、このコラム執筆を引き受けました。このコラムを書かせていただくからには、もうZFSから離れられない体にすべく布教に努めさせていただく所存でございます。
ファイルシステムとは
さて、ZFSを語る前に、ファイルシステムとは何かというところをもう一度おさらいしてみましょう。
Wikipediaでは「コンピュータのリソースを操作するための、オペレーティングシステム (OS) が持つ機能の一つ」とあります。
その中には、HDDやSDDなどのストレージを扱うディスクファイルシステムや、デバイス・プロセス・カーネル内の情報を扱うprocfsのようなものがあります。
今回はディスクファイルシステムについて語るわけですが、現在Linuxで使用可能な主要ディスクファイルシステムについてまとめてみました。
名称 | 最大 ファイル名長 |
ディレクトリ名 使用文字種 |
最大 パス名長 |
最大 ファイル サイズ |
最大 ボリューム サイズ |
Btrfs | 255B | 任意 バイト列 |
定義 無し |
16EB | 16EB |
ext2 | 255B | 任意 バイト列 |
定義 無し |
16GB~2TB | 2TB~32TB |
ext3 | 255B | 任意 バイト列 |
定義 無し |
16GB~2TB | 2TB~32TB |
ext4 | 255B | 任意 バイト列 |
定義 無し |
16GB~16TB | 1EB |
FAT32 | 8.3形式(または255文字) | 全Unicode | 定義 無し |
4GB | 512MB~2TB |
JFS | 255B | 任意 バイト列 |
定義 無し |
8EB | 512TB~4PB |
NTFS | 255文字 | 全Unicode | Unicodeで32,767文字 | 16EB | 16EB |
ReiserFS | 4032B/255B (VFSによる制限) |
任意 バイト列 |
定義 無し |
8TB | 16TB |
XFS | 255バイト | 任意 バイト列 |
定義 無し |
8EB | 8EB |
※Wikipedia(ファイルシステム)からの抜粋
現在多く使われるのは、この内ext4とXFSだと思います。これらのファイルシステムは以下の手順で構築するのが一般的です。
- ディスクにパーティションを作成(format or GPartd)
- LVMによる仮想ディスクボリュームの作成(省略されることがあります)
- パーティションもしくはLVMのボリュームに対してmkfsの実施
ZFSとは
ZFSは、Oracle Solari10で実装されたファイルシステムで、Oracle Solaris11からはboot用のディスクとして使用されています。
このZFSは、「ディスクをまるでメモリのように扱う」というコンセプトで開発され、最初からディスクボリュームと一体化したファイルシステムとなっています。現在のUbuntuでもZFSを使用することは可能です。
次回は、ZFSの素晴らしさについて更に語っていこうと思いますので、お楽しみにお待ち下さい。
さて、このコラムを掲載いただいているデジタル・ヒュージ・テクノロジー社は老舗のOSSインテグレーターです。特にLinuxは強く、OSSを活用した業務システムの実績も多いです。興味がある方は以下のページもご覧ください。