2016年12月10日土曜日

svchost を停止させて Windows を快適に動作させる

概要

すごい昔に購入した Thinkpad の edge13 がやたら重いので対応してみました

環境

  • Windows7 64bit HomeEdtion
  • Thinkpad Edge13 0217CTO

対応方法

ファイル名を指定して実行から「services.msc」を実行します
一覧の中に「Windows Update」があるので見つけてプロパティを表示します
stop_winupdate1.png

そしてスタートアップの種類を「無効」にします
stop_winupdate2.png

これで一旦 Windows を再起動しましょう
すると「svchost.exe(netsvcs)」プロセスが停止してメモリが 1 - 2GB ほど空いていると思います

注意点

これは Windows Update を自動で行ってくれるサービスデーモンを停止していることでメモリを解放しています
なので、これを行うと自動で Windows update を行ってくれなくなります
もちろん手動で Windows update を行えば良いのですが、Windows update は貯めれば貯めるほど、更新時間がやたらかかります
また、Windows の設定の推奨も自動更新は ON にしろと言っているので本来であれば ON にするべきです
セキュリティ的な観点からも ON にしたほうが良いと思います

ただ、インターネットに接続していない Windows 端末などは無駄にプロセスが稼働しているだけになるので OFF にしても良いかなと思います

自分の場合、かなり昔に購入した Windows でメモリが 2GB しか積まれていなかったのでやむなく OFF にしました
まぁ確かにサクサクにはなりましたが、その内 SO-DIMM のメモリを購入して増設しようかなと思っています

最後に

Windows を少しサクサクにする方法を紹介しました
感染したらクリーンインストールするくらいであれば、正直 Windows update がなくても大丈夫かもしれません
いや、やはりそんなことはないので無効にしてもちゃんと Windows update は行うようにしてください

2016年12月9日金曜日

VirtualBox 上の ESXi6.0 で VM を作成してみる (CentOS 編)

概要

前回 VirtualBox 上に ESXi をインストールしてみました
今回はその作成した ESXi 上に VM を 1 台作成してみます

環境

  • VirtualBox 5.1.10
  • ESXi 6.0 update 2
  • Windows7 Enterprise バージョン 6.1
    • Intel Core i5-5300U CPU @ 2.30GHz
    • メモリ 10GB
    • ストレージ 120GB (SSD)

事前作業

VirtualBox 上で事前に作業を行っておきます

VM へのディスク追加

今回、新規で作成する VM は新規のデータストアに登録したいので事前にそれ用のディスクを追加しておきます
まず VirtualBox でディスクを追加します
「設定」から「ストレージ」を選択し SATA のコントローラ配下にディスクを 1 つ追加しましょう
first_vm_on_esx_pre_storage_up.png

容量はとりあえず 50 GB にしました
最終的に上記のような感じで追加できれば OK です

イメージファイルのダウンロード

今回はゲスト OS に CentOS をインストールしてみます
以下のリンクから iso ファイルをダウンロードしてください
http://ftp.riken.jp/Linux/centos/6/isos/i386/CentOS-6.8-i386-minimal.iso

32bit OS を選択しているのは理由は最後に説明します

ESXi での作業

ここから ESXi 上で作業していきます

vSphere Web Client でアクセスする

ブラウザで ESXi に接続します
以下の画面が表示されたら「Open the VMware Host Client」を選択します
first_vm_on_esx_top_page.png

するとログイン画面が表示されるので ESXi の root ユーザでログインしましょう
first_vm_on_esx_login_page.png

ログインできてホストの一覧が表示されれば OK です

データストアの追加

まずは VM に追加したディスクをデータストアとして ESXi に登録します
ストレージを選択し「新しいデータストア」を選択します
first_vm_on_esx_creating_datastore1.png

「新しい VMFS データストアの作成」を選択します
first_vm_on_esx_creating_datastore2.png

VirtualBox の VM に追加したディスクを選択します、名前はお好きなものを入力してください
first_vm_on_esx_creating_datastore3.png

