システムバックアップ

提供: ArchWiki
2022年2月14日 (月) 18:03時点におけるKgx (トーク | 投稿記録)による版 (→‎Bootable backup: 翻訳)
ナビゲーションに移動 検索に移動

関連記事

例えば /etc, /home, /root, /var, サーバーの場合は /srv に保存されているシステムとユーザーのデータを定期的にバックアップすることが重要です。

Btrfs のスナップショットを利用する

こちらを参照 Btrfs#スナップショット, システムバックアップ#スナップショットと/bootパーティション, それと Snapper

LVM のスナップショットを利用する

こちらを参照 LVM#スナップショット, LVM によるルートファイルシステムのスナップショット作成, それと システムバックアップ#スナップショットと/bootパーティション

rsync を利用する

こちらを参照 rsync によるフルシステムバックアップ

tar を利用する

こちらを参照 Tar によるフルシステムバックアップ

SquashFS を利用する

See SquashFS によるフルシステムバックアップ

起動可能なバックアップ

起動可能なバックアップをとっておくと、ファイルシステムが壊れたり、アップデートでシステムが壊れたりしたときに便利です。バックアップは、testing レポを有効にして、アップデートのテストベッドとして使うこともできます。システムを別のパーティションやドライブに移して起動したい場合、バックアップの /etc/fstab とブートローダの設定ファイルを更新するのと同じくらい簡単な手順で行えます。

このセクションでは、システムを別のドライブやパーティションにバックアップしたこと、現在のブートローダが問題なく動作していること、そしてバックアップからも起動したいことを前提に説明します。

Update the fstab

Without rebooting, edit the backup's fstab by commenting out or removing any existing entries. Add one entry for the partition containing the backup like the example here:

/dev/sdaX    /             ext4      defaults                 0   1

Remember to use the proper device name and filesystem type.

Update the bootloader's configuration file

For Syslinux, all you need to do is duplicate the current entry, except pointing to a different drive or partition.

ヒント: Instead of editing syslinux.cfg, you can also temporarily edit the menu during boot. When the menu shows up, press the Tab key and change the relevant entries. Partitions are counted from one, drives are counted from zero.

For GRUB, it is recommended that you automatically re-generate the main configuration file. If you want to freshly install all GRUB files to somewhere other than /boot, such as /mnt/newroot/boot, use the --boot-directory flag.

Also verify the new menu entry in /boot/grub/grub.cfg. Make sure the UUID is matching the new partition, otherwise it could still boot the old system. Find the UUID of a partition with lsblk:

$ lsblk -no NAME,UUID /dev/sdXY

where /dev/sdXY is the desired partition (e.g. /dev/sdb3). To list the UUIDs of partitions GRUB thinks it can boot, use grep:

# grep UUID= /boot/grub/grub.cfg

First boot

Reboot the computer and select the right entry in the bootloader. This will load the system for the first time. All peripherals should be detected and the empty folders in / will be populated.

Now you can re-edit /etc/fstab to add the previously removed partitions and mount points.

Snapshots and /boot partition

If your file system supports snapshots (e.g., LVM or Btrfs), these will most likely exclude the /boot partition or ESP.

You can copy the boot partition automatically on a kernel update to your root partition with a pacman hook (make sure the hook file is owned by root):

/etc/pacman.d/hooks/50-bootbackup.hook
[Trigger]
Operation = Upgrade
Operation = Install
Operation = Remove
Type = Path
Target = usr/lib/modules/*/vmlinuz

[Action]
Depends = rsync
Description = Backing up /boot...
When = PostTransaction
Exec = /usr/bin/rsync -a --delete /boot /.bootbackup