オートマウントメカニズム
FreeBSD 10.
この自動マウント機能は次のカーネルモジュールやコマンドで実現されています。
- autofs(5) - 自動マウントファイルシステム。カーネルの内部の実装で、
マウントが必要なタイミングになるとautomountd(8)にマウント処理を依頼し、 automountd(8)が自動的にマウント処理を完了させるまで処理待ちをする - automountd(8) - カーネルから依頼を受けてマウント処理などを実施するデーモン
- autounmountd(8) - automountd(8)がマウントした場所を、
所定の時間が経過したらアンマウントするデーモン - automount(8) - キャッシュをクリアしたりフルアンマウントするなど自動マウント操作性を提供するユーティリティコマンド
- /etc/
auto_ master - 設定ファイル。automountd(8)はこのファイルの内容に従って動作する
/etc/
オートマウントを有効にする設定
オートマウント機能を有効にするには、
autofs_enable="YES"
システムを再起動することができない場合には、
service automount start service automountd start service autounmountd start
この段階でautomountd(8)とautounmountd(8)デーモンが動作するようになります。kldstat(8)コマンドを実行するとautofs.
設定ファイルを書き換えたといった場合には、
service automount restart service automountd restart service autounmountd restart
このあたりの操作は再起動すると考えていたのと違う動作になっていることがありますので、
リムーバブルメディアをオートマウント
/etc/
/media -media -nosuid
なにもない状態では次のように/media/には何もありません。
% ls -l /media/ total 0 %
USBメモリなどを挿入すると、
% df | grep media map -media 0B 0B 0B 100% /media /dev/da0s1 3.7G 408K 3.7G 0% /media/SP UFD U2 % mount | grep media map -media on /media (autofs) /dev/da0s1 on /media/SP UFD U2 (msdosfs, local, nosuid, automounted) %
% ls -l /media total 4 drwxr-xr-x 1 root wheel 4096 Jan 1 1980 SP UFD U2 % ls -l /media/SP\ UFD\ U2/ total 244 -rwxr-xr-x 1 root wheel 241152 Oct 17 2012 Activate Warranty.exe drwxr-xr-x 1 root wheel 4096 Jul 28 02:47 images -rwxr-xr-x 1 root wheel 585 Nov 29 2012 index.html %
LinuxディストリビューションでもUSBメモリは/media/以下にオートマウントされることが多いので、
noautoをオートマウント
/etc/
オートマウント機能を使うと、
/- -noauto
たとえば/etc/
192.168.185.1:/Users/daichi /Users/daichi nfs rw,noauto 0 0
システム起動時には次のような状況になっていて、
% df Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/da0p2 28433628 4981848 21177092 19% / devfs 1 1 0 100% /dev map -noauto 0 0 0 100% /Users/daichi % mount /dev/da0p2 on / (ufs, local, journaled soft-updates) devfs on /dev (devfs, local, multilabel) map -noauto on /Users/daichi (autofs) %
ssh(1)経由でこのマシンにログインするとか、
$ df Filesystem Size Used Avail Capacity Mounted on /dev/da0p2 27G 4.8G 20G 19% / devfs 1.0K 1.0K 0B 100% /dev map -noauto 0B 0B 0B 100% /Users/daichi 192.168.185.1:/Users/daichi 931G 269G 661G 29% /Users/daichi $ mount /dev/da0p2 on / (ufs, local, journaled soft-updates) devfs on /dev (devfs, local, multilabel) map -noauto on /Users/daichi (autofs) 192.168.185.1:/Users/daichi on /Users/daichi (nfs, automounted) $
マウントされるときに多少のラグを感じることがありますが、
% ls /Users/daichi/ | head Applications Desktop Documents Downloads Dropbox Library Movies Music Pictures Public %
automountd(8)がマウントした領域はautounmountd(8)によってモニタリングされ、
automount -fuのようにコマンドを実行すると、
使えるオートマウント
ライトなユースケースでは今回紹介した設定でほとんど事足りると思います。しばらくオートマウント機能を使っていますが、
/etc/
MacBook Proの仮想環境上でFreeBSDを使っているといったような場合、
次回は/etc/