インストールを複製する最良の方法(同一のハードウェアにコピーする)


53

この質問のようなものですが、わずかに異なります(私は思う)、私は6つの同一のAcer Aspire Revo R3610マシンを持っています。1つは(ほとんど)私の要件に合わせて構成されています-準備が完了したら、他の5台のマシンをまったく同じにしたいと思います。私はUbuntuは初めてですが、これを行う最も簡単な(最も簡単な)方法は何ですか?

問題が発生する可能性がある場合、マシンは別のネットワーク上に存在します(たとえば、Windowsではディスクのクローンを作成できますが、同じネットワーク上で実行する場合はレジストリを変更する必要があります)。6台すべてのマシンのハードウェアは同じです!

これらの同一のマシンに1つのソースイメージを効率的に複製するにはどうすればよいですか?

回答ごとに1つのソフトウェア/ソリューションを制限してください

回答:


31

Clonezillaはあなたのニーズに合っているようです


1
仕事に最適なツールです。私のママは 'Mumbuntu'を実行し、クローンジラを使用して定期的に彼女のAcer Revoのスナップショットを撮り、それを家に持ち帰って私が所有するRevoをバックアップとして復元します。御Works走。
ポピー

7
partimageやntfsclone(Clonezillaがディスクイメージを作成するために使用するもの)などのツールを使用する利点の1つは、各パーティションの基礎となるファイルシステムを理解し、使用済みブロックのみをコピーできることです。ddにはこの機能がないため、使用するかどうかに関係なく、パーティションのすべてのバイトをコピーする必要があります。
エヴァン

1
吸います。2日間の作業後にクローンを作成できませんでした。ビットマップの計算にハングアップします... WindowsとAcronis Trueimageを使用してください
OlcayErtaş11年

DDは起動可能なバックアップCDを作成しませんか?それがCloneZillaを使用する理由ですか?

@YumYumYum:dd作るのコピーファイル/パーティション/ドライブのを。したがって、ブータブルCD(.isoイメージまたはCDFSパーティション)を複製すると、結果もブータブルになります。しかしdd意志ではない「変換」ブート可能なイメージにフォルダ/ファイルの特定のセット。
メストレリオン

17

dd

ddを使用した低レベルのコピーでうまくいきます!

競合するIPアドレスとホスト名に注意してください。

基本的に、ソースドライブと宛先ドライブを同じマシンに入れ、ライブCDで起動します。そして、次のようなものを実行します。どこ/dev/sdaがソースで、どこが/dev/sdb宛先です。

dd if=/dev/sda of=/dev/sdb bs=4096

私はオペランドを覚えています:

if ->入力ファイル

of ->出力ファイル

bs ->ブロックサイズ(一度に読み込むバイト数)


3
もちろん?= /私は人々がそれをするのを見てきました、そして、私は人々がそれをしないのを見ました。どこかに答えるスタイルガイドがありますか?
デレク

ダイナミックIPを有効にしている場合は、そのブータブル/バックアップCD / USBを作成する前に一時的にします。競合するIPに関して問題があるとは思わないでください。AからZまでバックアップする限り、私にとって本当に重要なのは、私が持っていた多くのドライバーのためです。

2
これは、たとえばOpenSSHで使用される公開/秘密キーが同一であることを考えると、どれほど安全ですか?システムを安全に保つために何を変更する必要がありますか(異なることを望まない場合は異なります)?
-jos

「このようなものを実行することはどういう意味ですか?私はsdaとsdbには
賛成


3

これを行う最も簡単な方法は、ハードドライブでベアボーンUbuntuインストールを実行し、VirtualBoxをインストールして、仮想Ubuntuマシンをセットアップすることです。仮想マシンを実行し、必要なすべての機能を備えたインストールをセットアップします。すべての作業と再生を仮想コンピューターで行います。

VirtualBoxは、仮想マシンを大きなディスクイメージファイル(.vdi)とともに、他のいくつかの非常に小さな構成ファイルとして管理します。仮想マシンをバックアップするときはいつでも、シャットダウンして、ディレクトリをバックアップ場所にコピーするだけです。この目的でPassport外付けドライブを使用します。

