7
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[メモ](RaspberryPi) Building ZFS on Raspbian

Last updated at Posted at 2017-02-28

概要/Overview

  • ZFS を Raspbian で使用する
  • 参考: zfsonlinux/zfs:Building ZFS
  • linux-headers-$(uname -r)の代わりに、raspberrypi-kernel-headers

環境/Environment

  • Raspberry Pi 2/3
  • Raspbian: 2017-01-11-raspbian-jessie-lite

手順

  1. いつもの
  • Burn Raspbian to SD
  • パッケージ更新:
    sudo apt-get update && sudo apt upgrade -y
  1. ビルドに必要なパッケージのインストール

    こぴぺ

sudo apt-get install -y build-essential autoconf libtool gawk alien fakeroot raspberrypi-kernel-headers &&
sudo apt-get install -y zlib1g-dev uuid-dev libattr1-dev libblkid-dev libselinux-dev libudev-dev libdevmapper-dev &&
sudo apt-get install -y parted lsscsi ksh


3. ビルドとインストール

    ```bash
DIR_WORK=${HOME}/work
#
cd ${DIR_WORK}
# ソース取得.
wget https://github.com/zfsonlinux/zfs/releases/download/zfs-0.6.5.9/spl-0.6.5.9.tar.gz
wget https://github.com/zfsonlinux/zfs/releases/download/zfs-0.6.5.9/zfs-0.6.5.9.tar.gz
# ワークフォルダにソース展開.
mkdir zfs
cd zfs
tar xf ../spl-0.6.5.9.tar.gz
tar xf ../zfs-0.6.5.9.tar.gz
# OR 
## git clone https://github.com/zfsonlinux/spl
## git clone https://github.com/zfsonlinux/zfs
# ビルドとインストール.
cd spl-*
./autogen.sh && ./configure && make -j4
sudo make install
# sudo sh -c 'PATH=/home/pi/.local/bin:$PATH porg -lD "make install"'
cd ..
cd zfs-*
./autogen.sh && ./configure && make -j4
sudo make install
# sudo sh -c 'PATH=/home/pi/.local/bin:$PATH porg -lD "make install"'
cd ..
#
# 共有Libの更新
sudo ldconfig
#
cd ${HOME}
# カーネルモジュール更新.
sudo depmod -a
  1. テスト : 256MBのファイルをつくって、そこで、zfsを使用してみる.

rootになる.

rootでないと、'Permission denied the ZFS utilities must be run as root.'

sudo -s

カーネルモジュール読み込み

modprobe zfs
lsmod

256MBのファイル作成

dd if=/dev/zero of=/tmp/zfs256MB bs=1M count=256

プールテスト

zpool create tank /tmp/zfs256MB
zpool list
zpool status

FS作成

zfs create tank/test1
zfs list
chown pi.pi -R /tank/test1

プールの破棄

zpool destroy tank
zpool list



    ```shell-session:実行例
	pi@raspberrypi:~ $ sudo zpool status
	  pool: tank
	 state: ONLINE
	  scan: none requested
	config:

		NAME             STATE     READ WRITE CKSUM
		tank             ONLINE       0     0     0
		  /tmp/zfs256MB  ONLINE       0     0     0

	errors: No known data errors
	pi@raspberrypi:~ $ sudo zfs list
	NAME         USED  AVAIL  REFER  MOUNTPOINT
	tank          89K   208M    19K  /tank
	tank/test1    19K   208M    19K  /tank/test1
	pi@raspberrypi:~ $

その他

  • もうちと、zfsをお勉強しないといけない。

  • USBドライブで、zpool create hogehoge /dev/sdaみたいにできたはず。

  • USBドライブ2台とかで、ミラーリングとかできるのだろうか?

  • 起動時に再マウントするにはどうするのがいいだろうか?
    => (2017-3-2追記) archlinuxのZFSの自動起動のあたりから

     # pool作成後
     zpool set cachefile=/usr/local/etc/zfs/zpool.cache <pool>
     systemctl enable zfs.target
     systemctl enable zfs-import-cache
     systemctl enable zfs-mount
    

    cachefileは、/etc/default/zfsZPOOL_CACHE=~で指定?

  • Raspbianで、rootfsとして使えるのだろうか?

7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?