BSD界隈四方山話
第126回 つかってみようHAMMER1ファイルシステム
HAMMER1ファイルシステム
前回はHAMMER2ファイルシステムの使い方を紹介しました。HAMMER2ファイルシステムはそろそろ本格的に使えそうな感じになってきていますが,
HAMMER2とHAMMER1は利用するコマンドが違います。まず,
図 newfs_
dfly50# newfs_hammer -L HAMMER1 /dev/da1s0 Volume 0 DEVICE /dev/da1s0 size 20.00GB initialize freemap volume 0 initializing the undo map (512 MB) --------------------------------------------- HAMMER version 7 1 volume total size 20.00GB root-volume: /dev/da1s0 boot-area-size: 32.00KB memory-log-size: 256.00KB undo-buffer-size: 0.50GB total-pre-allocated: 0.52GB fsid: 20dc7878-d30a-11e7-84f4-010c290d16d7 NOTE: Please remember that you may have to manually set up a cron(8) job to prune and reblock the filesystem regularly. By default, the system automatically runs 'hammer cleanup' on a nightly basis. The periodic.conf(5) variable 'daily_clean_hammer_enable' can be unset to disable this. Also see 'man hammer' and 'man HAMMER' for more information. WARNING: HAMMER filesystems less than 50GB are not recommended! You may have to run 'hammer prune-everything' and 'hammer reblock' quite often, even if using a nohistory mount. dfly50#
HAMMER1ファイルシステムでフォーマットした領域はmount_
図 HAMMER1とHAMMER2はこのように別のファイルシステムとして認識されている
dfly50# mount_hammer /dev/da1s0 /mnt dfly50# mount da0s1d on / (hammer2, local) devfs on /dev (devfs, nosymfollow, local) /dev/da0s1a on /boot (ufs, local) /build/usr.obj on /usr/obj (null) /build/var.crash on /var/crash (null) /build/var.cache on /var/cache (null) /build/var.spool on /var/spool (null) /build/var.log on /var/log (null) /build/var.tmp on /var/tmp (null) tmpfs on /tmp (tmpfs, local) procfs on /proc (procfs, local) HAMMER1 on /mnt (hammer, noatime, local) dfly50#
HAMMER1で使えた機能でHAMMER2でなくなってしまったものに
これは名前のとおり,
たとえば,
図 データファイルの存在を確認
dfly50# ls -alh total 17 drwxr-xr-x 1 root wheel 0B Nov 27 09:33 . drwxr-xr-x 1 root wheel 0B Nov 25 01:04 .. -r--r--r-- 1 root wheel 13K Nov 27 09:32 data.txt dfly50#
このデータファイルを削除してみます。当然,
図 削除したファイルはもう表示されない
dfly50# rm data.txt dfly50# ls -al total 1 drwxr-xr-x 1 root wheel 0 Nov 27 09:33 . drwxr-xr-x 1 root wheel 0 Nov 25 01:04 .. dfly50#
しかし,
図 undo(1)コマンドで元に戻す
dfly50# undo data.txt > data.txt.org dfly50# ls -alh total 17 drwxr-xr-x 1 root wheel 0B Nov 27 09:35 . drwxr-xr-x 1 root wheel 0B Nov 25 01:04 .. -rw-r--r-- 1 root wheel 13K Nov 27 09:34 data.txt.org dfly50#
操作を間違えてうっかり必要なファイルを削除してしまうことは誰しも経験のあることではないかと思います。削除したことがなくても,
HAMMER1ファイルシステムとundoコマンドを使うとそんなときになんとか原状復帰させることが可能になります。ヒヤッとしたときにこの機能は心強いものです。もしもこうした凡ミスが多いというのであれば,
FreeBSD勉強会
12月7日 (木) 19:00~ 第68回 BSDTW 2017から注目点紹介+α (ヴァル研 セミナールーム)
2017年11月11~12日に台湾の台北において開催された
本勉強会への参加者には抽選か勝ち抜きかでデーモンTシャツなどのグッズをお渡しします :)
参加登録はこちらから。
FreeBSD勉強会 発表者募集
FreeBSD勉強会では発表者を募集しています。FreeBSDに関して発表を行いたい場合,
バックナンバー
BSD界隈四方山話
- 第142回 FreeBSD Meltdown対策機能による性能影響ベンチマーク
- 第141回 FreeBSD 11.2は6月リリース
- 第140回 AsiaBSDCon 2018
- 第139回 OpenBSD,Meltdownバイナリパッチ提供開始
- 第138回 OpenBSD,Meltdown対策機能をマージ
- 第137回 FreeBSDのMeltdown/Spectre対策,11系にマージ
- 第136回 FreeBSDのMeltdown/Spectre対策
- 第135回 NetBSDにおけるMeltdown/Spectre対策状況
- 第134回 Intelマイクロコードアップデート適用の一時中止を
- 第133回 OpenBSD on iTWire