ディスクすべての領域をデータストアとして利用するかどうか選択できます
今回は特に他の用途で使う予定もないのですべての領域をデータストアとして使います
first_vm_on_esx_creating_datastore4.png

問題なければ「完了」でデータストアを作成しましょう
first_vm_on_esx_creating_datastore5.png

一覧に表示されれば OK です
first_vm_on_esx_creating_datastore6.png

※ちなみにこの作業は必須ではありません、すでに十分な量のデータストアがあるのであればそれを使ってください

VM の作成と設定

それでは ESXi 上に VM を作成していきます
「仮想マシンの作成/登録」を選択します
first_vm_on_esx_creating_vm1.png

「新規仮想マシンの作成」を選択します
first_vm_on_esx_creating_vm2.png

名前を適当に設定しましょう
「ゲスト OS ファミリ」には「Linux」を選択し「ゲスト OS のバージョン」には「Red Had Enterprise Linux 6 (32 ビット)」を選択します
first_vm_on_esx_creating_vm3.png

データストアは余裕のあるところを選択しましょう
今回は事前に作成した VM 用のデータストアを選択します
first_vm_on_esx_creating_vm4.png

VM のカスタマイズ画面になります
今回はデフォルトの値からメモリとディスクの値だけを少し縮小しました
first_vm_on_esx_creating_vm5.png

問題なければ完了を押して VM を作成しましょう
vSphere Web Client の一覧画面に表示されると思います
first_vm_on_esx_creating_vm6.png

iso ファイルをデータストアにアップロードする

ダウンロードした CentOS の iso ファイルを ESXi 上のデータストアに配置します
作成した VM のディスクドライブに iso ファイルをマウントするためアップロードします
vSphere Web Client を使ってデータストアブラウザからアップロードすれば OK です
first_vm_on_esx_upload_iso.png

※なぜか自分の環境では vSpehre Web Client ( or vSphere Client ) を使ってアップロードができたなかったのでここだけ scp コマンドで直接 ESXi に iso ファイルを転送しました

iso ファイルをディスクドライブに設定する

データストアにアップロードした CentOS のイメージを VM のディスクドライブにマウントします
作成した VM を選択し「設定の編集」を選択します
first_vm_on_esx_setting_iso1.png

「CD/DVD ドライブ1」という設定項目があるので「データストア ISO ファイル」に変更します
そして先程データストアにアップロードした iso ファイルを選択してください
first_vm_on_esx_setting_iso2.png

問題なく完了すればディスクドライブへの iso ファイルの設定は完了です

vmx.allowNested = “TRUE” を設定する

これは VirtualBox 上で ESXi を動作させているため設定する項目になります
ESXi をサーバ単体で動作させている場合には不要な設定となります

これは作成した VM の .vmx ファイルを直接編集しなければなりません
.vmx ファイルは ESXi 上にあるので SSH ログインしましょう
SSH できたら VM が存在するデータストア配下に移動して .vmx ファイルを編集してください

  • /vmfs/volumes/58493b22-e99921e9-5adb-0800277b723b/centos6
  • vi centos6.vmx

58493b22-e99921e9-5adb-0800277b723b の部分はデータストアに振られた固有の ID となりますので、各自の環境に合わせてください
で以下を最後の行に追記してください

vmx.allowNested = "TRUE"

これで OK です
ちなみにこれを設定しないで VM を起動しようとすると以下のようなエラーとなります
enter image description here

VM の起動 (CentOS のインストールと設定)

それでは VM を起動してみましょう
iso がちゃんと設定されていれば CentOS のインストール画面が表示されると思います
インストール画面はコンソール上で進めていけば OK です
first_vm_on_install_centos.png

ここからは CentOS のインストール方法の紹介になるので詳細は省きますが、特につまづくとこはないと思います
ディスクを完全に初期化をするように促されると思うので、一旦初期化したほうが良いと思います

なぜ 32bit 版なのか

