gjournal を新規に作る ― 2008年01月25日 11時05分16秒
まず、-j jsize
で指定する大きさを調べる。
% vi /usr/src/sbin/geom/class/geom_jornal.c
if (jsize == -1) {
/*
* No journal size specified. 1GB should be safe
* default.
*/
jsize = 1073741824ULL;
} else {
if (jsize < 104857600) {
gctl_error(req, "Journal too small.");
return;
}
if ((jsize % ssize) != 0) {
gctl_error(req, "Invalid journal size.");
return;
}
}
初期値は 1GB で、キロバイト単位で指定するようだ。
# bsdlabel /dev/ad0s3
# /dev/ad0s3:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 1048576 16 4.2BSD 2048 16384 8
b: 2097152 1048592 unused 0 0
c: 20964825 0 unused 0 0 # "raw" part, don't edit
d: 6291456 3145744 4.2BSD 2048 16384 28552
e: 11527625 9437200 4.2BSD 2048 16384 28552
ad0s3e を使う。ここには古いシステムの /usr が入っている、6.1-RELEASE 時代のだ。7.0 系に既に移行をしているので、データを保存する理由はない。
# kldload geom_journal
# gjournal label /dev/ad0s3e
gjournal: File system exists on /dev/ad0s3e and this operation would destroy it.
Use -f if you really want to do it.
既にある UFS パーティションを認識して、警告を出してきた。消してもかまわないので、-f を与えて強制する。
# gjournal label -f /dev/ad0s3e
# newfs -J /dev/ad0s3e.journal
/dev/ad0s3e.journal: 4604.7MB (9430472 sectors) block size 16384, fragment size 2048
using 26 cylinder groups of 183.77MB, 11761 blks, 23552 inodes.
super-block backups (for fsck -b #) at:
160, 376512, 752864, 1129216, 1505568, 1881920, 2258272, 2634624, 3010976,
3387328, 3763680, 4140032, 4516384, 4892736, 5269088, 5645440, 6021792,
6398144, 6774496, 7150848, 7527200, 7903552, 8279904, 8656256, 9032608,
9408960
.jornal が付いたデバイスができる。 newfs に -J を追加し、ジャーナルをとるように指定する。
# mount -oasync /dev/ad0s3e.journal /mnt/ufs
# mount
...
/dev/ad0s3e.journal on /mnt/ufs (ufs, asynchronous, local, gjournal)
gjournal を使っていると、async でも安全らしい。
コメント
トラックバック
このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2008/01/25/2578222/tb
※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※なお、送られたコメントはブログの管理者が確認するまで公開されません。