特にリストア処理の中で使うわけではないが、念の為に取得している。
(実は、ext系ファイルシステムを使う上で、気をつけないといけない情報が、このメタ情報に記載されている。リストア処理の中で、この値をチェックしていないため、リストア時にこの値を見ておく必要があるかもしれない。)
例によって、先にスクリプトだ。(毎回書いているが、sudo su - を…)
# cd
# cd backup/bin
# vi 0070_get_fsmetadata
--内容ココから--
#!/bin/sh
BINDIR=`/usr/bin/dirname $0`
BINDIR=`/usr/bin/realpath ${BINDIR}`
ETCDIR=`/usr/bin/realpath ${BINDIR}/../etc`
. ${ETCDIR}/config
# Get Filesystem Metadata
for FSCONFIG in ${ETCDIR}/fsconfig/*
do
VOLNAME=""
USELVM=""
. ${FSCONFIG}
. ${BACKUPPOINT}/current/config/blkid/${VOLNAME}
if [ x${TYPE} = "xext2" \
-o x${TYPE} = "xext3" \
-o x${TYPE} = "xext4" ]
then
if [ x${USELVM} = "xNo" ]
then
/sbin/tune2fs -l /dev/${VOLNAME} > ${BACKUPPOINT}/current/config/tune2fs/${VOLNAME}
fi
if [ x${USELVM} = "xYes" ]
then
/sbin/tune2fs -l /dev/${ROOTVG}/${VOLNAME} > ${BACKUPPOINT}/current/config/tune2fs/${VOLNAME}
fi
fi
done
--中身ココまで--
中身は大したことはしていない。
ファイルシステムが ext2/ext3/ext4 の場合に、対象のデバイスに対してtune2fs -lを実行しているだけだ。
実際に実行してみると分かるが、ファイルシステムの細かいパラメータが記載されている。
が、あまり気にしなくていい。
気にしておきたいのは、以下の2つのパラメータだ。
- Maximum mount count:
前回fsckを実行してから、マウント回数(Mount count:)がこの値を超えるてマウントする場合、自動的にfsckを実行する。 - Check interval:
前回fsckを実行してから、この日数を経過してからマウントする場合、自動的にfsckを実行する。
ext2/3/4系でファイルシステムを作成する場合は、この値に気をつけておいた方がいいだろう。
ちなみに、値を変更する場合は、前者は tune2fs -c 回数 デバイスファイル名(ex. tune2fs -c 20 /dev/vg-root/lv-root)、後者は tune2fs -i 日数 デバイスファイル名(ex. tune2fs -i 180 /dev/vg-root/lv-root)のようだ。
では実行してみよう。
# chmod +x 0070_get_fsmetadata
# ./0010_mount
# ./0020_mkdir
# ./0030_create_config
# ./0040_create_snapshot
# ./0050_create_archive
# ./0060_remove_snapshot
# ./0070_get_fsmetadata
問題なく動いたら、ファイルが作成されているか見てみよう。
# ls -l /media/backup/current/config/tune2fs
ぞろぞろとファイルが出てきたかと思う。
中身を見てみると、どのような感じか分かる。
# cat /media/backup/current/config/tune2fs/lv-root
こんな感じで、ext2/ext3/ext4 のメタ情報を取得している。
リストア等で何か問題があったら参照するようにしよう。
じゃぁ、いつも通りゴミ掃除をしてしまおう。
# rm -rf /media/backup/current
# umount /media/backup
次は、バックアップ取得先である current ディレクトリを、日付ディレクトリ(YYYYMMDDhhmmss)に変更する処理だ。
今回は以上。
0 件のコメント:
コメントを投稿