ZFSはいいぞ
この記事はKCS Advent Calender 17日目の記事です。
はじめに
初めまして。J科4年の @kumassy_ です。けんきうしつのサーバーの面倒を見ています。
概要
ハードディスクにはたくさんのファイルが保存されているかと思いますが、ハードディスク上にファイルを格納するための仕組みをファイルシステムといいます。世の中にはext4やxfsなどいろいろなファイルシステムがありますが、ZFSというファイルシステムがとてもよさそうだったので紹介します。
ZFSのいいところ
- ファイルシステムにRAID機能が組み込まれている
- 使うコマンドが2つで管理が簡単
- スナップショットがとれる
- パーティションの容量が動的に拡張されるため、事前にパーティションのサイズを指定しなくてよい
実際に使ってみた
CentOS7.5にハードディスクを4枚さしてRAID-Z1(RAID-5相当)を組んでみました。1枚は/と/boot用で、残りの3枚をZFSで管理します。
# ストレージプールの作成
# LVMでいうVolume Groupのようなもの
$ sudo zpool create tank raidz1 sdb sdc sdd
$ zpool list
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
tank 16.2T 1.55M 16.2T - 0% 0% 1.00x ONLINE -
# データセット(パーティションのようなもの)の作成
# 作成すると自動的にマウントされる
$ sudo zfs create tank/storage
$ sudo zfs create tank/home
$ zfs list
NAME USED AVAIL REFER MOUNTPOINT
tank 730K 10.5T 139K /tank
tank/home 128K 10.5T 128K /tank/home
tank/storage 128K 10.5T 128K /tank/storage
# マウントポイントの変更
$ sudo zfs set mountpoint=/storage tank/storage
$ sudo zfs set mountpoint=/home tank/home
とても簡単!!データセットを作ると自動的にマウントされるので、/etc/fstabの設定すらいらないです!!!!!!
さいごに
ZFSはいいぞ。
他にもスナップショットの作成やsend/receiveによるバックアップなど試したい機能がいろいろありますが、このあたりの資料を参考にしてみてください。
- https://chibiegg.gitbooks.io/how-to-zfs/content/index.html
- https://qiita.com/pitekusu/items/d5e9b0e4f5c06f8f76e3
- https://pthree.org/2012/12/17/zfs-administration-part-x-creating-filesystems/