Raspberry PiのOS領域は、通常だとSDカードからの起動になります。
当然 /var など含めてログは全てそこに出力されますので、
SDカードの想定された利用方法を超えるWriteが予想されます。
そのままだと、あっという間にSDカードを壊しそうなので、
root領域をNFSに置いて、そこから起動する方法を試しましたので、
そのメモです。
■手順
以下のURLの内容が全てになります。
Howto: Raspberry Pi Root NFS share - boot your System over NFS share and
definitively deal with Flash data corruption
http://youresuchageek.blogspot.jp/2013/01/raspberrypi-root-over-nfs-share.html
- NFSサーバー上でexportfsの設定をする。optionは(rw,sync,no_root_squash,no_subtree_check)
- RaspberryのOSイメージのpartition 2の内容を全てNFSサーバーのShare領域にコピー
- OSイメージのvfat側のpartition(partition 1)にある cmdline.txt を書き換える。
内容は全て1行で書く。
-------------
例) NFSサーバー側は、/rpi_rootfs でShareしている例
<raspberrypi_ip>: raspberry-pi 自身のIPアドレス
<nfs_server_ip>:NFSサーバーのIPアドレスdwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/nfs nfsroot=<nfs_server_ip>:/rpi_rootfs,udp,vers=3 ip=<raspberrypi_ip>:<nfs_server_ip>:<default_gateway>:<mask>: rpi:eth0:off rootfstype=nfs smsc95xx.turbo_mode=N
例) 実際にReadyNASに対して設定している例(我が家の場合
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/nfs nfsroot=192.168.0.100:/pi,udp,vers=3 ip=192.168.0.200:192.168.0.100:192.168.0.1:255.255.255.0: rpi:eth0:off rootfstype=nfs smsc95xx.turbo_mode=N
- /etc/fstab をの内容を削除(root領域はNFSマウント時に自動で読み込まれる為)
これだけです。詳細は元Linkからどうぞ。
再起動して、NFSアクセスに問題がなければ起動してきます。
デフォルトでSD上にSWAPを書くのでURLの記載を参考に
設定すれば完璧でしょう。
■ OSイメージのマウント方法
Raspberry piのOSイメージをLoopマウントするメモ の記事が
参考になるかと思います。(Loopマウントして中身を編集・取り出します)
■ 起動後のdf はこんな感じになります。
root@raspberrypi:/home/pi# df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 1.8T 269G 1.6T 15% /
192.168.0.100:/pi 1.8T 269G 1.6T 15% /
devtmpfs 212M 0 212M 0% /dev
tmpfs 44M 204K 44M 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 88M 0 88M 0% /run/shm