GEOM gbde2006年03月03日 12時09分16秒

Laptop PC のホームディレクトリを、思うところがあって暗号化。昔々に、cfs などを試したが使いづらく結局使っていなかった。今回、NTFS 領域を縮めて、各スライスを拡張したので、この機会にと。

GEOM は 5.x 系に向けて新しく作られたディスク操作のレイヤーらしい。今までも、軽く gmirror や gconcat なども試したが、簡単で使いやすいのが特徴だ。実装とバグにはかなり悩まされたと言う話は聞くが。


$ mkdir /etc/gbde
$ gbde init /dev/ad0s4c -i -L /etc/gbde/ad0s4c
sector_size = 2048
Enter new passphrase:
$ gbde attach /dev/ad0s4c -l /etc/gbde/ad0s4c
Enter passphrase:
$ newfs -U /dev/ad0s4c.bde
$ mount /dev/ad0s4c.bde /export

ロックファイルは一つのディレクトリに置きたいので、/etc/gbde。よく、gdb と打ち間違える。

今の設定だと、サスペンドしたときはそのまま mount されたまま残る。どうせ、バッテリーもへばっているので、奪っていったとしても数分から十分ぐらいで電源が落ちる。どうせ、一度落ちてしまえば、mount 出来なくなるので、今のところはこれでよいとする。

あと、起動毎に root で入って /export を mount しなければいけないが、どうせネットワークの設定を起動毎に変えなきゃいけないので、手間としては変わらないので、こっちも当分ほおっておくことにする。

若干、遅くなった気はするが、耐えられないと言う程のものでもない。ネットワーク越しに /export を再構築したが、ネットワークの方が遅いので前と変わらなかったのである。今のところ、特に問題もなく使えている。

(物理的な)鍵になるデバイスがあるようなら、gshsec の方がいいかも。特に常時携帯している USB デバイスもないので、今回は見送り。

後日談:

実は、この機械のハードドライブは調子がよくなくて、DMA エラーなんぞを時々吐くのです。特に長時間ディスクを酷使した後に起きるのですが、何度かありました。ほとんどの場合は、最悪でも手動 fsck で直ったのですが、復旧不能になったこともたしか一度。

また、それが今日起こってしまい syncing で 32 buffer が書き込みできませんでした。他のパーティションは fsck を走らせれば大丈夫だったのですが、gbde のパーティションがおかしくなってしまったのです。fsck を走らせると、pass 1 の calloc で 2GB 程のメモリーの割当てを失敗し、先に進めないのです。

実は、このパーティションはすぐに必要だったので、gdbe 無しで、急きょ復旧させました。ネットワーク越しの rsync でしたが、やはり gbde を通すと、書き込みは半分くらいの速度になるようです。 2006/03/04 追記