Category Archives: VM

[メモ][Vagrant] FreeBSDのboxを作る。

Pocket

インストール時設定

容量節約のためにgame, srcはインストールしない。
rootのパスワードはvagrantに。
ユーザvagrantを追加、パスワードもvagrantに。
sshdは有効に、dumpdevは無効に。

/etc/rc.confの中身

インストール後設定

まずはOSの更新。

pkgのインストール

pkgをインストールするには、pkg listでもなんでも叩けばインストールしてくれる。

sudoのインストール

vagrant用に。

ユーザvagrantにパスワードなしのsudo権限を与える。

requirettyがあればコメントアウト。

ユーザvagrantのssh key設定

定番のキーをauthorized_keysとしてダウンロードし、パーミッションを設定する。

sshd設定の変更

/etc/ssh/sshd_configに以下を追加。

空行、コメント行を除くとこんな感じ。

sshdを再起動

VirtualBox Guest Additonsは必要か。

FreeBSDのGuest Additionsで以下が可能になる。
https://wiki.freebsd.org/VirtualBox

逆に言うと、以上が必要なければわざわざ入れることもない。
もしXを入れないのであれば、インストールしないほうがよい。
pkgのGuest AdditionsはX11のサポートがOnになっており、そのままインストールすると山ほどpackageを追加されるから。
ではportsからコンパイルする?
まずportsディレクトリが必要。
さらに、実はGuest AdditionsのコンパイルにはKernelソースが必要なので、/usr/srcも必要。
しかもportsからのコンパイルするとperlやらgmakeやら、いろんなもののコンパイルが発生する。
本当におすすめしない。

Guest Additionsのインストール

インストールする場合には、pkgからvirtualbo-ose-additonsを。
search -fすると分かるが、X11がOnになっている。

念のため確認

仮想マシンをパッケージする

シャットダウンしたのち、ホストマシンで梱包
–boxに続けてVirtualBox上の名前を入れる。

できたpackage.boxは約1Gバイト。うーん。ちょっとでかいなあ。

[メモ][Vagrant] Ubuntuのboxを作る

Pocket

Vagrantは便利だが、boxの初回ダウンロードがウンザリするくらい長い。
torrentに流してくれればいいのに…。
しかたないので自分でUbuntuのboxを作る。

参照ドキュメントは公式の以下のもの。
https://docs.vagrantup.com/v2/boxes/base.html

VirtualBox上でUbuntu14.04をインストール後、apt-get update && apt-get upgrade && apt-get dist-upgradeまで済ませた前提。
providerはVirtualBox。
まずVirtualBox特有の注意点を先に。

VirtualBox向けにBoxを作るときの注意点

https://docs.vagrantup.com/v2/virtualbox/boxes.html

  1. ネットワークインタフェースはNATにしておくこと。
  2. MACアドレスをメモしておくこと。
  3. VirtualBox Guest Additionsをインストールしてあること。

一つ目の理由は、VirtualBoxが決め打ちで接続してくるから。
二つ目の理由は、Vagrantfileのconfig.vm.base_macに書く必要があるから。
MACアドレスはVirtualBoxのGUIから確認できる。
三つめの条件を満たすには、あらかじめlinux kernel headersとbasic developer toolsをインストールしておく必要がある。
手順は後述。
ではさっそく。

不要なハードウェアの無効化

USB, オーディオなどを無効化する。
特にUSBが有効になっていると、無用なバグを引いたりするので、無効化しておくことを強く勧める。

デフォルトユーザ(vagrant)の作成

Vagrantの作業用アカウントを作る。
Vagrantはデフォルトでユーザ”vagrant”として仮想マシンにSSH接続する。
vagrantというユーザのいることが明らかだと、それはそれでセキュリティ上のリスクになるのだが、それはVagrantに慣れてから考える。

vagratを追加し、パスワードもvagrantに。
パスワードを設定しておくのは、万が一、手動で仮想マシンに接続する必要が生まれたときのため。

SSH接続用に鍵を作成する。
鍵はインターネットからダウンロードする。そんな鍵なんて危ないように見えるが、これはあくまでも初回ブート用。Vagrantが自動的に書き換えてくれる。

ユーザvagrant向けsudo設定

ユーザvagrantがパスワードなしでsudoできるように。
visudoで以下の行を追加。

さらにrequirettyという記述があればコメントアウト

rootのパスワードも変える。

rootのパスワードも”vagrant”に。

sshd設定

sshdがなければインストール。

sshdの設定ファイルを書き換え

以下の行があることを確認。なければ書く。

VirtualBox Guest Additionsのインストール