現在、その外部ドライブにはWindows 7とUbuntu 12の両方の仮想マシンがあります。すべてのシステムアップデート、プログラム、個人用ファイル、写真などは、これらの仮想マシンに保存されます。このタイプのバックアップは非常に高速です。1つの大きなディスクイメージファイルは、個々のファイルの束よりもはるかに高速に転送されるためです。VirtualBoxは常にその形式のファイルを保持するため、仮想マシンは常にバックアップされるように構成されています。

このセットアップの利点の1つは、VirtualBoxがインストールされているコンピューターの外部ドライブからこれらの仮想マシンを実行できることです。そのため、コンピューターを持ち歩く代わりに、WindowsとUbuntuの両方で外部ドライブを持ち込んでVirtualBoxをインストールします。使用する予定のコンピューター(すべてのVirtualBoxインストールファイルが外部hdにもあります。これらはすべてのメインオペレーティングシステムで使用可能です)を使用して準備ができています。仮想マシンを使用しているコンピューターにコピーするか、外部ドライブから実行するだけです。

気になっている時点でコンピューターがクラッシュして死んだ場合、Ubuntuインストールディスクを取り出して、新しいコンピューターまたは修復したコンピューターにインストールし、外部ドライブを接続し、VirtualBoxをインストールして、仮想マシンをコンピューターにコピーし直します-最小限のストレス、時間の損失、データの損失で問題を解決しました。失われるデータの量は、最後にバックアップした時期によって異なります。私自身は、大きな変更を加えるか、入手困難なプログラムを追加するたびに新しいバックアップを行います。仮想マシンが正常に動作していることを確認してください。破損したマシンを良いマシンにコピーしたくないでしょう。

いいえ、VirtualBoxでは働いていません。


大好きです。賛成票。私は次のマシンでこれを行うかもしれません。
–SDsolar


2

思い通りに1台のコンピューターを入手し、openssh-serverパッケージをインストールします。でsshキーペアを生成しますssh-keygen -t rsa。公開鍵を/root/.ssh/authorized_keys2に追加します。その後、ライブcdで新しいコンピューターを起動し、ssh秘密キーでusbスティックを差し込みます。gpartedを使用して、新しいパーティションを作成します。次に、新しいパーティションをマウントし、次のようなものを実行しますsudo rsync -avzx -e "ssh -i /media/disk/path/to/privatekey" --exclude=".gvfs" root@<ImageComputerIP>:/ /path/to/new/partition/

blkidコマンドを使用して、作成したファイルシステムのUUIDを見つけます。を編集/path/to/new/partition/etc/fstabして、新しいUUID(および別のファイルシステムを使用した場合はファイルシステムタイプ)を反映します。

その後、https://help.ubuntu.com/community/Grub2/Installing#via_ChRootの指示に従って、chrootからインストールする方法について説明します。

そのページの単純化されたバージョン(lvm、ソフトウェアraid、bcache、またはwikiページのような個別の/ bootを考慮していない):

重要な仮想ファイルシステムをマウントします。以下を単一のコマンドとして実行します。

for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done

通常のシステムデバイスにchrootします。

sudo chroot /mnt

GRUB 2を再インストールします(正しいデバイスをsda、sdbなどに置き換えます。パーティション番号を指定しないでください)。

grub-install /dev/sdX

GRUB 2メニューファイル(grub.cfg)を再作成します

update-grub

chrootの終了:キーボードのCTRL-D

ちなみに、これはバックアップにも適しています。Ubuntuは、Windowsとは異なり、別のハードウェアに移植する際に問題がないようです。1台のコンピューターのハードディスクを別のコンピューターに入れて問題なく動作し、インストールを別のハードウェアにコピーして問題なく動作しました。


これに感謝します-もう1つ近日公開予定です。試してみます。乾杯
-robsoft

現在、参照されているリンクには、chrootもメソッドも記載されていません。そのため、ソースの関連部分を引用することをお勧めします。
辺野

@Henno wikiページが移動しました。ページを含めることの問題は、wikiがbcacheのような新しいものを最新の状態に保ち、ページのコンテンツをコピーするだけではそれらの更新を見逃すことですが、リンクだけの欠点はあなたに移動する可能性があることです。いずれにせよ、リンクが更新され、削除されたバージョンが含まれています。
アゼンデール


1

G4L

Linuxのゴースト

