質問: rsyncを使用して実行中のシステムを新しいハードディスクに最適に複製する方法は? 故障したハードドライブを持つサーバーとして実行しているシステムがあります。重要なデータはすべてraid上にあり、バックアップされていますが、システム自体のイメージはありません。もちろんインストールはできるので、特に必要はありませんが、復元パスをたどる前に、まずホットコピーを試したいと思います。これにはプロセスとしていくつかの欠点があることは知っていますが、最初の手段として試すことには多くの欠点はないと思います。 os:ubuntu 12.04.4 lts ヘッドレス ディスクがすでに故障しているので、私は新しいソフトウェアをたくさんインストールするつもりはありません:) システムは稼働しています。停止すると、ディスクが復旧しない可能性が高くなります。これは、ddが出ている可能性があることを意味しますか? 新しいディスクは古いディスクと同じサイズではなく(2倍の大きさ)、ddの問題をさらに複雑にします。 私の考えは システムの新しいドライブをホットプラグ ファイルシステムを作る / mnt/somedirにマウントします ファイルをrsync いくつかのfstabマジック いくつかの起動魔法 私がまだ持っている質問は:適切な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を変更する必要があります。