故障したハードドライブを持つサーバーとして実行しているシステムがあります。重要なデータはすべてRAID上にあり、バックアップされていますが、システム自体のイメージはありません。もちろんインストールはできるので、特に必要はありませんが、復元パスをたどる前に、まずホットコピーを試したいと思います。これにはプロセスとしていくつかの欠点があることは知っていますが、最初の手段として試すことには多くの欠点はないと思います。
私の考えは
私がまだ持っている質問は:
適切なrsyncコマンドは何ですか?私は計画していました:
rsync -aAXx / /mnt/somedir/
--exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found}
(私はいくつかのディレクトリをスキップしています、たとえば私のマウントされたレイドなど)
オプションは次のとおりです。
-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)
-A, --acls preserve ACLs (implies -p)
-X, --xattrs preserve extended attributes
-x, --one-file-system don't cross filesystem boundaries
プロセスを高速化するために、具体的に-H、-vおよび--progressをスキップしています。
Ubuntuで動作しますか? Ubuntuがハードリンクを使用しているかどうかはわかりませんが、オプションは必要ないと思いますか?
この実行後、古いディスクがまだ起動している場合は、再起動して(おそらくライブUSBドライブを使用して)rsyncを再実行できます。おそらくシステムが実行されていたので、これは読み取り不能/変更されたファイルを修正します。
起動を修正するには?
その後、私の計画では、fstabの/
のUUIDを変更し(uuidを見つける方法をグーグルで検索する必要があります)、システムを実際に新しいディスクから起動するように魔法をかけます
私は何かを忘れたか、または特に愚かな何かを計画したことがありますか?
blkid
コマンドを使用して、すべてのブロックデバイスのUUIDを取得できます。 (PARTUUIDではなく、UUIDとだけ書かれたものが必要です)
私が使用するrsyncオプションは-avhPHAXxです。
非常に遅いコンソール/ ttyを使用しているのでなければ、-vや--progressで速度が上がるとは思いません。
-xを使用すると、すべてが異なるファイルシステムにあると想定して、すべての除外の必要がなくなります(私のシステムでは、lost + foundを除くすべてが除外されます)。
(少なくとも私のシステムでは)ハードリンクを使用することがわかっている、頻繁に使用される唯一のプログラムはgit
であるため、-Hオプションを追加します。 -Hを使用しないことによる唯一の問題は、もう少しスペースが必要になることです。
ブートローダーについては、MBRでGRUB2を使用している場合、使用するコマンドはgrub-install /dev/sda
(sdaを正しいドライブに置き換えてください)。これで新しいドライブが起動可能になります。別のブートローダーまたはUEFIを使用している場合は、新しいドライブを正しく起動する方法をGoogleで確認します。新しいドライブの/ bootは、現在と同じパーティションにある必要があることを覚えておいてください(/ bootにもUUIDを使用していない場合)、そうでない場合は、それに応じてfstabを変更する必要があります。
私はこれを成功させました(数回試した後)。
使った
Sudo rsync -ahPHAXx --delete --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found} / /mnt
次に、ブートパーティションの/mnt/etc/fstab
ファイルをリセットしますおよびスワップスペース。
次に、GRUBをリセットする必要がありました
for i in /dev /dev/pts /proc /sys /run; do Sudo mount -B $i /mnt$i; done
Sudo chroot /mnt
Sudo grub-install --recheck /dev/sdX
Sudo update-grub
このドライブでの起動を修正しないでください。私の推薦:
rsync
新しいディスクまでのシステム以外のファイル。Centos Freepbxディストリビューションのrsyncに多くの時間を費やして、ブート可能な新しいディスクを作成しました。最後に、fstabとgrub UUIDを修正した後、機能しません。
それを機能させるための最後のステップは
dd if=/dev/sda of=/tmp/mbrsda.bak bs=512 count=1
dd if=/tmp/mbrsda.bak of=/dev/sdb bs=446 count=1
grub
Grub CLIにいるとき(つまり、grub>
促す):
device (hd0) /dev/sda
device (hd1) /dev/sdb
root (hd0,0)
setup (hd0)
root (hd1,0)
setup (hd1)
quit
押す enter これで、シャットダウンして古いディスクを取り外し、新しいディスクで起動できます。