再掲だが以下のドキュメントに沿って。
https://docs.vagrantup.com/v2/virtualbox/boxes.html

その後、VirtualBox Guest Additionsのインストール
VitualBoxのGUIからCDを挿入し、以下を実行。

後はこちらの通り。

[メモ][Windows] VirtualBoxの仮想マシンからvagrantのboxを作る

Pocket

VirtualBox上の仮想マシンをvagrantのboxにする方法はありきたりだが、たいていはLinux、OS Xでの話で、Windowsでのメモはあまりない。そこでメモ。

packageの作成

VirtualBox上の仮想マシンをパッケージする。
vagrant packageの–baseオプションにVirtualBox上の仮想マシン名を与える。
なお、そのまえにUSB、サウンドは無効にしておいたほうがよい。

カレントディレクトリにpackage.boxができた。
この中に仮想マシンが入っている。
あとはこれをどこに移動してもよい。
うーん、ポータブル。
次にこの中の仮想マシンをvagrantから参照する方法。

package.boxをvagrantから参照する。

vagrant init <新規に作成する仮想マシンの名前> <package.boxの場所>と指定してvagrantfileを作る。
もちろんvagrant initと空撃ちして手で書き換えてもよい。後述。

package.boxはローカルに置いてあるので、場所の指定は「file://」に続けてパスを書く。
windowsの場合は「/C:/path/to/package.box」のように書く。
結果、「file:///C:/….」となる。
スラッシュが多くて不安になるけど、これでよい。
なお、windowsっぽく円マークあるいはバックスラッシュを使ってしまうとエスケープされてしまい、vagrantがpackage.boxを見つけられない。注意。

Vagrantfileが以下のようになっていること。
vagrant initを空撃ちした場合には、以下の二行を加えること。

あとはvagrant upでよい。

別の方法:box listに登録する。

package.boxをvagrantのbox listに登録しておけば、いちいちpackage.boxの場所を指定しなくてもいいようになる。

あとは定石で。

[memo] VirtualBoxのNATでホストからゲストへの接続を許可(ポートフォワーディング)

Pocket

ほんとにメモ。

VirtualBoxで;

  1. ゲストをホスト外へ露出させず、一方で
  2. ゲストから外部へのアクセスを許可し、なおかつ
  3. ホストからゲストへのsshをさせたい

場合のメモ。

上記をかみ砕くと、ゲストのネットワーク設定で「NAT」を選びつつ、作業のためにホストからゲストへsshをしたい場合。

高度な設定からポートフォワーディングを選び
2015-09-03_22-14-16_090315_102509_PM

ホストのポートとゲストのポートを設定する。
以下の例ではホストの8022に繋ぐとゲストの22、すなわちsshへ繋がれる設定。
2015-09-03_22-14-25_090315_102545_PM

No tags for this post.

[VM] VMWareのイメージをVirtualBoxで読み込むには(OVF経由での読み込み)

Pocket

 

VMware Playerにはsnapshot機能がない。
仮想マシンを使う目的の一つは、本番マシンではできない、いろいろな実験をすることだ。
snapshot機能がないと実験が途端に面倒になる。

こればかりはどうしようもない。仕方がないので、手元の仮想マシンはすべてVirtualBoxに移行する。
そのときのメモ。

全体の流れ

  1. VMWare Player付属のツールでOVFに変換する。
  2. それをVirtualBoxでインポート。

OVFとはOpen Virtualization Formatのこと。詳しくはWikipedia

VMWare Player付属のovftool.exeについて

VMWareのイメージをOVFフォーマットに変換するツール。
コマンドプロンプトで使う。
書式は以下の通り。

実際にやってみる。

OVFへの変換。

ovftool.exeはVMWare Playerのインストールフォルダにある。
作業はコマンドプロンプトで行う。
いちいちcdしていくのが面倒なので、以下のようにしてコマンドプロンプトを開く。

convert001
convert002

そして変換元ディスクイメージの指定も面倒なので、いったんエクスプローラに戻り、パスを取得する。

convert003

コマンドプロンプトに戻って貼り付け。その後、変換先イメージの場所を指定。

convert004
convert005

VirtualBoxでのインポート

大して難しいことはない。
が、注意点が一つだけ。

OVFファイルのあるフォルダに、拡張子.mfを持つファイルがある。
VirtualBoxでのインポート前に削除しておくこと。
.mfとはManifestファイルであり、これがあるとインポートに失敗する

convert0071

後は素直に。英語ならpretty straightforwardとかいうでしょうか。

convert006
ファイル→仮想アプライアンスのインポート。

