Linux サーバにディスクを追加してマウントしようとしたら,/mnt にディレクトリが作れない。autofs を使っていたからだった。
■ ■ ■
Linux サーバにハードディスクを追加した。dmesg でハードディスクが認識されたのを確認。それではマウントポイントでも作ってみようかと,/mnt ディレクトリに hdnew ディレクトリを作ろうとしたら怒られた。
# mkdir /mnt/hdnew
mkdir: cannot create directory `/mnt/hdnew': Permission denied
root なのに Permission denied とはどういうことだよ! と叫んで,それではと /tmp には問題なくディレクトリが作れてマウントも OK。どうしてだよ!
$ ls -la /mnt
total 4
drwxr-xr-x 2 root root 0 Aug 9 01:58 ./
drwxr-xr-x 28 root root 4096 Aug 9 01:57 ../
何もない。しばらく悩んで,あらためて /mnt ディレクトリを見直すと,
$ ls -la /mnt
total 36
drwxr-xr-x 3 root root 0 Aug 9 02:02 ./
drwxr-xr-x 28 root root 4096 Aug 9 01:57 ../
drwxr-xr-x 10 apache apache 32768 Jan 1 1970 fat32/
あら? 何かできてる。このディレクトリ名には見覚えがある。autofs である。USB ハードディスクを引っこ抜いた途端にパニックになる危険を回避するために autofs にしたのだった。
/etc/auto.master には次のように書いてあった。
/mnt /etc/auto.misc
「/mnt のことは /etc/auto.misc に聞け」である。そこで,/etc/auto.misc を見ると,
cd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
fat32 -fstype=vfat,rw,uid=48,gid=48,umask=022,codepage=932,iocharset=sjis,shortname=winnt :/dev/sda1
あった。fat32 ディレクトリは,FAT32 でフォーマットされていて (vfat),ユーザとグループは apache (uid=48,gid=48),コードページは Shift_JIS 拡張 (932),入出力文字コードセットは Shift_JIS (sjis) だと指定されている。そうだったそうだった。
追加したディスクは ext3 フォーマットなので,以下のように /etc/auto.misc に追加した。
cd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
fat32 -fstype=vfat,rw,uid=48,gid=48,umask=022,codepage=932,iocharset=sjis,shortname=winnt :/dev/sda1
hdc2 -fstype=ext3 :/dev/hdc2
「/etc/init.d/autofs restart」すれば設定が反映される。autofs の場合,マウントポイントとしてのディレクトリの作成は不要である。
アクセスしてみると,
$ ls /mnt/hdc2
bin/ dev/ home/ lib/ lost+found/ misc/ net/ proc/ sbin/ srv/ tftpboot/ usr/
boot/ etc/ initrd/ lib64/ media/ mnt/ opt/ root/ selinux/ sys/ tmp/ var/
そしてもう一度 /mnt を見ると,
$ ls -la /mnt
total 40
drwxr-xr-x 4 root root 0 Aug 9 03:21 ./
drwxr-xr-x 28 root root 4096 Aug 9 01:57 ../
drwxr-xr-x 10 apache apache 32768 Jan 1 1970 fat32/
drwxr-xr-x 28 root root 4096 Aug 8 02:14 hdc2/
FAT32 をマウントしたポイントの日時は1970年1月1日で,ext3 のマウントポイントの日時はアクセスした日時になるのね。へー。
めでたしめでたし。
Posted by n at 2012-08-08 03:25 | Edit | Comments (0) | Trackback(0)