Linuxコンテナ内でautofsを起動させたけどなぜか刺さるので諦めた時のログ
ちょっと前のログ。
起動させたけどマウントできないとこまで行った。
ls /hoge とかやると刺さる。
サーバ環境だったし普通にNFSマウントしてればマウント先が復帰すれば自動的に復帰するのでautofsしてもあんま費用対効果が見込めないのでやめた。
環境
Debian squeeze
下のログ見なくてもたぶんこれで起動するまではいける
タイトルの通り刺さるけど。
誰か刺さる原因教えてください。
$ sudo rmmod autofs $ sudo modprobe autofs4 $ echo 'lxc.cgroup.devices.allow = c 10:* rwm' | sudo tee /var/lib/lxc/<container>/config
右往左往 (当時の状況ログ)
Error: failed to load autofs4 module.
$ sudo service autofs start Error: failed to load autofs4 module.
(initスクリプトがおかしいというページを見たので)
エラーを出してる部分のチェックがおかしいと思いアンコメント。
Error: autofs kernel module is loaded, autofs4 required
$ sudo service autofs start Error: autofs kernel module is loaded, autofs4 required
エラーを出してる部分のチェックがおかしいと思いアンコメント。
rmmod, modprobe
bash-3.1# rmmod autofs
bash-3.1# modprobe autofs4
bash-3.1# sh /etc/rc.d/rc.autofs.new start
Starting automount: done.
bash-3.1#Ok now it works. Let's see if it auto-umounts on this test machine without symlinks.
Autofs mounts, but doesn't umount
Hope default timeout isn't two days :^)
rmmodしてmodprobeしたら直ると聞いたのでそのまま実行。
LXC内なので/lib/modulesが空。bind mountする。
→成功したあとでbind mountやめても成功したので関係なさそう。
mknod: `/dev/autofs': Operation not permitted
$ sudo service autofs start Starting automount: mknod: `/dev/autofs': Operation not permitted /usr/sbin/automount already running. done.
/dev/autofsを作ろうとするが権限がない。
LXCの設定ファイルでautofsのデバイスファイルを作るのを許可する。
/var/lib/lxc/
lxc.cgroup.devices.allow = c 10:* rwm
10はautofsのメジャー番号。
/etc/init.d/autofsでmknodしてるので引数を見てわかった。
mknod [メジャー番号] [マイナー番号]
マイナー番号は機種ごとに違う。
起動できた
$ sudo service autofs start Starting automount: done.
とりあえず起動はできた。
ls /data -> フリーズ
/etc/auto.master
/- /etc/auto.direct
/etc/auto.direct
/autofs/hoge -fstype=nfs,ro,_netdev,mountproto=tcp --timeout=10 bokenas:/datavol
/netにマウントする
(TODO: /netにNFSマウントする既存の設定が/etc/auto.masterにあったのであとで試す。)
試してない。