Skip to content


FreeBSD bhyve + vm-bhyve 仮想ディスク増設

FreeBSD bhyve + vm-bhyveで作成したゲスト環境(FreeBSD)に仮想のディスクを増設する。

方法は主に

  1. ファイルを用意しゲストOS上でマウント。
  2. zfsのzvolで用意しゲストOS上でマウント。
  3. ホスト環境でnfs共有設定し、ゲストOS上でマウント。

あたりが簡単な方法になる。

今回は前回テスト用に作成した環境(vmtest)を例に試してみる。

 

1. ファイル形式(disk1.img)で追加

ゲストが停止している状態で、ゲスト環境のディレクトリに移動し、イメージファイルを作成する。

vm configure vmtest“で設定ファイルに以下の2行を追加。

イメージファイルを他の場所に置きたい場合は次の様にdiskX_devを追加する。

vmtestを起動すると、以下のようにvtbd1が新たに追加されている。

あとは通常通り、gptパーティションを作成しファイルシステムを切ってマウントすればOK。

次回以降自動でマウントするなら/etc/fstabへ設定を追加。

 

2. zfs zvol(sparse-zvol)形式で追加

ディスク領域をファイルではなくzfsのzvolあるいはsparse-zvolのブロックアクセスとすることでパフォーマンスが多少向上する(と思う)。
まずは追加するディスク領域を確保する。
通常のzvolでもいいけど、せっかくのzfsなのでsparse形式としてみる。
zfsボリュームは対象となる仮想領域の直下を指定する。

設定ファイルに以下の3行を追加する。

sparseでない場合は”zfs create -V 50g data/vm/vmtest/disk1″として”-s”をつけずに確保する。
その上で設定ファイルの”diskX_dev”の指定を”zvol”とする。

vmtestを起動すると、以下のようにvtbd1が新たに追加されているので、後の作業はfile形式の場合と同様。

 

3. nfsでディレクトリを共有

ホスト側zfsのnfs共有機能を使ってゲストOSと共有のディレクト利用域を確保する。
厳密にはディスク領域の追加とは違うけれども、実際には一番よく使うので一応書いておく。
共有するディレクトリはどこでもいいけれど、今回はzvolの時と同じくゲスト領域の下にdata/vm/vmtest/disk1として確保した領域を共有してみる。
まずはホスト側の準備。
ホストにNFL共有の設定がしない場合、/etc.rc.confに以下を追加して”service nfsd start”しておく。

次に共有領域data/vm/vmtest/disk1を作成し解放する設定を行う。

ゲストOS側でマウントを行う。

問題なければ/etc/fstabに次の1行を追加し、次回以降自動マウントの設定を行う。

 

Posted in FreeBSD.

Tagged with .


0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.



Some HTML is OK

or, reply to this post via trackback.