ESXiサーバーを別のサーバーに転送する方法

はじめに



この資料では、インストーラーでサポートされていない機器にESXiサーバーをインストールする方法について説明します。 この問題は、実行中のサーバーからインストールの問題が発生したサーバーにESXiイメージを転送することで解決されます。 私の場合、問題はHP Proliant Blade 35pにありました。



35ブレードの問題



ブレードHP BL35pにESXiをインストールする必要がありました。 ただし、何らかの理由で、インストール中に、ESXiはそこにインストールされたハードドライブを検出できません。 そして、HP BL20pでは問題なくインストールされていますが、35日にはしたくない-エラーが発生します:



サポートされているデバイスが見つかりません



情報検索

インターネットでESXiを検索すると、フラッシュドライブから起動する機能に関する情報が得られました(http://www.yellow-bricks.com/2008/07/29/esxi-35-update-2-on-a-usb-memory-key/) 。 しかし、別の問題がここに現れました-BL35pには外部USBポートがありません。

ILO経由でダウンロードするオプションもあまり適していません。そのためには、ブラウザでBladeに確実に移動し、そのイメージをマウントする必要があるためです。



USBデバイスを使用する別の可能性がありました。 サーバーの前面には、PS / 2マウス、キーボード、モニター、2つのUSBポートへの出力と接続するトリッキーなケーブルが接続された特別なコネクタがあります。 ただし、このようなソリューションは一時的な接続には適していますが、通常の作業には適していません。



フラッシュ用のddイメージのオプション



パーティションでのddの障害


USBフラッシュドライブから直接作業するための既製のイメージが既にあるため、ディスクに直接転送することを考えました。 くそー小型Linuxもブレード上で起動したくありませんでした。 セーフモードとさらにいくつかのオプションの両方を試しましたが、うまくいきませんでした。

したがって、私は企業のCentOをディスクに配置し、このイメージを専用パーティションに焼き付けました。

centos # dd bs=512 if=VMware-...-.i386.dd of=/dev/hda3





その後、彼はgrub.confに登り、ESXiのダウンロードポイントを追加しました

title ESXi

root (hd0,2)

chainloader +1





ナイーブ! 私はすべてがとても簡単だと思った:)

この方法は原則としては機能しませんでしたが、まだわかりませんでした。

私はこれをすべて行ったことに注意する価値があります。少なくとも、小さいが緊急のタスクではあるが、他のタスクの間の少なくとも時間間隔を探します。 そして、そのような中断は問題の深い理解に貢献しません:)

インターネットでいくつかの操作が成功した後、すべてがうまくいくことを望みました。



別のドライブでのddの障害


再び彼はサーバーを起動する方法を探し始めました。 今回は、GRUBからデュアルブートを行う機会を探していました。

