「SquashFS によるフルシステムバックアップ」の版間の差分
ナビゲーションに移動
検索に移動
(→リストア (マウントとコピー): QEMU でのバックアップのテスト (任意)を翻訳して追加) |
(他言語へのリンクを追加) |
||
| (2人の利用者による、間の5版が非表示) | |||
| 1行目: | 1行目: | ||
[[Category:バックアップ]] |
[[Category:バックアップ]] |
||
[[en:Full system backup with SquashFS]] |
[[en:Full system backup with SquashFS]] |
||
| + | [[es:Full system backup with SquashFS]] |
||
{{Related articles start}} |
{{Related articles start}} |
||
{{Related|tar によるフルシステムバックアップ}} |
{{Related|tar によるフルシステムバックアップ}} |
||
| 20行目: | 21行目: | ||
| バックアップするドライブ |
| バックアップするドライブ |
||
|} |
|} |
||
| − | |||
| − | {{Warning|SquashFS は [[アクセス制御リスト]] をサポートしていません[https://www.kernel.org/doc/html/latest/filesystems/squashfs.html#todo-list]}} |
||
== 長所と短所 == |
== 長所と短所 == |
||
| 127行目: | 126行目: | ||
--enable-kvm \ |
--enable-kvm \ |
||
-cpu host |
-cpu host |
||
| + | }} |
||
| + | |||
| + | == バックアップの検査 (オプション) == |
||
| + | |||
| + | バックアップの日付を取得する |
||
| + | |||
| + | # date --date=@"$(unsquashfs -mkfs-time /dev/sdB)" |
||
| + | |||
| + | スーパーブロックの詳細情報 |
||
| + | |||
| + | # unsquashfs -stat /dev/sdB |
||
| + | |||
| + | チェックサム |
||
| + | |||
| + | {{Accuracy|{{ic|unsquashfs -stat}} and {{ic|df}} gives different sizes}} |
||
| + | |||
| + | {{bc|1= |
||
| + | # COUNT="$(unsquashfs -stat /dev/sdB {{!}} grep -F 'Filesystem size' {{!}} cut -d' ' -f3)" |
||
| + | # echo "$COUNT Byte" |
||
| + | # numfmt --to=iec-i "$COUNT" |
||
| + | # head -c "$COUNT" /dev/sdB {{!}} sha1sum {{!}} tee -a sha1sum.txt |
||
| + | }} |
||
| + | |||
| + | == バックアップからファイルを取得する == |
||
| + | |||
| + | |||
| + | # mount /dev/sdB /mnt |
||
| + | # cp /mnt/''path/to/file'' ''/path/to/destination'' |
||
| + | |||
| + | == バックアップの復元 == |
||
| + | |||
| + | {{Note|1=<nowiki/> |
||
| + | リストア後にシステムを起動できるようにする。 |
||
| + | * [[fstab]] を修正する |
||
| + | * arch-chroot |
||
| + | ** initramfs の [[mkinitcpio#イメージ作成とアクティベーション|再生成]] を行う。 |
||
| + | ** [[Arch ブートプロセス#ブートローダー|ブートローダー]] のインストールと設定 |
||
}} |
}} |
||
2023年5月20日 (土) 17:58時点における最新版
関連記事
ファイルシステム全体の圧縮バックアップアーカイブを SquashFS フォーマットで作成することができます。ランダムアクセスが可能なため、バックアップや取り出しに比較的時間がかかりませんが、追記以外の改変はまだできません。
| デバイスファイル | 説明 |
|---|---|
| /dev/sdB | バッアップドライブ |
| /dev/sdL | ライブメディア |
| /dev/sdSRC | バックアップするドライブ |
目次
長所と短所
長所:
- パーティションなし、必要なサイズの推測なし。
- SquashFS ほとんどのレスキューディスクでサポートされています。
- ランダムアクセス で、プレーンな
mountを使用する。 - 重複ファイルはデフォルトで削除されます (
no-duplicatesフラグがオンでない限り。)
短所:
- すべての ACL が失われます。
- Windows 1 からアクセスできません。
- 追加可能ですが、そこから除去することはできません。
- 他の目的でディスクを使用するには、バックアップ 2 を破棄する必要があります。
バックアップドライブを準備する
- すべてのパーティション
/dev/sdBNを消去してから、パーティションテーブル/dev/sdBを wipefs で消去します。 - すべてのライトキャッシュを同期する
#sync - パーティションテーブルの変更をOSに通知する
#partprobe - 不正なブロックをチェックする。
- バックアップドライブが SSD の場合は、S.M.A.R.T. を使用します。
- バックアップドライブが HDD の場合は、 badblocks を使用します。
ライブメディアの準備
インストールガイド#インストールメディアの準備 または archiso を /dev/sdL にインストールします。
バックアップ
バックアップしたいファイルシステムをマウントします。(例:/dev/sdSRC を /mnt に)
# fsck /dev/sdSRC # mount -o ro /dev/sdSRC /mnt
を実行します。
バックアップ (サンプルスクリプト)
# mksquashfs /mnt /dev/sdB \
-not-reproducible \
-xattrs \
-wildcards \
-noappend \
-progress \
-mem 5G \
-e \
var/cache/pacman/pkg \
var/lib/pacman/sync \
var/log/journal \
boot/efi \
boot/grub \
boot/initramfs-linux"*".img \
boot/vmlinuz-linux
- -not-reproducible
- バックアップ速度を若干上げる
- -noappend
- 上書き
- -mem
- mksquashfsに RAM を付与
- -e
- 除外するディレクトリ/ファイルのリスト
QEMU でのバックアップのテスト (任意)
許可を与える
$ sudo chown $USER:$USER /dev/sdB
QEMU を起動する
$ qemu-system-x86_64 \ -kernel /boot/vmlinuz-linux \ -append "root=/dev/sdB ro loglevel=3 init=/usr/lib/systemd/systemd" \ -initrd /boot/initramfs-linux-fallback.img \ -drive file=/dev/sdB,index=0,media=disk,format=raw \ -m virtual_machine_ram_in_MiB \ --enable-kvm \ -cpu host
バックアップの検査 (オプション)
バックアップの日付を取得する
# date --date=@"$(unsquashfs -mkfs-time /dev/sdB)"
スーパーブロックの詳細情報
# unsquashfs -stat /dev/sdB
チェックサム
# COUNT="$(unsquashfs -stat /dev/sdB | grep -F 'Filesystem size' | cut -d' ' -f3)" # echo "$COUNT Byte" # numfmt --to=iec-i "$COUNT" # head -c "$COUNT" /dev/sdB | sha1sum | tee -a sha1sum.txt
バックアップからファイルを取得する
# mount /dev/sdB /mnt # cp /mnt/path/to/file /path/to/destination