ESXiでゲストOS(Linux)にVMware Toolsをインストールする方法

ESXiへの移行作業がほとんど終わったのですが、未だにVMware Toolsをインストールしていなかったのでどうやったかメモしておきます。

ちなみに公式のマニュアルはこちら

今回はESXiのゲストOSであるUbuntuServer14.04にインストールしていきます。

まず、vSphere Clientにログインし、インベントリにある対象の仮想マシンを右クリックします。

メニューにある「ゲスト(G)」から「VMwareToolsのインストール/アップグレード(W)」をクリックします。

メッセージが出ますが、そのままOK

Continue reading

lvextend+resize2fsでLVMなパーティションを拡張

現在サーバーの仮想化を行っておりまして、ブログにアクセス出来ない状態が発生しておりまして申し訳ありませんでした。

環境的には安定してきたのですが、色々あってこれまで使ってきた環境と録画鯖を分けることになりました。

UbuntuServerで構築しているのですが、その際にパーティションを拡大する必要がありまして、初めての作業でしたのでメモしておきます。

UbuntuServerでLVMでパーティションを作成しており、ルートディレクトリの拡張を行います。

また、例としてVG名がhoge-vg、LV名がrootであり、10GB拡張することにします。

最初、コマンドでやるのめんどくさそうだな、と思いまして、デスクトップ版のライブメディアからブートしてGPartedを使ってパーティションの拡張をしました。

視覚的に作業が出来て非常に楽だったのですが、これだけではサイズは元のままでした。

そこで色々調べた結果、

sudo lvextend -L 10G /dev/hoge-vg/root

としてまずパーティションを拡張します。ブロックが足りないって怒られたら拡張する容量を下げればおっけー。

容量を考えるのがめんどくさい場合、

sudo lvextend -l +100%FREE /dev/hoge-vg/root

とすれば空き領域すべて使って拡張してくれるそうです。後で知りました。

で、最後にファイルシステムを拡張します。

resize2fs /dev/hoge-vg/root 10G

パーティションを拡張した時に容量を指定しなかった場合、

resize2fs /dev/hoge-vg/root

という感じで容量を指定しなければ空き領域をすべて使って拡大されるようです。後で知りました。

dfしてちゃんと広がってるか確認しておきましょうね。

これらの作業はシングルユーザーモードに入る必要もなく普通に実行することが出来ます。便利。

また、縮小する場合はこれの逆の順番に行うとできるようです。

 

最初のGPartedでの作業は必要なのかしら…?

vCenter Converterを使ったP2Vメモ 成功編

前回見事に失敗したP2Vですが、なんと成功させることが出来ました。
半ばあきらめかけていた。

P2V自体は完了するのですが、どうにも起動しない。

シングルユーザーモードにて、別ディスクとして認識されてしまっている/bootや/swapも含めて設定しました。
エラーは相変わらず「Error loading operating system」です。

ブートーローダーであるGRUBも読み込めていない模様なので、とりあえずUbuntuServerのメディアからブート。

レスキューモードに入ります。

で、/dev/sdb1がルートディレクトリだったようなので、このディスクのシェルを取得して作業。

色々確認したところ、/dev/sda1に/bootが入っているようでした。

そこでmount /dev/sda1 /bootをしてマウント。
これでカーネルが読み込めます。

続いてGRUBの設定を書き直します。
自分でUUIDなどをちまちま書き換えてもいいのですが、めんどくさいので再生成しました。

grub-install --target=i386-pc --recheck --debug /dev/sda

をしてエラーのチェックをしつつインストールします。

続いて設定ファイルの再生成。

grub-mkconfig -o /boot/grub/grub.cfg

これでカーネルが存在していれば、自動的に設定ファイルを書いてくれます。

というわけで、ここまで正常に終了したらexitし、システムを再起動。

なんと、無事、起動しました!!

ただ、fstabやネットワークの設定は全く書き換えていないので、修正が必要です。