LinuxとのデュアルブートでESXiをセットアップするにはどうすればよいですか? ( communitys.vmware.com/message/1205801;jsessionid=8858F14289C5790501D2BE15F4E048CF



サーバーに2台目のハードドライブを追加し、そこに画像を記録しました

centos # dd bs=512 if=VMware-...-.i386.dd of=/dev/hdb





GRUBを使用した繰り返し操作

title ESXi

root (hd1,0)

chainloader +1





しかし、彼はgrubから起動したくないもの。 1番目のドライブを切断すると、2番目のドライブからロードされます。 嬉しかった:ついに! それでも、それは非常に簡単です!

しかし、今回はダウンロードが中断されました。 起動可能なパーティションが見つかりません。起動可能なUSBデバイスが表示されるのを待っています。これがサーバーの報告方法です。 そしてその結果、ダウンロードエラー。



ddイメージにはすでにいくつかのパーティションが含まれています


さらに検索して、このドキュメントwww.grid.org/blog/cameron/updating-vmware-esxi-disk-dump-fileに行きました。

その後、ディスクパーティションにイメージを書き込む方法が機能しない理由を理解しました。イメージ自体にはすでにいくつかのディスクパーティションが含まれています。

~# fdisk -ul VMware-...-.i386.dd

You must set cylinders.

You can do this from the extra functions menu.

Disk VMware-...-.i386.dd: 0 MB, 0 bytes

64 heads, 32 sectors/track, 0 cylinders, total 0 sectors

Units = sectors of 1 * 512 = 512 bytes

Disk identifier: 0x00000000

Device Boot Start End Blocks Id System

VMware-...-.i386.dd1 8192 1535999 763904 5 Extended

VMware-...-.i386.dd4 * 32 8191 4080 4 FAT16 <32M

VMware-...-.i386.dd5 8224 106495 49136 6 FAT16

VMware-...-.i386.dd6 106528 204799 49136 6 FAT16

VMware-...-.i386.dd7 204832 430079 112624 fc Unknown

VMware-...-.i386.dd8 430112 1535999 552944 6 FAT16

Partition table entries are not in disk order








少し検索して熟考した後、この方法でサーバーがブート方法を理解するために何をすべきかわからなかったため、この方法(配布パッケージからddイメージを直接ディスクに書き込む)を拒否しました。



PXEを使用してネットワーク経由でESXiをダウンロードする



検索プロセスで、PXEを使用してネットワーク経由でESXiをダウンロードする非常に魅力的な方法にも出会いました。 ここでは、すべてが起動可能なUSBフラッシュドライブを作成するのと同じくらい簡単です。PXEサーバーを構成するために追加する手順はわずかです。

このドキュメントのすべては、 communities.vmware.com / docs / DOC-6824で詳しく説明されていますcommunity.vmware.com/docs/DOC-7510をロードした後、必要な構成を適用することもできます。

ただし、この場合、別のPXEサーバーが必要であり、今は構成したくありませんでした。



BL20pを使用したパーティション転送の成功



これはすべて、フラッシュドライブとPXEダウンロードの両方で整理されていると思いました。 oem.tgzファイルを操作して、デバイスドライバーのエントリを追加できます。 そのため、通常のLive CDと、ESXiがすでにインストールされているサーバーが必要です。

そこで、問題のないバックアップBL20pにESXiをインストールしました。 ubuntu-8.10-desktop-i386.isoをダウンロードします

新しくインストールされたESXiのパーティションカード


Ubuntuを起動すると、ESXiでディスクが表示されます。 私はこの写真を見ました:



fdisk -ul / dev / cciss / c0d0



そして、ほとんどすべてが私に明らかになりました:)

