web-dev-qa-db-ja.com

sshアクセスのみで空きパーティションがないclonezillaイメージを復元するにはどうすればよいですか?

おそらく複数の正解があるかもしれません。この分野での経験がほとんどないので、この特定のタスクでツールとリソースを管理するための最良の/最も合理的な方法について質問しています。

セットアップ

物理的にアクセスできない、sshからリモートでアクセスできるサーバーがあります。 2つのハードドライブがあります。

  • sdaは、boot(sda1)、root/user fs(sda2)、swap(sda3)、およびraid(sda4)用にパーティション化されています。
  • sdbは完全にクリアで、新しくインストールされます。

Sda2には、他のファイルの中でも、 Clonezilla で作成されたかなり巨大なディスクイメージがあります。これまでこのソフトウェアを使用したことがないので、すべてが整っていることを願っています。これは、dd-img、.mbr、リスト、ハッシュ合計などが非常に多く含まれているフォルダーです。

ターゲット

Clonezillaのディスクイメージをsdbに復元したいと思います。

問題

物理的なアクセスがあれば、これは簡単です。ただし、現時点では、次の障害を特定できます。

  • 起動のためにライブCD/USBを挿入する方法はありません。ただし、ハードディスク上のISOイメージからclonezillaをライブで実行することは可能です。そのような画像をダウンロードしてsda2にコピーしました。
  • このlivehdチュートリアル は、clonezillaを実行するために単一のFATパーティションを準備する必要があると述べています。私は絶対にsda1/3/4(失いたくないブート、スワップ、RAIDデータ)には触れず、システムデータを含むsda2をパーティション分割することを恐れています。では、おそらくsdb(ターゲットディスク)を使用して、起動したclonezillaがRAMに移動したら上書きさせますか?または、とにかくsda4を使用して、後でバックアップから復元しますか?
  • 繰り返しになりますが、リモートアクセスのみがあり、clonezillaではデフォルトでsshが無効になっています。 この回答 ポイント このドキュメント ここでは解決策のように聞こえますが、PXEセットアップが必要です。これまでにそれをしたことはありません。

可能なルート?

現在、別のマシンにPXEサーバーをセットアップし、「ターゲット」サーバーをポイントしてブート情報を取得することを考えています。この場合、clonezillaイメージはどのマシンに配置する必要がありますか?

または、これが1回限りのタスクになることを期待しているので、何かを単純化できるでしょうか。 clonezillaイメージを編集して(通常どおりマウントできますか?)、デフォルトでsshを許可します。おそらく、IPアクセスを制限したり、デフォルトのパスワードを変更したりしますか?

最後に、このイメージからシステムを実行するにはどうすればよいですか?個別のパーティションが実際に必要な場合、どこに保存できますか?そして、最良の答えがクリアな「ターゲット」ディスク上のパーティションである場合、システムを起動時にRAMに移動させる方法はありますか?完全に生きている(つまり、起動、ネットワークアップなど)。

これが私が感じるよりも混沌としていないように聞こえることを願っています:)状況は私と私の以前の経験にとって非常に複雑です。ここの誰かが私をまっすぐにさせてくれることを願っています。

1
zencodism

かなりの試行錯誤の末、私は方法を見つけました。うまくいけば、いつか誰かのために役立つでしょう。

ミッションが完了し、ディスクが復元されました。方法は次のとおりです。

  1. このドキュメント に従ってダウンロードされたClonezillaライブは、構成までGRUB(つまり、ダウンロード、解凍、変更された「ライブ」フォルダー名);
  2. Fdiskとmkvfatを使用して、sdb(復元先のディスク、「ターゲット」のもの)にFAT32パーティションを設定します。パーティションサイズは、ライブのClonezillaイメージ(200M?)を保存するのに十分であり、起動可能に設定されていました。
  3. このエントリを作成して構成済みGRUB :(以下で説明)

    menuentry "Clonezilla" {
    
    set root=(hd1,1)
    
    linux /live-hd/vmlinuz boot=live live-config noswap nolocales edd=on nomodeset ocs_live_run=\"ocs-live-general\" ocs_prerun=\"dhclient -v eth0\" ocs_live_run=\"/bin/bash\" ocs_live_extra_param=\"\" keyboard-layouts=NONE ocs_live_batch=no locales=en_US.UTF-8 vga=788 ip= nosplash live-media-path=/live-hd bootfrom=/dev/sdb1 toram usercrypted= ocs_daemonon=\"ssh\" i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.blacklist=yes
    
    initrd /live-hd/initrd.img
    
    } 
    
  4. GRUB構成が再作成され、このエントリ(grub2-mkconfig)が含まれ、ブートモードが選択されました。2つのルートがあります。

    • confを作成する前に、このエントリを/ etc/default/grubでデフォルトとして設定します
    • または、KVM IPが設定されている場合は、そこに追加して選択します(したがって、マシンへの物理アクセスのようなkiiiindaは、BIOS操作を許可しませんが、ブートエントリの切り替え-うん)。
  5. マシンを再起動し、Clonezillaで起動するのを待ち、ssh経由で「user」としてログインします。Sudo権限があります。

  6. コマンドラインで「clonezilla」スクリプトを実行し、 標準チュートリアル の行に従います。

  7. ターミナルに戻り、ブートを通常のシステムにスワップします(そうしないと、失敗し、現在存在しないパーティションでclonezillaを検索します)。リブート。楽しい。

grubメニューエントリは何をしますか?

これは、2つのチュートリアルといくつかの実験からコンパイルされています: http://clonezilla.org/livehd.phphttp://clonezilla.org/show-live-doc-content.php? topic = clonezilla-live/doc/05_Started_with_sshd_on_and_passwd_assigned

目的はそれを持つことです:

  • 起動時にネットワークを構成するため、ocs_prerun=dhclientオプション
  • bourne Shellを実行します(ocs_live_run=/bin/bash
  • ip=<empty>dhclientを台無しにしないために
  • toramオプションなしシステム全体をRAMに配置するため、最初に起動されたディスクを上書きできますこれにより、 1回限りの操作で、その後はライブのclonezillaがなくなります
  • sSHサーバーを起動します(ocs_daemonon=ssh)[オプションで]ユーザーに設定されたパスワード( 'usercrypted')。パスワードの部分は、リンクされている2番目のチュートリアルで説明されているように機能します。おそらく(テストされていない)、空のままにして、パスワードなしで「ユーザー」としてアクセスできるようにすることができます。そのような場合は、ログイン後すぐにパスワードを変更することをお勧めします。

ふぅ、それだけです。私はこのパズルを解いて本当にうれしいです、そして同時に私はより経験豊富な誰かが1、2分でそれをするだろうというしつこい感じを持っています...

0
zencodism