# HG changeset patch # User taiki # Date 1400044856 -32400 # Node ID 7f339935d89d82ff723ae47706c07a9184638128 # Parent 01d20d074d7ae2b13cf31b67b03578ef28084224 fix slide diff -r 01d20d074d7a -r 7f339935d89d slide/sigos.html --- a/slide/sigos.html Tue May 13 17:45:17 2014 +0900 +++ b/slide/sigos.html Wed May 14 14:20:56 2014 +0900 @@ -65,21 +65,17 @@
-

研究目的

- -

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

+

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

-
-

研究目的

-

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

+ +

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

+
-

ie-virsh

+

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. +
  3. ie-virsh の実装
  4. +
  5. ie-virsh の機能
  6. +
  7. リソースの制限
  8. +
  9. OCFS2 を使った構成
  10. +
  11. ホストのブレードサーバの構成
  12. +
  13. Vagrant Box の使用
  14. +
  15. 他の管理ツールとの比較
  16. +
  17. ie-virsh の改善点
  18. +
  19. まとめと今後の課題
  20. +
+
+ +
+

授業 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 の機能

+

ie-virsh の機能

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

@@ -135,6 +181,7 @@
+
-

ie-virsh - リソースの制限

-

学生が個人で大量のリソースを取らないよう、制限する必要がある。

+

マルチユーザへの対応

+

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

+ +
+ +
+

リソースの制限

+

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

XML template

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

-
-

ie-virsh - マルチユーザ

-

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

- -
-

ie-virsh - OCFS2 を使った構成

+

OCFS2 を使った構成

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

@@ -187,7 +236,7 @@
-

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

+

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

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

@@ -202,7 +251,7 @@
-

ie-virsh - Vagrant Box の使用

+

Vagrant Box の使用

  • VM を使用する際は学生の PC で VM を設定させ、VM イメージをアップロードさせるという形をとった。授業 Operating System では VM を学ぶ環境として学生の PC で Vagrant を使用させた。
  • Vagrant Box は Vagrant での、仮想マシンのベースとなるイメージファイルである。
  • @@ -211,7 +260,7 @@
-

他のツールとの比較

+

他のツールとの比較

OCFS2 と NAS

  • ie-virsh の動作するサーバ構成では SAN へ複数の PC がアクセスし、同時にアクセスするため ext3・ext4 のようなファイルシステムでフォーマットを行うと整合性が取れない。
  • @@ -226,24 +275,22 @@
-

他のツールとの比較 - 管理ツールとの比較

-

vSphere Client

-
    -
  • vSphere Client は仮想環境の統合管理をするプラットフォーム vCenter Server と接続し、管理する。
  • -
  • vSphere Client は詳細な権限の設定が可能で、複数の学生に対して VM を配布し権限を管理する。
  • -
  • 手動で権限を移譲する場合は管理者側の操作が増え、学生への権限の配布に手間と時間が掛かる。
  • -
  • ie-virsh は権限を移譲するという操作が必要なく、機能も学生が VM を操作するには十分である。
  • -
+

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

Vagrant

  • KVM をプロバイダとするプラグインを持っているため、KVM を VirtualBox の用にプロバイダとして使用できる。
  • Vagrant をマルチユーザへ対応させ、学生が使えるように設定できるか試したが、Vagrant の KVM プラグイン vagrant-kvm が複数でネットワークを使用できるように実装されていなかった。
  • また ie-virsh と できることがほぼ同じであり、既存の Box を使える以外の利点はない。
+

OpenStack

+
    +
  • クラウド基盤ソフトウエアであり、仮想サーバやブロックストレージ、仮想ネットワークなどのリソースを提供する。
  • +
  • OpenStack はマルチユーザではないため、今回の複数の学生の権限を管理するツールとしては適さない。
  • +
-

他のツールとの比較 - 管理ツールとの比較

+

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

Web サービス実装

  • ie-virsh とは別に、vSphere の API を使用した Web サービスが情報工学科で利用されている。
  • @@ -256,21 +303,13 @@
-

他のツールとの比較 - 管理ツールとの比較

-

OpenStack

-
    -
  • クラウド基盤ソフトウエアであり、仮想サーバやブロックストレージ、仮想ネットワークなどのリソースを提供する。
  • -
  • OpenStack はマルチユーザではないため、今回の複数の学生の権限を管理するツールとしては適さない。
  • -
-
- -

ie-virsh の改善点

+

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

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

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

  • 簡単に VM へ侵入されてしまうことを防ぐために、簡易なパスワードやユーザ名が設定されている VM のパスワードやユーザ名を変更するように促す。
  • -
  • 侵入後に他の VM や外部へ攻撃しているかをチェックするために、VM までのトラフィックを監視し、学生の VM が外部へ不正なトラフィックを送っていないか監視する。
  • +
  • 侵入後に他の VM や外部へ攻撃しているかをチェックするために、VM までのトラフィックを監視し、学生の VM が外部へ不正なトラフィックを送っていないかをみる。
  • 外部からの不正なトラフィックを受け取らないように、ファイアウォールなどの機能が適切に設定されているかをチェックする。
@@ -298,7 +337,14 @@
  • ie-virsh を実装し、既存の管理ツールとの比較を行った。
  • 学生の権限を制限し、使用できる資源を絞る事によって管理者の手間を減らす事ができ、また学生と管理者のやりとりを減らすこともできた。
  • 学生は情報工学科のアカウントを持っていれば、Web サービスの構築や課題の学習の為に管理者とのやりとりなしに VM を作成し利用することができる。
  • -
  • 今後の課題としてセキュリティ上の問題点の解決と、クラウドサービスへのデプロイをあげた。
  • + +

    今後の課題

    +