OS 授業向けのマルチユーザ VM 環境の構築

琉球大学大学院 理工学研究科 情報工学専攻

平良 太貴

VM を用いた Web サービスの教育

VM を用いた Web サービスの教育

ie-virsh 導入前の VM 管理システム

ie-virsh を実装し適用する前に、VMWare ESXI / vSphere Client を利用していた。

VMWare ESXI / vSphere Client

KVM / ie-virsh への変更

授業 Operating System に使用するために、VMWare ESXI / vSphere Client の代わりにie-virsh を実装した。授業 Operating System で使用する。

目次

  1. 授業 Operating System で要求されること
  2. ie-virsh の実装
  3. ie-virsh の機能
  4. リソースの制限
  5. OCFS2 を使った構成
  6. ホストのブレードサーバの構成
  7. Vagrant Box の使用
  8. 他の管理ツールとの比較
  9. ie-virsh の改善点
  10. まとめと今後の課題

授業 Operating System で要求されること

授業 Operating System では、VM を使って課題や実験を行う。VM を学生が操作するにあたっての基本的な要件を満たす必要があり、また教師や管理者側の負担を減らさなければならない。

ie-virsh では以上のことを行えるように実装する必要がある。

ie-virsh の実装

virsh をラップし、複数の学生が学生自身の VM のみを操作できるように実装した。virsh の個々の VM を操作するのに必要な機能だけを抜き出し、学生に提供する。

libvirt

仮想マシンの制御を抽象化したライブラリで、VM の情報を習得・操作することができる API 群である。KVM の他にも VMWare や Xen など多くのハイパーバイザに対応しており、アクセスすることができる。

virsh

ie-virsh の機能

ie-virsh は virsh にある機能を制限し、学生に VM に必要な基本的な操作を提供する。またこれらの操作を、学生自身の VM 以外の VM に対して適応不可にする。

command 説明
define XML の template を元に domain を作成
undefine define で作成した domain の削除
list define で作成した domain を一覧表示
start 指定した domain の VM を起動
destroy 指定した domain の VM を停止
dumpxml domain の XML を参照

マルチユーザへの対応

各個人のリソースや操作を制限することによって、複数の学生の VM 使用を管理することができる。

リソースの制限

限られたリソースをマルチユーザとして複数の学生に配布するためには、学生が個人で大量のリソースを取らないよう、制限する必要がある。

XML template

libvirt は VM を、XML の設定ファイルを使用して管理している。ie-virsh ではその XML ファイルを template として用意することにより、リソースを制限した。

これらの設定を学生が使用する template XML ファイルに記述し、domain の作成時に学生に使用させる。

ドメイン数の制限

学生は VM のインスタンスを最大4つまで作ることができる。これは学生が大量にVM を起動し、メモリや CPU を消費することを防ぐためである。

OCFS2 を使った構成

OCFS2 とは汎用の共有ディスククラスタファイルシステムであり、一つのブロックデバイスを複数の PC から同時に読み書きすることができる。

ie-virsh は情報工学科のブレードサーバの一つで動作している。OCFS2 により、ストレージは複数のブレードサーバから同時に参照することができる。ブレードサーバ同士での VM の移動やコピーを容易に行うことができる。

またこのブレードサーバの一つを、学生に使用させる。

ホストのブレードサーバの構成

学生は ie-virsh を使用するためにホスト OS へアクセスし、ie-virsh によって学生自身の VM を操作する。

ie-virsh は情報工学科のブレードサーバの一つで動作している。そこへ学生は ssh でアクセスし、ie-virsh を使用して VM を操作することができる。情報工学科の IP アドレス配布に対応するため、仮想ブリッジで外部ネットワークと接続する。

Vagrant Box の使用

他のツールとの比較

OCFS2 と NAS

KVM と VMWare ESXI

他の管理ツールとの比較 [1/2]

Vagrant

OpenStack

他の管理ツールとの比較 [2/2]

Web サービス実装

ie-virsh の改善点

ie-virsh を実装し使用して発見した改善点を挙げる

VM のセキュリティチェック

学生が VM のセキュリティ設定をしているか確認し、また VM に対して攻撃や不正なアクセスがないかを検査する機能が ie-virsh に必要である。

ie-virsh の改善点

クラウドへのデプロイ

学生が Web サービスを構築し、運用を続けるためには遠方からのアクセスにも対応する必要が出てくる。そのためには AWS やさくら VPS などの外部のクラウドサービスへ VM をデプロイできるようにする。

始めに学生は学生の PC 上の VM を設定し、ブレードサーバへアップロードする。Web サービスの構築を終わらせ、ブレードサーバでの運用が可能になると、遠方からのアクセスに対応しなければならない。

遠方からのアクセスはネットワークの速度が遅く、クラウドサービスを利用する必要がある。そのため、ブレードサーバから外部のクラウドサービスへ Web サービスをデプロイする仕組みが必要である。

まとめ

今後の課題