超楽しい。

vCenterConverterを使ったP2Vメモ

VMware vCenter Converterを使ったP2Vの方法をメモしていきます。

実際の操作はWindows7、ターゲットはUbuntuServerで行っていきます。
今回はサーバーが起動している状態でリモートで変換するホットクローニングを試みます。

まず、vCenterをインストールし、起動します。
左上の「Convert machine」をクリックでConversion画面が開きます。

まずはソースに関する設定をしていきます。
ソースタイプは今回はPowered-on machineです。

その下にpowered-on machineの詳細を書くところがありますので、A remote machineのまま、IPアドレス、ユーザー、パスワード、OSを選択します。
ユーザーはrootにしておくと間違いないでしょう。

Nextを押すとマシンの検索をしてくれるのですが、この時対象のマシンにSSHで接続できる必要があります。
もしSSHの設定で22番以外のポートを設定していたり、秘密鍵での認証を有効にしている場合は一時的に無効にします。

指定したユーザーからのログインを弾いている場合(rootなど)はその設定も無効にしておきます。

ターゲットに正常にアクセスできると、確認のメッセージが出ますのでOKします。

続いてESXiサーバーの情報を入力します。

サーバーに正常にアクセスできると、インベントリの中身を確認することが出来ます。
また、ここで仮想化した際のマシン名を変更することも出来ます。

次に進むと、仮想ディスクをどのデータストアへ保存するか聞かれます。
とりあえずデフォルトで作成されていたデータストアへ保存することにしました。

次にOptionです。
サーバーなどで大量のディスクをマウントしている場合、一番上のディスクコピーで容量オーバーエラーが出ている事があります。
クリックするとディスク一覧が出ますので、コピーするディスクを選択しなおしましょう。

また、LVMやLVGパーティションを利用している場合は、カーネルパニックを防ぐために基本パーティションに変換してもらいます。
Data to copyを開き、Advancedをクリックして詳細オプションの設定に入ります。
Destination layoutタブを開き、LVGとなっているディスクを選択して左下のTo Basicをクリックすればおっけーです。

設定の変更が終わったらNextをクリックします。
最終的な設定の一覧を確認することが出来ます。

満足出来たらFinish。

するとジョブ一覧に先ほど設定したジョブが追加され、作業が始まったことが確認出来ます。
終了まではしばらく待機ですね。

と思ったら「fault.HelperVmFailedToObtainIpFault.summary」とか言うエラーを吐いて数分で停止。
どうやら日本語だと失敗: ヘルパー仮想マシンの IP アドレスを取得できません。というエラーになるのかな?

停止してしまったものはしょうがないので、ジョブを右クリックしてCopy as newをクリックして設定をコピーしてもう一度やってみます。

先ほどディスクの選択をしたOptions画面ですが、この一番下にあるHelper VM network configurationという設定が重要な模様。
デフォルトでは自動でIPアドレスを取得してくれるようになっているのですが、エラーが出たので手動で書き直します。

適当なIPアドレスを設定し、後はそれぞれ記入します。
DNSサーバはプライマリだけ書いておけば問題なさそうです。

が、これでも動きません。

二時間ぐらい試行錯誤していたのですが、ふとvSphereクライアントの方で自動生成されるマシンを見ていると、NICが追加されていないことが判明。
ので、最後のFinishを押して仮想マシンが生成された瞬間にvSphereの方で仮想マシンの設定の編集をクリックし、追加からNICを追加してOK。
これをvCenterによって自動で動き始める前に行いました。

するとどうでしょう、NICが追加されDHCPサーバから自動でIPアドレスを取得してきてくれました。
エラーも出ていません。

正直なんでNICが自動追加されていないのかさっぱりですが、Optionsではなくこっちを編集することで解決したようです。
→オプションのNetworksで追加出来ました。デフォルトで一個追加しとけよ…。

