差分
このページの2つのバージョン間の差分を表示します。
— |
freebsd:bhyve:freebsd_11.1r_use_vm-bhyve [2020-12-03 19:35] (現在) Decomo Deleted by PageMove plugin |
||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== vm-bhyveでお手軽にbhyveを使う ====== | ||
+ | ===== 試した環境 ===== | ||
+ | |||
+ | * FreeBSD 11.1-RELEASE | ||
+ | * FreeBSD 11.2-RELEASE | ||
+ | * FreeBSD 12.0-RELEASE | ||
+ | * vm-bhyve 1.2.3 | ||
+ | * vm-bhyve 1.3.0 | ||
+ | * ZFS環境 | ||
+ | |||
+ | ===== 準備 ===== | ||
+ | |||
+ | ==== インストール ==== | ||
+ | |||
+ | packagesからvm-bhyveを入れる | ||
+ | < | ||
+ | # pkg install vm-bhyve | ||
+ | </ | ||
+ | |||
+ | ==== 初期化 ==== | ||
+ | |||
+ | vm-bhyve用のZFSファイルシステムを作る。ここにvm-bhyveの管理情報、VM情報、VMのストレージが格納されることになる。 | ||
+ | < | ||
+ | # zfs create zvm/R/vm | ||
+ | </ | ||
+ | |||
+ | rc.confに設定を追加。見てわかる通り、'' | ||
+ | < | ||
+ | # echo ' | ||
+ | # echo ' | ||
+ | </ | ||
+ | |||
+ | vm-bhyveの初期化(最初の1回のみ) | ||
+ | < | ||
+ | vm init | ||
+ | </ | ||
+ | |||
+ | '' | ||
+ | < | ||
+ | $ find /zvm/R/vm | ||
+ | /zvm/R/vm | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | VMのテンプレートをコピーする | ||
+ | < | ||
+ | # cp / | ||
+ | </ | ||
+ | |||
+ | ==== 仮想スイッチの作成 ==== | ||
+ | |||
+ | VMの通信は、VMの仮想NICから仮想スイッチを経由して物理ネットワークに出て行く。bhyveにおける仮想スイッチは、実のところFreeBSD標準の単なるネットワークブリッジである。 | ||
+ | |||
+ | === 一般的な方法 === | ||
+ | |||
+ | 以下ではpublicという名前の仮想スイッチを作成し、物理NICとしてigb0をスイッチに" | ||
+ | < | ||
+ | # vm switch create public | ||
+ | # vm switch add public igb0 | ||
+ | </ | ||
+ | |||
+ | === ゲストからホストにアクセスする場合 === | ||
+ | |||
+ | VMからホストのサービスにアクセスする必要がある場合(VM上のWindowsからホストのSambaを使う時とか)は、手動でブリッジを作成し仮想スイッチとして登録しなければならない。 | ||
+ | |||
+ | ブリッジにIPアドレスを割り当てるようにしないと、ゲスト→ホストのpingは通るのにサービスにアクセス出来ないといった事が起こる。参考:[[https:// | ||
+ | |||
+ | < | ||
+ | # ifconfig_igb0=" | ||
+ | ifconfig_bridge0=" | ||
+ | ifconfig_bridge0_alias0=" | ||
+ | ifconfig_igb0=" | ||
+ | ifconfig_tap0=" | ||
+ | </ | ||
+ | |||
+ | xx: | ||
+ | |||
+ | 手動で作ったbridge0をvm-bhyveのpublicな仮想スイッチとして登録。 | ||
+ | < | ||
+ | # echo ' | ||
+ | # echo ' | ||
+ | </ | ||
+ | |||
+ | ===== Windows 10を入れてみる ===== | ||
+ | |||
+ | テンプレート(-t) windows、仮想ストレージ(-s) 60GB、VM名windowsでVMを作る。 | ||
+ | |||
+ | < | ||
+ | # vm create -t windows -s 60 windows | ||
+ | </ | ||
+ | |||
+ | '' | ||
+ | |||
+ | < | ||
+ | # vm configure windows | ||
+ | uefi=" | ||
+ | cpu=2 | ||
+ | memory=6G | ||
+ | network0_type=" | ||
+ | network0_switch=" | ||
+ | disk0_type=" | ||
+ | disk0_name=" | ||
+ | uuid=" | ||
+ | graphics=" | ||
+ | </ | ||
+ | |||
+ | なお、インストールに使うISOイメージはvm_dir/ | ||
+ | < | ||
+ | # cp / | ||
+ | </ | ||
+ | |||
+ | インストールモードでVMを起動する | ||
+ | < | ||
+ | # vm install windows windows_install.iso | ||
+ | </ | ||
+ | vm startとの違いは、指定したISOを自動マウントしてくれる点と、VNCでVMに接続するまで起動を止めてくれる点。 | ||
+ | |||
+ | Windowsのインストールが完了したら、vm startで起動する事ができる。 | ||
+ | < | ||
+ | # vm start windows | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | <!-- | ||
+ | =====Ubuntuを入れてみる ===== | ||
+ | |||
+ | grub2-bhyveが必要なので入れる。 | ||
+ | < | ||
+ | # pkg install grub2-bhyve | ||
+ | </ | ||
+ | |||
+ | sudo vm create -t ubuntu -s 30 ubuntu1804lts | ||
+ | sudo vm configure ubuntu1804lts | ||
+ | loader=" | ||
+ | cpu=8 | ||
+ | memory=8G | ||
+ | network0_type=" | ||
+ | network0_switch=" | ||
+ | disk0_type=" | ||
+ | disk0_name=" | ||
+ | uuid=" | ||
+ | |||
+ | sudo vm install ubuntu1804lts ubuntu-18.04.2-server-amd64.iso | ||
+ | sudo vm console ubuntu1804lts | ||
+ | |||
+ | Detect disks -> virtio_blk | ||
+ | --> | ||
+ | </ | ||
+ | |||
+ | ===== データストアを追加する ===== | ||
+ | |||
+ | '' | ||
+ | |||
+ | 現状確認 | ||
+ | < | ||
+ | # vm datastore list | ||
+ | NAME TYPE PATH ZFS DATASET | ||
+ | default | ||
+ | </ | ||
+ | |||
+ | zhome2/ | ||
+ | < | ||
+ | # vm datastore add mirrorhdd zfs: | ||
+ | </ | ||
+ | |||
+ | 追加されたか確認 | ||
+ | < | ||
+ | # vm datastore list | ||
+ | NAME TYPE PATH ZFS DATASET | ||
+ | default | ||
+ | mirrorhdd | ||
+ | </ | ||
+ | |||
+ | 追加したデータストアを使う時は、vm createの-dオプションで指定する。 | ||
+ | |||
+ | ===== vm-bhyveコマンド例集 ===== | ||
+ | |||
+ | VMの削除 | ||
+ | < | ||
+ | # vm destroy VM名 | ||
+ | </ | ||
+ | |||
+ | データストアの削除。vm-bhyveの管理から削除されるだけでデータは残ったまま。 | ||
+ | < | ||
+ | # vm datastore remove | ||
+ | </ |