/ dev / cciss / c0d0p4セクションはブート可能です。追加セクション( extended/ dev / cciss / c0d0p1とそのサブセクション( p5、p6、p7、p8 )には、ESXiが機能するために必要なすべてが含まれています。

さらに2つの主要なセクションが残っています。

/ dev / cciss / c0d0p2-ここにページファイル(uwswap)があります

/ dev / cciss / c0d0p3は、インストール中に残りのすべてのスペースが割り当てられるリポジトリです。



主要部の譲渡


次に、ESXiサーバーのBL20pからBL35pへの移植を開始しました。 このため、Ubuntu Live CDから両方にブートしました。

BL20pで実行

blade20p #fdisk -ul /dev/cciss/c0d0

Disk /dev/cciss/c0d0: 18.3 GB, 18345246720 bytes

64 heads, 32 sectors/track, 17495 cylinders, total 35830560 sectors

Units = sectors of 1 * 512 = 512 bytes

Disk identifier: 0x00000000



Device Boot Start End Blocks Id System

/dev/cciss/c0d0p1 8192 1535999 763904 5 Extended

/dev/cciss/c0d0p2 1536000 9922559 4193280 6 FAT16

/dev/cciss/c0d0p3 9922560 35830559 12954000 fb VMware VMFS

/dev/cciss/c0d0p4 * 32 8191 4080 4 FAT16 <32M

/dev/cciss/c0d0p5 8224 106495 49136 6 FAT16

/dev/cciss/c0d0p6 106528 204799 49136 6 FAT16

/dev/cciss/c0d0p7 204832 430079 112624 fc VMware VMKCORE

/dev/cciss/c0d0p8 430112 1535999 552944 6 FAT16

Partition table entries are not in disk order






ここでは、おなじみの画像がすでに表示されています。 拡張セクション番号1の終了位置( / dev / cciss / c0d0p1 )がわかっているので、そのイメージを削除します

blade20p # dd bs=512 if=/dev/cciss/c0d0 of=/tmp/boot_esxi.dd count= 1535999





次に、この画像のサイズ786`431`488バイトを別のサーバーに転送します

blade20p # scp /tmp/boot_esxi.dd bl35p:/tmp/





さて、私はこの画像をハードドライブに書き込みます

blade35p # dd bs=512 if=/tmp/boot_esxi.dd of=/dev/sda







パーティションの内容をコピーする2


FAT16で2番目のパーティション(/ dev / sda2)をフォーマットします。これは、パーティションテーブルにありますが、実際にはディスクに割り当てられていないためです。

両方のサーバーで、2番目のセクションをマウントします

blade35p # mount /dev/sda /mnt ( BL35p)

blade20p # mount /dev/cciss/c0d0p2 ( BL20p)





セクションの内容を20日から35日までコピーします

blade20p # echo > /mn t/uwswap ( swap 1 )

blade20p # scp /mnt/* blade35p:/mnt/ -r








パーティション操作3(これは必要ではない可能性があります)


3番目のセクション/ dev / cciss / c0d0p3はvmfs形式であるため、Ubuntで何をするかわかりません。 したがって、このセクションの400Mbを画像として単純に転送します。 その前に、ESXiを起動して、このセクションに366 MBを占有するサービスファイルがあることを知りました

blade20p # df -h

Filesystem Size Used Available Use% Mounted on

unknown 183.9M 116.4M 67.5M 63% /

unknown 4.0G 1.0G 3.0G 25% /vmfs/volumes/49df3145-f290113e-defa-001635c10df4

unknown 12.3G 366 .0M 11.9G 3% /vmfs/volumes/49df314a-a47bf89f-e95d-001635c10df4

unknown 539.8M 175.0M 364.8M 32% /vmfs/volumes/3abb47ef-875ea67c-c948-7bf6ff8d3c38

unknown 47.8M 1.0k 47.8M 0% /vmfs/volumes/f25a177c-84106917-bb27-25e3fe8f8471

unknown 47.8M 36.6M 11.2M 77% /vmfs/volumes/c8f8fc7d-7c221e9a-67b6-5dcb9d3b36ad








私はこれに最初の作品と同様に転送します:

blade20p # dd bs=512 if=/dev/cciss/c0d0p3 of=/tmp/partit3.dd count=819200 (819200 = 400*1024*1024/512)

blade20p # scp /tmp/partit3.dd bl35p:/tmp/






さて、この画像をハードドライブの目的のセクションに書き込みます

blade35p # dd bs=512 if=/tmp/partit3.dd of=/dev/sda3







再起動後、ESXiは何も起こらなかったかのように機能します。 やった! すべてがうまくいきました! :)



VI Clientからストレージを作成する


サーバーを構成するためだけに残ります。

コンソールから新しいサーバーのIPアドレスを構成します。 VMWare Infrastructure Clientを使用してアクセスします。 設定では、このサーバーには60 GBのハードドライブがインストールされているため、13.3 GBのストレージと約40 GBの未使用スペースがあります。

13.3 GBの既存のストレージを削除してから、55 GBの未割り当て領域から新しいストレージを作成します。



1つの危険があります。 新しいストレージが作成されると、デフォルトでディスク全体を使用するように招待されます。 すべてのデータが破壊されるという警告が表示されますが、ディスクの未割り当て部分で作業し、ESXi自体のストレージを正常に整理し、次の再起動まで機能し続けたと確信しています。 それから初めて、ディスク上のすべてを破壊することで自分が間違っていることに気づきました:)



この状況は、DimkaPhantom dimkaphantom.habrahabr.ru/blog/54322によって説明されました



上記のサーバー転送手順を繰り返す必要がありました。



おわりに





道全体を旅したとき、すべてがとてもシンプルで明白なように見えるので、あなたは私が最初にとても苦しめられたものに単に驚かれます:)

突然、誰かがこの道の始まりになり、すべてが彼に明白になるわけではありません。 たぶん私の説明が彼を少し助けてくれるでしょう:)



All Articles