SSH経由でLinuxをリモートでインストールする方法は?


22

現在RHEL 3.4(x86)を実行しているサーバーにUbuntu Server 10.04(x86)をリモートでインストールする必要があります。問題が発生した場合、誰も再起動ボタンを押すことができないため、非常に注意する必要があります。

Linuxをリモートでインストールしたことがありますか?どの方法をお勧めしますか?気をつけるべきことについて何かアドバイスはありますか?


更新:

ご協力いただきありがとうございます。「運転中にタイヤを交換することができました!

私の方法の主なコンポーネントは、HOWTO-DebianをリモートLinuxシステムインストールするgrub legacy:Booting once-onlygrub single boot and kernel panic reboot、およびUbuntu Community Documentation:InstallationFromKnoppix

私がやったことの概要は次のとおりです。

  1. 既存の Ubuntuサーバーでdebootstrapを実行します
  2. RHEL 3.4サーバーのスワップパーティションにファイルを転送します
  3. スワップパーティション(debootstrapシステム)で起動します
  4. ファイルを元のルートパーティションに転送する
  5. 新しいUbuntuシステムを起動し、tasksel、apt-getなどでインストールを完了します

VMでメソッドをテストし、サーバーに適用しました。私は幸運にもすべてが順調に進んだのでした:)


17
運転中に新しいタイヤを車に取り付けようとしているように聞こえます。
10

10
@Orbling:youtube.com/watch
v

理論的には可能です。オーブリングが言っているように、車を運転中にタイヤを交換するようなものです。とても簡単ではありません!
マット

@ephemient素晴らしい。あなたはそれが可能であり、信じられないほど難しいとわかります。
10

おそらく、状況の制限について詳しく説明した場合、Server Faultの非常に知性的で創造的で機知に富んだ人々が、目標を達成するためのより現実的な道を可能にする他の代替手段やアドバイスを提供できます。
ジェドダニエルズ

回答:


8

私はここで他の答えの感情に同意します:RHEL 3.4にUbuntuをリモートでインストールすることは可能かもしれませんが、あなたはおそらく非常に薄い氷の上を歩いているでしょう。

あなたが抱える最大の問題は、既存システムのカーネルとlibcの時代だと思います。それは2.4.xシリーズのカーネルですか?もしそうなら、インストール中のある時点で、Ubuntuのカーネルとlibcで実行するようにコンパイルされたツールを実行する必要があり、それらが適切に機能しない可能性があるため、これを実行できるかどうかわかりません(またはまったく)古いランタイム環境で。リモートサーバーで2.6.xシリーズのカーネルを実行していない場合、成功する可能性はあまりないと思います。

それでもこれを試してみたいと思う場合、私が知っているガイドがいくつかあります:

これらのガイドはどちらも古く、どちらもカットアンドペーストガイドに近いものとして扱うことはできません。ここで他の人のアドバイスに従うことを強くお勧めし、ローカルサーバーまたはVMでドライランを行います。


12

OSをリモートでインストールするためのベストプラクティスは、帯域外管理(HP ilo、Dell drac)を備えたサーバーハードウェアを購入することです。これにより、リモートで電源を入れ直し、サーバーのコンソールを表示できます。そうでない場合でも試さないでください。


私は同意するが、私はまだ私の現在の状況に対処する必要がある
netvope

6
10年間これを行ってきた経験豊富な人々の多くは、「それで幸運」をあなたに伝えるつもりです。
トロイジェル

1
emboboとtroyengelは両方ともスポットです。あなたがいる状況は、あなたがこれをリモートでやろうとした場合にのみ悪化するでしょう。私のおすすめ?データセンターに連絡してください。
アンドリューM.

1
リモート管理カードは素晴らしく、リモート電源、キーボード/ビデオ/マウス、リモートCD / DVDドライブなど、ほとんどの新しいSupermicroシステムには内蔵されています。この状況では、これがないと想像できません。
ショーンレイフシュナイダー

5

新しいディストリビューションを所定の場所にインストールすることはできますが、非常に困難です。それはあなたがほぼ確実になることを何かではありません右の最初の時間を取得します。実際、3回目または4回目に正しい結果が得られれば、あなたは幸運でしょう。

さらに、ここにいる誰もあなたがあなたに従うことができる洗濯リストをあなたに与えることができそうにありません、そして、これは起こります。正確なディスクパーティションとファイルシステムレイアウト、ハードウェア構成などに応じて、さまざまな代替手段を試す必要があります。