Ghost for Linuxは、SymantecのNorton Ghost(c)および(tm)に似たハードディスクおよびパーティションのイメージングおよびクローン作成ツールです。作成されたイメージはオプションで圧縮され、ローカルハードドライブに保存したり、匿名FTPサーバーに転送したりできます。ドライブは、クリックアンドクローン機能を使用してクローンを作成できます。ローカルファイルシステムが2 GBを超えるファイルの書き込みをサポートしていない場合、g4lはファイル分割をサポートします。付属のカーネルは、ATA、シリアルATA、およびSCSIドライブをサポートしています。一般的なネットワークカードがサポートされています。簡単に使用できるように、ncurses GUIを備えたブート可能なCDイメージとしてパッケージ化されています。


ああ、神様。これはまさに私が長年求めていたものです。Windowsでも。投稿用のTNX。すぐに確認します。
–SDsolar

1

Fsarchiver

誰もこれに言及しなかった理由がわかりません。これは、別のファイルシステムタイプでパーティションのコンテンツを復元する場合(たとえば、ext4コンテンツをext2またはreiserfsに復元する場合)、またはより小さいパーティションに復元する場合に特に便利です。

私はそれを使用し、それは非常に簡単です。たとえば、パーティションを複製するに/dev/sda1は、次のようなコマンドを使用するとします

fsarchiver -A -j 2 -z 1 savefs /media/anwar/USB_Drive/myrootpartition /dev/sda1

この-Aオプションを使用すると、パーティションが使用されている場合でもパーティションをコピーできます!素晴らしい機能!

-j 2圧縮に2 CPUコアを使用すると言われています。マルチコアCPUおよび圧縮を使用する場合に便利

-z 1 圧縮レベルを設定します。

使用したファイルシステムを復元するには

fsarchiver restfs /data/myrootpartition.fsa id=0,dest=/dev/sda2

id=0あなたは(あなたが単一のアーカイブに複数のパーティションを保存しない場合でも、あなたはそれを指定する必要があります)アーカイブから最初のファイルシステムを復元していると言います。そしてdest=/dev/sda2、復元先を設定します。


0

rsyncを使用して、これを何度も行います。

まず、rsyncを実行して、すべてのデータを外部ハードドライブにロードします(外部ハードドライブはext4にある必要があります-これを使用しているので、動作することがわかります):2つのパーティションがあると仮定します:/ dev / sda1(root)および/ dev / sda2(スワップ)。

元のコンピューターで実行します。

sudo rsync -avuorpESHAX /* /your/hard/drive

データをコピーしたら、USBスティックで次のコンピューターを起動し、内部ハードドライブを元のハードドライブとしてフォーマットします。

外部ドライブをにマウントし/mnt、すべてのパーティションのUUIDをコピーします。新しいコンピューターのパーティションのUUIDを編集し、元のデータからコピーしたものと同じUUIDを入れます(これはにあります/mnt/etc/fstab)。

スワップをシャットダウンします。

sudo swapoff -a

からコピーされた元のUUIDを使用して新しいスワップを作成します/mnt/etc/fstab

sudo mkswap /dev/sda2 -U original-UUID

(スワップはにあると思われます/dev/sda2

次に、UUIDを変更し/dev/sda1ます(UUIDを変更するには、パーティションをアンマウントする必要があります)

sudo umount /mnt
sudo tune2fs /dev/sda1 -U old-UUID

これを完了し、宛先パーティションをマウントします。

sudo mount /dev/sda1 /mnt

宛先への逆rsync:

sudo rsync -avuorpESHAX /media/your-backup /mnt

grubを再インストールします。

sudo grub-install --root-directory /mnt /dev/sda

これは動作します。ネットワークの競合を避けるために、各マシンのホスト名を編集/etc/hostnameおよび/etc/hosts変更することを忘れないでください。


-1

この苦境を経験したことはありません(数百台のサーバーはありません-常にベースイメージを使用しているだけです)。

それはさておき、私はおそらくネットブートがあなたの最善策だと言うでしょう。マスターサーバーを作成し、目的の処理を実行してから、他のすべてのマシンを起動してインストールします。自動的に行われるスクリプト(ala run-once)はそれほど難しくないはずです。キックスタートを介してすべての副次的なことを行います。

より多くの(それは少し古いですが):https://help.ubuntu.com/community/PXEInstallServer

編集:system-config-kickstartキックスタートファイルの生成をかなり簡単にするのに役立つアプリケーションがあります。YMMV。

代替テキスト


私が知る限り、これsystem-config-kickstartは特別に作られていfedoraます。
シャハリアアザム14

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.