さて、これで順調に作業が進んでいるようでしたので、後はもうコピーを待つだけかと思っていたのですが、そう簡単には行きませんでした。

100%?99%?になったところで「event.UnixP2VReconfigureFailedEvent.summary」というエラーで失敗。
これは「ターゲット仮想マシンを再構成できません。」というエラーらしい。

ちなみにこの状態だと一応仮想マシンの作成は出来ており、起動しようとすると「Error loading operating system」で停止します。

Reconfigureでエラーということなので、とりあえずReconfigureせずにチャレンジしてみます。
オプションのAdcanced optionから、Reconfigure destination virtual machineのチェックを外し、設定を完了します。

そしてまた待機。

しばらくすると今度はCompletedとなりましたが、相変わらずError loading operating systemエラー…。

とりあえずここまで

その後成功するまではこちら

ESXi(5.1.0Update2)インストールメモ

UNetbootinを使ってISOをUSBメモリに書き込み、USBメモリからインストールできるようにします。
(「ISOイメージ」を選択し、ダウンロードしたファイルを選択、USBデバイスを選択して書き込みを開始)

USBメモリを挿してPCを起動。

起動後、ESXi~と書いてあるものを選択してエンター。
読み込みが始まるのでしばらく待機。

Realtek RTL8111Eではドライバが見つからないというエラーが出てしまいました。
どうやらESXi5.5ではこのチップのドライバが対象外になってしまったようで、5.1Update2を利用することにしました。
ダウンロードページの下の方にあります。

これを先ほどと同じ手順でUSBメモリに書き込みます。

Welcome to the VMware ESXi 5.1.0 Installationと言われますので、コンティニュー。
今度はドライバのエラーは出ませんでした。

利用規約を見せられますので、同意します。

次にインストールするディスクを聞かれるので、ローカルに表示されているHDDを選択しましょう。

続いてキーボードレイアウト。Japaneseを選択します。

ESXiのrootに対するパスワードを求められるので、設定します。

システムのスキャンが始まり、インストールの最終確認がされるので、Installを選択します。

これでインストールが始まります。もうしばらく待機。

インストールが完了すると、インストールメディアを抜いてからREBOOTして下さいと言われるので、言われたとおりにします。

再起動すると自動的にESXiが立ち上がります。

ネットワークに正しく接続されていれば、DHCPでIPアドレスを取得してきて、クライアントをダウンロードできるアドレスを表示してくれます。
が、今回は固定しておきたいと思います。

F2を押してカスタマイズ画面に入ります。
rootのパスワードを求められるので入力してログインしましょう。

ConfigureManagementNetworkを選択、IPConfigurationからSetstaticIP~を選択してIPアドレスを入力しEnterで決定です。
設定画面から出ようとするとネットワークを再起動するか求められるので、再起動してもらいます。

正しくネットワークに接続できれば、先ほど設定したIPアドレスにアクセスするとページが表示されるはずです。
なお、httpsになっているのですがブラウザによっては危険だと言われてアクセスが防がれるようです。
攻撃者でないことはわかっているのでアクセスしてしまいましょう。

まずDownload vSphere Clientをダウンロードします。
クリックするとダウンロードが始まります。

ダウンロード後は普通にインストールするだけ。

起動するとIPアドレスとユーザーを入力してログインします。
ユーザーは追加していないので今回はrootで。

SSL証明書の警告が出ますが、無視して接続します。

起動時にライセンスの警告が出るかと思いますが、とりあえず閉じてインベントリをクリック。
ESXiサーバーが表示されていると思います。

右ページの「構成」タブをクリック。

ライセンス機能→編集→このホストに新規のライセンスキーを割り当てるにチェック
ESXiをダウンロードしたページに無償評価版用のライセンスキーがあると思いますので、それをコピーします。

ライセンスキーを登録すると、60日間という期限はなくなります。

とりあえずここまでで普通に利用できるようになりました。