Tag: バックアップ Tag: dump Tag: restore
Ubuntu、Linuxのシステムバックアップ
システム全体のバックアップ
標準的なコマンドとしては、dumpとrestoreを使う方法が紹介されていると思います。ハードディスクが故障して新しいハードディスクにrestoreする場合は、OSのブートを行うMBRも設定しなければならない。以下などを参考にするといいと思われる。なお、WEBサイトには間違いもあるので、鵜呑みにせずに良く読んで不明な部分を解決し、まずはテスト環境でデータを戻してから本番環境で実行する事をお勧めします。基本的にrestoreはライブCDで起動し、バックアップ元、バックアップ先を手動でマウントして作業します。起動したUbuntuに上書きするような形でrestoreはしません。Cronezillaなどのバックアップ用に調整されたライブCDはデータのある部分のみを効率よく取得し、バックアップ元とバックアップ先の領域のサイズが多少違ってもリストア出来るようになっています。
- Ubuntu/システムのバックアップ
- https://ja.osdn.net/projects/clonezilla/
様々なバックアップ方法があります。以下などを参考に確実にバックアップ、リストア出来る方法で運用してください。
- UbuntuTips/Install/Backup・・・概要と関連情報へのURLリンク
上記URLに、tarでバックアップする方法が、以下にあります。これは、起動したシステムの/以下をバックアップする方法になると思います。少し情報が古いですが、これで問題無ければ、この方法が処理しやすいかもしれません。ただし、新しいハードディスクを利用しての復元(リストア)ではGRUBのインストールが必要ですし、swapパーティーションも適切に作成、設定します。
https://wiki.ubuntulinux.jp/UbuntuTips/Others/BackUpAndRestore
原文と思われる以下のURLには更に詳しくtarコマンドを利用した場合のバックアップについて説明があります。
https://help.ubuntu.com/community/BackupYourSystem/TAR
【注意】 リストアの際で、新しいHDDにリストアする時などファイルシステムをmkfs.ext4などで初期化する必要がある場合には、ライブCDなどを使ってパソコンを起動しますが、ライブCDで利用するファイルシステム管理プログラムのファイルシステムのサポートしているバージョンとリストアされるそのバージョンに大きさ差があるとシステムが起動しない事があります。したがって、リストアの際には、そのOS(Ubuntu)のバージョンのライブCDで起動して作業をして下さい。そうすると概ねバージョンが大きく異なることはなく、ファイルシステムのサポートされるバージョンの差異によるトラブルを回避出来ます。
- 第121回 Clonezillaを使ってハードディスクを丸々バックアップ
- 正統派なバックアップを行う / 王の生還 - いますぐ実践! Linuxシステム管理 / Vol.124
- ubuntuのシステムバックアップ・・・Timeshift
バックアップ(保存)先のメディア、機器
同一PC内
別のPC、サーバー、NASなど
NAS
RAID1のミラーリングなどが出来るNASがお勧めです。
LVM利用のバックアップを使わない環境へリストア
2020-09-28
通常のtarを利用したシステム全体のバックアップをリストアする要領で戻したが、GRUB2によるブートが出来なかった。GRUB2自体のハードディスクの例えば/dev/sdaにインストールでエラーは出なかった。GRUB2の起動するOSの一覧メニューも出てきた。起動しようとすると、/root/proc がマウント出来ない云々と出てきた後にメンテナンスモードのようなものが起動した。
GRUBの設定関係が環境が変わったことに対応していないと思われるがどのように変更したらよいのでしょうか。
駄目な時の処理の概要メモ
- ishimaru@192.168.1.xxx ですが、バックアップしたい元のPCがIPアドレス192.168.1.xxxで動作していて、ishimaruユーザーはsudoが可能なユーザー。
- SSHのポートは7821にしている。
RescueCD でリストアするPC(ここでは仮想環境内)起動
/dev/sda にext4とswapを作成
/dev/sda1 を /mnt にマウント
cd /mnt
ssh -p 7821 ishimaru@192.168.1.xxx "sudo -S tar cvplf - --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys --exclude=/tmp /" | tar xvpl
GRUB2をインストールするので・・・
mkdir proc lost+found mnt sys tmp
mount --bind /dev/ /mnt//dev/
mount --bind /sys/ /mnt/sys/
mount -t proc none /mnt/proc/
chroot /mnt/ /bin/bash
export PATH=/bin:/usr/sbin:$PATH
grub-mkconfig -o /boot/grub/grub.cfg
grub-install /dev/sda
/etc/fstab を今回のシステムに合わせる
/etc/network/inerfaces の IP アドレスは、192.168.1.xxx以外にする
exit
umount /mnt/proc
umount /mnt/sys
umount /mnt/dev
cd /
umount /mnt
そして再起動するが・・・正常起動しなかった。
起動させるために
Ubuntuの同じバージョンを新たにインストール
openssh-server
apache2
postgresql
postfix
をapt install でインストール。
ssh -p 7821 ishimaru@192.168.1.xxx "sudo -S tar cvplf - \
/home /root \
/etc/passwd /etc/shadow /etc/group \
/etc/ssl \
/etc/ssh/sshd_config \
/etc/apache2 \
/etc/letsencrypt \
/etc/postgresql \
/var/lib/postgresql \
/etc/postfix \
/var/spool/cron/crontabs" \
| tar xvpl