単刀直入にいうと 64bit 版を動作させることができないためです
VT-x という「インテル バーチャライゼーション・テクノロジー」という CPU の機能があるのですが、VirtualBox 上で動作する ESXi の場合、この機能が使えないようです
で、VT-x 機能が使えないと ESXi 上では 64bit OS を動作させることができないという問題が発生します

ということで今回は素直に 32bit 版の OS をゲスト OS としてインストールしてみました
が、後々調査してみると Nested Virtualization のときに ESXi 上の /etc/vmware/config に vhv.enable = "true" を追記して hostd を再起動するだけでいけそうだということがわかったので、また今度検証してみようかと思います、、、
( 今回はだいぶ記事が長くなってしまったので省略します )

最後に

VirtualBox 上にデプロイした ESXi6.0 上に VM を作成してみました
VirtualBox 上で nest させている環境なので、特有のエラーが結構出ましたが最終的には VM を起動することができました

素直に ESXi 単体でサーバを動作させている場合にはこんなに大変な手順にはならないと思います

2016年12月8日木曜日

ESXi に SSH 接続してログを確認する

概要

ESXi に SSH する方法を紹介します
なんだかんだ SSH してログをみたりできると便利なので有効にしておくと後々幸せになるかもしれません

環境

  • VirtualBox 5.1.10
  • ESXi 5.5 update3
  • Windows7 Enterprise バージョン 6.1

設定方法

設定は ESXi を起動したターミナル上で行います
まず ESXi を起動して以下の画面にしてください
enable_esxi_ssh1.png

この画面でまずは「F2」を押します
カーソルのフォーカスはターミナルの画面内においてください
するとログイン画面になるので ESXi に設定した root ユーザでログインしてください
enable_esxi_ssh2.png

「System Customization」の画面の「Troubleshooting Options」を選択します
enable_esxi_ssh3.png

その中に「Enable SSH」という項目があるのでここで Enter をクリックします
enable_esxi_ssh4.png

すると右ペインの表示が「SSH is Enabled」となります
enable_esxi_ssh5.png

一旦ここで ESXi を再起動しましょう
初めの画面に戻って「F12」で再起動することができます

動作確認

再起動したら動作確認します
今回は teraterm で行いました
今回の設定だと認証にチャレンジレスポン認証を使用する必要があるためです

ユーザ名を入れて「チャレンジレスポンス認証を使う」にチェックします 
enable_esxi_ssh6.png

するとパスワード入力ダイアログが表示されるので ESXi の root ユーザのパスワードを入力します
enable_esxi_ssh7.png

成功すると以下のようにプロンプトが表示されます
hostname や who を実行した結果は以下の通りです
enable_esxi_ssh8.png

ではログを見てみましょう
ESXi 上で起動している VM のログは以下のパスで確認することができます

  • cd /vmfs/volumes/5847e5aa-e694a813-49e8-0800276adbc5/
  • cd VMware\ vCenter\ Server\ Appliance/
  • tail vmware.log

5847e5aa-e694a813-49e8-0800276adbc5 の部分は VM が乗っているデータストア固有の ID になるので各自の環境に合わせてください
その配下の VM 名配下に vmware.log というファイルがあるので、これに各 VM で行われた操作やイベントの詳細なログが記録されます

最後に

ESXi に SSH して主要なログを見る方法を紹介してみました
実際 SSH できると ESXi の挙動や仕組みを更に知ることができるので勉強にはなると思います
ただ、vSphere Client などで見るとわかるのですが、SSH が有効になっていると警告みたいなのが表示されます
当然ですが、セキュリティとしてはあまりよろしくないのでできれば vSphere Client で見れる範囲でオペレーションできるほうが望ましいと思います

とは言え SSH できたほうが便利なのは便利です

参考サイト

2016年12月6日火曜日

Windows 上の VirtualBox を使って ESXi 環境を構築してみた

概要

Windows 上にインストールした VirtualBox 上に ESXi を構築してみました
ESXi 専用の物理サーバを用意する必要がないので簡単な検証をしたい場合にはおすすめの方法です
ハマリポイントもあったので紹介します

