Raspberry Pi : セットアップ nfs [基板]
たぶんiscsiの方が効率良いんでしょうが、使い方がよくわからない。
RPi Guidesの「iSCSI support and boot」あたりが参考になりそうですが、targetの設定がいまいち…カーネル作ってしまえば、後は普通に動くのかな?
ということで、軟弱者の私は何となく楽そうな方に転ぶのでした。
今後も使うであろう、RaspberryPiのカーネル構築環境を作ってしまいます。
クロスコンパイル環境として、VMwareにUbuntuをインストールしました。セルフコンパイルも可能みたいですが、完了まで6時間とか12時間とかいう数字が検索されます(笑)
まずUbuntu上での作業。クロス環境とカーネル構築周りをインストール。所々sudoが必要です。
Linuxのソースを展開。
カーネルコンフィグ。
File Systems→Network File Systems→NFS server support周りをチェック。
よくわからないので一通り全部w
make開始。
以前にRaspberryPiのLinuxを入れたSDカードをUbuntuにマウントします。bootとrootのパーティションに分かれてるので注意。
だいぶはしょりましたが、とりあえずこれでOK?
SDカードをRaspberryPiに挿して起動。
NFSサーバーをインストール。
ついでに固定IPアドレスにします。
リブート後、サービスを確認。
「rpcbind」というのがportmapの代わりらしいです。最初はサービスは立ち上がってない状態です。
exportsの編集。うーむ、いい加減(笑)
サービス立ち上げ。
ワーニング出てますが大丈夫そうです。ダメだとエラーが出ます。serviceコマンドで確認します。
これで立ち上がってるようなのですが、リブートすると止まってます。サービスの自動起動方法はまた次回ということで。
ESXiからマウントしてみます。
一応無事マウント出来たようです。
SSHでESXiに入り、仮想マシンをコピーしてみます。vmkfstoolsでthinを指定しないと(普通のcpコマンドとかだと)容量が増えるので注意です。
…半端なく遅い…目測(笑)100KB/s。未完了。
WEBにあった「RaspberryPiのnfsは遅いぞ~特に書き込みはな~覚悟しろ」的な発言のとおりでした。読み出しはまだましなようですが。仮想マシンのブートに耐えられるか、とりあえず試してみようかと。
やっぱりiscsiの方が良いのでしょう。どこかに簡単な方法ないかな~
<追記>
あまりに遅いので、USBに挿したメモリをexportしました。すると1.5MB/sほど(目測)。速くはないですが、だいぶ高速化されてます。これなら使える?
RPi Guidesの「iSCSI support and boot」あたりが参考になりそうですが、targetの設定がいまいち…カーネル作ってしまえば、後は普通に動くのかな?
ということで、軟弱者の私は何となく楽そうな方に転ぶのでした。
今後も使うであろう、RaspberryPiのカーネル構築環境を作ってしまいます。
クロスコンパイル環境として、VMwareにUbuntuをインストールしました。セルフコンパイルも可能みたいですが、完了まで6時間とか12時間とかいう数字が検索されます(笑)
まずUbuntu上での作業。クロス環境とカーネル構築周りをインストール。所々sudoが必要です。
$ apt-get install gcc-arm-linux-gnueabi $ apt-get install make $ apt-get install git-core $ apt-get install ncurses-dev
Linuxのソースを展開。
$ mkdir raspi $ cd raspi $ git clone https://github.com/raspberrypi/linux.git $ cd linux
カーネルコンフィグ。
$ cp arch/arm/configs/bcmrpi_cutdown_defconfig .config $ make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- menuconfig
File Systems→Network File Systems→NFS server support周りをチェック。
よくわからないので一通り全部w
make開始。
$ make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -k
以前にRaspberryPiのLinuxを入れたSDカードをUbuntuにマウントします。bootとrootのパーティションに分かれてるので注意。
$ mv <SD_boot>/kernel.img <SD_boot>/kernel.org バックアップ $ cp arch/arm/boot/Image <SD_boot>/kernel.img カーネルをコピー $ make ARCH=arm modules_install INSTALL_MOD_PATH=<SD_root> モジュール
だいぶはしょりましたが、とりあえずこれでOK?
SDカードをRaspberryPiに挿して起動。
NFSサーバーをインストール。
# apt-get install nfs-kernel-server
ついでに固定IPアドレスにします。
# vi /etc/network/interfaces auto lo iface lo inet loopback iface eth0 inet static address 192.168.0.9 network 192.168.0.0 netmask 255.255.255.0 broadcast 192.168.0.255 gateway 192.168.0.1 dns-nameservers 192.168.0.1
リブート後、サービスを確認。
# service --status-all [ - ] nfs-common [ - ] nfs-kernel-server [ - ] rpcbind
「rpcbind」というのがportmapの代わりらしいです。最初はサービスは立ち上がってない状態です。
exportsの編集。うーむ、いい加減(笑)
# mkdir /srv/esxi # chmod 777 /srv/esxi # vi /etc/exports /srv/esxi *(rw)
サービス立ち上げ。
# service rpcbind restart [ ok ] Stopping rpcbind daemon.... [ ok ] Starting rpcbind daemon.... # service nfs-kernel-server start [....] Exporting directories for NFS kernel daemon...exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/srv/esxi". Assuming default behaviour ('no_subtree_check'). NOTE: this default has changed since nfs-utils version 1.0.x . ok [....] Starting NFS kernel daemon: nfsdrpc.nfsd: address family inet6 not supported by protocol TCP mountdrpc.mountd: svc_tli_create: could not open connection for udp6 rpc.mountd: svc_tli_create: could not open connection for tcp6 rpc.mountd: svc_tli_create: could not open connection for udp6 rpc.mountd: svc_tli_create: could not open connection for tcp6 rpc.mountd: svc_tli_create: could not open connection for udp6 rpc.mountd: svc_tli_create: could not open connection for tcp6 . ok
ワーニング出てますが大丈夫そうです。ダメだとエラーが出ます。serviceコマンドで確認します。
これで立ち上がってるようなのですが、リブートすると止まってます。サービスの自動起動方法はまた次回ということで。
ESXiからマウントしてみます。
一応無事マウント出来たようです。
SSHでESXiに入り、仮想マシンをコピーしてみます。vmkfstoolsでthinを指定しないと(普通のcpコマンドとかだと)容量が増えるので注意です。
vmkfstools -i <local>/OpenIndiana.vmdk -d thin <pi>/OpenIndiana.vmdk Clone: 20% done.
…半端なく遅い…目測(笑)100KB/s。未完了。
WEBにあった「RaspberryPiのnfsは遅いぞ~特に書き込みはな~覚悟しろ」的な発言のとおりでした。読み出しはまだましなようですが。仮想マシンのブートに耐えられるか、とりあえず試してみようかと。
やっぱりiscsiの方が良いのでしょう。どこかに簡単な方法ないかな~
<追記>
あまりに遅いので、USBに挿したメモリをexportしました。すると1.5MB/sほど(目測)。速くはないですが、だいぶ高速化されてます。これなら使える?
タグ:Raspberry Pi