そうは言っても、私がしなければならなかった場合、私はそのようなことをしようとする方法です:

  • ハードドライブ、ネットワークカード、ディスクアダプター、RAMなど、既存のマシンと可能な限り同様に構成されたマシンを取得します。
  • このマシンをセットアップして、そのホストの現在のセットアップを模倣します。
  • このテストシステムで必要なことを試してみてください。
  • 「ライブ」システムで再現できるように、大量のメモを取ります。
  • 最終的な移行を行う前に、テストシステムでこれらのメモをもう一度実行します。

あなたを助けることができるいくつかのテクニック:

  • 新しいパーティションにインストールするか、既存のファイルシステムに上書きインストールするかを決定します。新しいパーティションを作成する場合、古いパーティションを起動することでいつでもバックアウトできます。ただし、それはおそらく、現在のファイルシステムを縮小する必要があることを意味します。これはオフラインで行う必要があります。 2007年にこれをしたときにメモを書きました
  • テストマシンの小さなパーティションにインストールしてから、IPアドレスなどの適切な変更を行い、このファイルシステムイメージを「dd」オフにして、新しいパーティションにベースインストールを作成することができます。これは、新しいインストール用に別のパーティションを使用している場合のみです。
  • 代わりに、サブディレクトリの適切な場所にルートファイルシステムを配置し、initrdで何かを実行して、「cd / target; mv * oldroot; mv oldroot / newos / *」とすることもできます。古いディレクトリをすべて適切な場所に移動して、新しいディレクトリを適切な場所に配置します。これは、initrdが「pivotroot」になる前に、おそらくファイルシステムをマウントした直後に実行する必要があります。
  • initrdスクリプトにいくつかのコードを追加すると、システムの起動中にあらゆる種類のすばらしいことを実行できます。詳細については、上記のブログ投稿を参照してください。
  • これで失敗することを期待してください。それは非常に危険な努力です。ファイルシステムのサイズ変更(上記)を行ったとき、適切に再起動したときにショックを受けました。
  • ブートセクターについて何をしたいかを決める必要があります。LILOを実行していますか、それともGRUBを実行していますか?現在のブートローダーを使用するか、10.04に切り替えますか?おそらく理想的なのは、既存のローダーを使用して新しいOSを起動し、そのOSから「grub-install」を実行して新しいOSを配置することです。

がんばろう!必要になります。:-)


1

別のパーティションがある場合は、そのパーティションを使用して、ディスク全体を表示するVMにインストールできます。VMとホストの両方に同じパーティションをマウントしない限り、またはパーティションテーブルを操作しない限り、安全です。別の方法は、ネットワークからブートし、preseedまたはキックスタートを使用してインストールを実行することです。リモートでプレイする前に、ローカル環境で実験してください。


1

私はpreseedに基づいた簡単なソリューションを作成します。

https://github.com/mhf-ir/ubuntu-overssh-reinstallation

sshがインストールされたバージョンのubuntuが必要です。preseedファイルを提供するための別のhttpサーバー。多くのデータセンターで何度もテストしました。

Ubuntuを使用している場合は、KVM / IPMI / VNCまたはリモートアプリケーションなしでsshを介して再インストールおよび再パーティション化できます。sshを使用するだけです。そして、ubuntuサーバーのnetiso / miniisoを使用した純粋なインストール。

ネットワーク設定とsshパスワードを含むgrubイメージローダーブートカスタムISOファイルに基づいています。


0
  1. がんばろう。

  2. 状況によっては、これはおそらく実行可能です(ここでは適用されない場合があります)。

  3. これはきつい; ローカル(必要に応じて仮想)マシンで練習することをお勧めします。たくさん。


0

サーバーに1回だけアクセスできる場合は、KVM over IPポートをシステムに追加できます。これを行うCDWで310ドルのLantronix Spider 1ポートを見つけました。しかし、CDが無視されるように再起動時にBIOSに移動して起動順序を変更することはできますが、「再起動ボタン」やメディアの取り出しには役立ちません。


0

私は以前、テストとしてそれをやったことがあります。ただし、フォールバックプランがない場合はお勧めしません。

結局のところ、必要なすべてのアプリケーションが既にロードされていれば、システムはかなり信頼できるものです。ddを正常に実行し、デフォルトのUbuntuインストールでターゲットサーバーの最初の8GB程度を上書きしてから、問題なくサーバーをUbuntuで再起動しました。その後、そこからパーティションを拡張して、ドライブの残りを埋めることができます。

新しいパーティションを設定し、新しいインストールをデブートストラップし、ブートローダーを変更してこの新しいパーティションで起動することもできます。繰り返しますが、失敗を期待し、成功を望んでいます。

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