環境

  • VirtualBox 5.1.10
  • ESXi 6.0 update 2
  • Windows7 Enterprise バージョン 6.1
    • Intel Core i5-5300U CPU @ 2.30GHz
    • メモリ 10GB
    • ストレージ 120GB (SSD)

VirtualBox のインストール

すでにインストールしている場合はここはスルーで OK です
https://www.virtualbox.org/ にアクセスして Windows 用のインストーラをダウンロードして実行すれば OK です
esxi_on_vb_install_vb.png

ESXi 6.0 の ISO ファイルのダウンロード

次に ESXi の ISO ファイルをダウンロードします
これには myVMware へのログインが必要になるので VMware のアカウントがない場合は登録してください
アカウントを作成しログインしたらここから iso ファイルをダウンロードしましょう
esxi_on_vb_download_esxi_iso.png

今回は「VMware-VMvisor-Installer-6.0.0.update02-3620759.x86_64.iso」というファイルがダウンロードできました

VM の作成

それでは VirtualBox 上で ESXi 用の VM を作成していきます

まずは「新規」を選択します
名前、タイプ、バージョンを決定します
タイプは「Linux」バージョンは「Red Had (64-bit)」を選択してください
名前は好きなものを入力してください
esxi_on_vb_new.png

次に仮想マシンへのメモリの割り当てですが、ここは必ず 4096MB 以上割り当ててください
他の紹介サイトを見ていると 2048MB しか割り当てていない場合もあるのですが、自分の場合 4096MB を割り当てないと ESXi のインストールの途中で「no network adapters」というエラーが発生しインストールが終了してしまう現象が発生しました
なので、4096MB 割り当ててください
esxi_on_vb_memory_assign.png

あとはハードディスクの作成です
基本はデフォルトのままで OK です