convert007
変換してできたovfを選ぶと、設定が表示される。
メモリ256MBってなんだよ…。あとで設定を変えよう。

convert008

convert009
できあがり。
このあと設定を変えればVirtualBoxで使えます。
なお、OVFファイルは捨ててしまっても問題なし。

No tags for this post.

仮想マシンイメージの変換について

Pocket

 

VMWare PlayerのイメージをESXi用に変換するには

VMWareが提供しているコンバータを使う。
以下、まとめ。

なお、動機としては、「手元のVMware Playerで手軽にいろいろ検証をして、出来上がったものをESXiに移す」ことが出来るようにしたい、というもの。
しかし最後に書くように、変換してもVMware Player上と同じようにESXi上でも動くとは限らない。
可能なら最初からESXi上で検証したほうがよいようだ。

VMware vCenter Converterとは。

 

「VMware vCenter Converter は、物理マシンから仮想マシンへの変換のほか、仮想マシン フォーマット間の変換を自動化および簡素化します。 VMware vCenter Converter では、直感的なウィザード形式のインターフェイスを使用して、物理マシンを仮想マシンに変換できます。」

vmware.comを見ると、「物理マシンから仮想マシンへ変換」なんてすごい事が書いてある(2013/8/1現在)。

さらにvmware.comから引く。

VMware vCenter Converter は、さまざまなハードウェア上で実行でき、最も広く使用されている Microsoft Windows と Linux オペレーティング システムの各バージョンに対応します。 この堅牢なエンタープライズ クラスの移行ツールにより、次のことが可能になります。

システム停止やダウンタイムなしで、ローカルおよびリモートの物理マシンを迅速かつ確実に仮想マシンに変換できます。
統合管理コンソールと直感的な変換ウィザードにより、複数の変換を同時に実行します。

Microsoft Hyper-V、Microsoft Virtual PC、Microsoft Virtual Server など、サードパーティの仮想マシン フォーマットのほか、Symantec Backup Exec System Recovery や Norton Ghost など、物理マシンのバックアップ イメージを VMware の仮想マシンに変換します。

入手

http://www.vmware.com/jp/products/converter

 

手順

ここでは5.0.0ビルド 470252を使用している。

メニューから変換を選ぶ

  1. 「ソースのタイプを選択」→「VMware Workstation またはその他の VMware 仮想マシン」を選ぶ
  2. 仮想マシンファイルで変換したいvmxファイルを選ぶ。
  3. 「ターゲットのタイプを選択」→「VMware Infrastructure 仮想マシン」
  4. VMware Infrastructure サーバの詳細で、ESXiマシンの詳細を入れる。

ESXi上での名前を決めて、あとは適当に。
100MのEternetで2GBytes程度の仮想イメージを転送したところ、10分強かかった。

また、ESXi上で起動するときもいくつか聞かれるが、それも適当に。

 

愚痴

本記事が、とてもやる気のない感じになっているのは、VMware Playerで問題のなかった仮想マシンが、ESXiに移したら途端に調子が悪くなったから。
具体的には、FreeBSD 9.1-RELEASE(amd64)をESXiに移したら、ira16から割り込みの嵐が発生してまともにパフォーマンスがでなかった。
新規で同じOSを入れたら事象発生せず(vmstat -iを見たら割り込みを発生させたデバイスがない)。
ぐぐっても解決策なし。
がっかり。

No tags for this post.

VMWare vSphere5.0(ESXi5.0)インストーラをUSBメモリ「から」起動するには

Pocket

VMWareのESXiは大変便利なのだが、インストーラをCDに書き込む必要のあるのが玉に瑕。
今更CD-R/DVD-Rなんて持ってないよ。
USBメモリにインストーラをインストールする方法を調べたのでまとめる。

なおESXiはVMWareからダウンロードしている前提。

UNetbootinの入手

以下より、OSに合わせたUNetbootinをダウンロード。

http://unetbootin.sourceforge.net/

Windows、Macのほか、各種Linux向けにも用意されているし、インストールの必要なく動作するので、Windowsのレジストリだって汚れないよ!

USBメモリの準備

USBメモリはFAT32でフォーマットしておく。
Windowsでは「クイックフォーマット」は選んだりしないこと。

USBメモリへの書き込み

USBメモリを挿してから、USBUNetbootinを起動。
ディスクイメージ→ISO→ESXiのインストーラISOイメージを選択
タイプでUSBメモリを選択
OKをクリック

unetbootin

以下のようになれば完成。
ママも安心ESXiインストーラ入りUSBメモリの出来上がり。

unetbootin01

以上

 

No tags for this post.