「仮想ハードディスクを作成する」->「VDI (VirtualBox Disk Image」->「可変サイズ」->「8.00 GB」

という感じで進めば OK です
問題なく VM が作成できれば完了です

VM の設定

VM 作成後に設定する項目があるので設定します
一覧画面から「設定」を選択します

「システム」から「プロセッサー」を選択して CPU の数を 2 つ以上に設定します
esxi_on_vb_config_cpus.png

次に「ストレージ」から光学ディスクに先ほどダウンロードした ESXi の ISO ファイルを設定します
ISO ファイルの設定は右上にあるディスクマークから設定できます
esxi_on_vb_config_iso.png

最後に「ネットワーク」でアダプター 1 が有効になっていることを確認してください
割り当ては「ブリッジアダプター」を設定してください
esxi_on_vb_config_adapter.png

ESXi のインストール

作成した VM を起動して ESXi インストールしていきます
一覧から VM を選択して「起動」を選択します

BIOS 画面で ESXi を選択します
esxi_on_vb_bios.png

起動中は以下のような画面になります
次の画面になるまで待ちましょう
esxi_on_vb_starting_esxi.png

以下のような画面になったら VirtualBox のターミナル上で作業していきます
作業をする際は必ずフォーカスが画面内になるようにしてください
右下に下矢印の画面があると思いますので、これが緑になっている状態で作業してください
Windows の場合、フォーカスを切り替えるキーは「右 Control」になります
フォーカスを切り替えたら Enter を押して次に進みます
esxi_on_vb_install1.png

次に EULA の画面になります
基本は同意して先に進めば良いのですが、その場合「F11」キーを押すことになります
ここでちゃんとフォーカスしていない状態で「F11」を押すと次の画面で「Logs are stored on non-persistent storage. Consult product documentation to configure a syslog server or a scratch partition.」というエラーとなり次に進めなくなりました (※1)
F11 を押して Scanning が始まれば OK です
esxi_on_vb_install2.png

ストレージの一覧が表示されたらインストールするストレージを選択します
基本は ATA 接続の 1 つしか見つからないと思うのでそれを選択すれば OK です
esxi_on_vb_install3.png

次にキーボードのレイアウトを選択しましょう
「US Default」を選択すれば良いと思います
esxi_on_vb_install4.png

次で ESXi の root ユーザのパスワードを設定します
フォーカスをあててキーボードで入力してパスワードを設定すれば OK です
入力したら Enter で次に進みます
esxi_on_vb_install5.png

最後に警告とエラーが表示されます
とりあえず警告だけだったので Enter を押して ESXi のインストール進めましょう
esxi_on_vb_install6.png

インストールの確認画面になるので「F11」を押してインストールを開始します
プログレスバーが表示されてインストールが進み始めます
問題なくインストールできると再起動を求められるので再起動しましょう
esxi_on_vb_install7.png

すると ESXi が起動してくると思います
最終的に以下の画面となれば起動完了です
esxi_on_vb_install8.png

ただ、デフォルトで設定されているネットワークの設定では Windows マシンからアクセスできないことがあります
必要に応じて以下のネットワークの設定も行ってください

ESXi の設定

主に IP アドレスを設定します (以下で設定している IP アドレスはサンプルのアドレスとなります)
もしかすると環境によっては実施する必要がないので任意でお願いします
以下の設定の目的は Windows と VirtualBox 上の ESXi を同一ネットワーク上でアクセスできるようにすることです

「F2」を押して root ユーザでログインします
esxi_on_vb_config_esxi_login.png

「Configre Mnagement Network」->「IPv4 Configuration」を選択します
ESXi に設定したい IP アドレスを設定します
「Set static IPv4 address and network configuration」を選択して「IPv4 Address」「Subnet Mask」「Default Gateway」を設定します
設定したら Enter で完了します
esxi_on_vb_config_esxi_ipv4.png

「Configre Mnagement Network」->「IPv6 Configuration」を選択します
ESXi の IPv6 を無効にします
「Disable IPv6」を選択して ESXi を選択します
設定したら Enter で完了します
esxi_on_vb_config_esxi_ipv6.png

「Configre Mnagement Network」->「DNS Configuration」を選択します
DNS サーバを設定します
「Primary DNS Server」 「Hostname」を設定します
必要であれば「Alternate DNS Server」でセカンダリ DNS を設定してください
esxi_on_vb_config_esxi_dns.png

「Configre Mnagement Network」->「Custom DNS Suffixes」を選択します
DNS のサフィックス (ドメイン名) を指定します
必要であれば設定してください
esxi_on_vb_config_esxi_dns_suffix.png

各種設定したら Exit して設定を適用するため ESXi を再起動しましょう

動作確認

ESXi を起動してネットワークの設定ができたブラウザで ESXi にアクセスしてみましょう
先ほど「IPv4 Configuration」で設定した IP にブラウザでアクセスしてみましょう
すると以下のような画面になると思います
esxi_on_vb_ret1.png

「Open the VMware Host Client」を選択しましょう
ログイン画面が出るので ESXi に設定した root ユーザでログインしてみましょう
esxi_on_vb_ret2.png

すると ESXi の管理画面が表示されます
ここで仮想マシンを更に作成したりすることができます
esxi_on_vb_ret3.png

最後に

VirtualBox 上に ESXi 6.0 環境を構築してみました
今回は実施しませんでしたが、vCenter Server と連携してからが本番かなと思います
ただ、vCenter Server は普通にお金がかかるので個人でやるにはちょっと厳しいかもしれません

とりあえず ESXi の環境はできたので VM を作成したりストレージ、ネットワークを設定したりしてみたいと思います

ちなみにこの手順は ESXi5.5 でもできました

トラブルシューティング

  • Mac + Corei7 だと ESXi のインストール中に「瞑想中」となり先に進まない

ESXi をインストールするには CPU のコア数が 2 つ以上必要なのですが、Mac + Corei7 環境で Core 数を 2 つにして ESXi をインストールしようとすると冥想中となり先に進みませんでした
以下のような画面が表示されます
esxi_on_vb_trouble1.png

Corei7 だと動作しない可能性もありそうです
自分は諦めて Windows + Corei5 環境で実施しました

参考サイト