Count from April/03/2007 |
English
VMKnoppixのホームページは http://www.rcis.aist.go.jp/project/knoppix/vmknoppix/ に移動しました。
VMKnoppix
はじめに
VMKNOPPIXとは仮想計算機ソフトウェア(Xen, KVM, VirtualBox, QEMU, KQEMU(QEMU with Accelerator), UserModeLinux)をまとめて利用可能したKNOPPIXです.
News
- 追加情報
- VMKNOPPIX x86版(20080213) をリリース (解説PDF)
- この版の特徴
- Xen3.2, KVM60, QEMU091,などバージョンアップしました。
- Xen3.2 + vTPM (TPM Emulator)が使え、Trusted Computing のベースになります。物理TPM&TCG-BIOSが無くても問題ありません。今まで物理TPM&TCG-BIOSが無くて試すことが出来なかった
KNOPPIX for Trusted Computing Geeks(Trusted Boot+Remote Attestaion)をXen3.2+vTPM上で試せます。
- OS Circular により、仮想計算機{Xen|QEMU|KQEMU|KVM}上で各種Linux {CentOS5|Debian Etch|Ubuntu606|Ubuntu610|Ubuntu704}がネットワーク仮想ディスク(Trusted
HTTP-FUSE CLOOP)から起動します。
- QEMU091により、x86_64版でADM-Vの仮想化命令が使えます。
- 注)KVMは使えますが、Xen-HVMは使えません。
- それぞれの機能を示した画像。クリックすると拡大します。
-
 |
 |
 |
| Xen3.2+vTPM上でTC Geeks KNOPPIXを実行 |
OS CircularによるCentOS,Ubuntuをネットワーク仮想ディスクより起動。 |
AMD-Vを有効にしたQEMU(x86_64)で、KVMを実行 |
- 収録仮想計算機ソフトウェア
- 解説PDF
- ダウンロード
- 追加情報:
- VMKNOPPIX x86版(20071101) / x86_64版 (20071107)をリリースしました。
- VMKNOPPIX (with httpfs,ftpfs,http-fuse:OSCircular) for x86, x86_64 をリリースしました
- 特徴:
- httpfs,ftpfs を使って HTTP&FTP で公開されているブータブルCDのISOファイルを指定して(ダウンロードせずに)ゲストOSを起動できるようにしました。VMにはXen-HVM,
KQEMU, QEMU,KVM が利用できます。
- VMの更新履歴
- Xen 3.1.0 (x86版,x86_64版ともにアップグレード)
- "knoppixHVM", "knoppixU" のコマンドが用意されています。
- KVM16(x86版) KVM 18(x86_64版に新規追加)
- KQEMU (x86版のみ)
- QEMU (x86版,x86_64版)
- "knoppix-qemu.sh" のコマンドがKVM/KQEMU/QEMUの順に自動判断します。
- User Mode Linux (x86版),(x86_64版は新規追加)
- VirtualBox (x86版のみ)
- OS Circular
- x86版で Xen-HVM および KVM/KQEMU/QEMU 起動コマンドを収録
- "httpfuse-qemu.sh", "httpfuse-hvm.sh" のコマンドが用意されています。
- 使い方
- httpfs/ftpfs for virtual machine
- for KVM/KQEMU/QEMU
# qemu-knoppix.sh http://***.org//Live-CD.iso
# qemu-knoppix.sh ftp://***.org//Live-CD.iso
# qemu-knoppix.sh file://tmp//Live-CD.iso
注:qemu-knoppix.sh はKVM/KQEMU/QEMUの順に自動判定して起動します。
- for Xen-HVM
# knoppixHVM http://***.org//Live-CD.iso
# knoppixHVM ftp://***.org//Live-CD.iso
# knoppixHVM file://***.org//Live-CD.iso
注:HVMは IntelVT/ADMVに対応したCPUのみで利用可能です。
注:FTPサーバによってhttpfsに対応していないものがあります。
- ISOファイル以外にもブータブルな形式でディスクイメージが公開されていれば同様に指定できます。
例:OS Zoo の QEMU Disk Image など。
http://www.oszoo.org/wiki/index.php/Category:OS_images
- HTTP-FUSE:OS Circular (for x86 only)
- For KVM/KQEMU/QEMU
# httpfuse-qemu.sh
- For Xen-HVM
# httpfuse-hvm.sh
- 現在利用可能なOSイメージはDebianです。
- Download
- OS Circular on QEMU/KQEMU/KVM
- QEMU/KQEMU/KVMでOS Circularが動くスクリプトをリリースしました。OS Circularは仮想計算機のためのインターネットディスクイメージディストリビュータです。公開するスクリプトはVMKNOPPIXで有効です。
- 今まではXenのHVMでしか実行できなかっため、CPUがIntel-VTあるいはAMD-SVM
対応している必要がありましたが、QMEU/KQEMUを使えるようにすることでCPUの制限がなくなりました。
- 対応VMKNOPPIXのISOファイル (FTP, Torrent)
- スクリプト: qemu-httpfuse.sh
- 使い方:
- VMKNOPPIX をGRUB 画面で"normal kernel"を選択して起動してください。
- "qemu-httpfuse.sh"をダウンロードしてください。実行許可をつけて下さい。
- # chmod a+x qemu-httpfuse.sh
- スクリプトを実行してください。CPU をチェックして KVM あるいは KQEMU あるいは
QEMU のうち最適なものを選び、OS Circularが使えるようになります。
- ゲストOSイメージがTTP-FUSE CLOOPを通して利用可能になります。. 現在利用可能なOSはDebian GNU/Linuxです。
- 追加情報:
- VMKNOPPIX (20070328) with Trusted Boot リリース.
- 特徴
- 仮想計算ソフトウェアの使い方
- Xen
- GRUBの先頭メニュー "KNOPPIX/Xen3.0.4-1"を選択して起動して下しさい.
- DomainUでKNOPPPIXを起動するには下記のコマンドが使えます.
# knoppixU
- IntelVT/AMD-V CPU上のHVM DomainでKNOPPPIXを起動するには下記のコマンドが使えます.
# knoppixHVM
- 注) Intel MAC では GRUBメニューのカーネルオプションに nofirewire をつけて下さい。
- OS Circular
- ntelVT or AMD-V CPUでGRUBの先頭メニュー "KNOPPIX/Xen3.0.4-1"を選択して起動して下しさい.その後下記のコマンドを実行して下さい.
# pump -i eth0
# /etc/inint.d/xend start
# httpfuse-hvm.sh
- ダウンロードサイト選択メニューが出るので近いサイトを選択してください。
- 次にコンテンツ選択が出るので利用したいOSイメージを選択してください。
- しばらく待つとXen上に選択したOSイメージが起動します。現在公開しているDebianはroot/http-fuse
あるいはhttp-fuse/http-fuseでログインできます。
(図をクリックすると拡大します。)
- 注)Intel MAC では GRUBメニューのカーネルオプションに
nofirewire をつけて下さい。
- 注)httpfuse-hvm.shを実行するコンソールが80x24以上ないと選択メニューが表示されず、httpstoraged
is ready ...が表示されます。
- 技術的詳細はLinuxConfAu07. のVirtualization Miniconf で発表されています.
- VirtualBox
- GRUBの第3メニュー "KNOPPIX(normal kernel)"を選択して起動して下しさい.
# modprobe vboxdrv
# VBoxSVC &
# VirtualBox
- VM環境のセットアップを行ないます.CD-Dドライブの選択はインタラクティブなセットアップ後メインメニューで指定できます.
- kqemu/KVM/QEMU
- GRUBの第3メニュー "KNOPPIX(normal kernel)"を選択して起動して下しさい.
- kqemu/KVM/QEMUでKNOPPIXを起動する場合は"qemu-knoppix.sh"スクリプトをご利用下しさい.ネットワーク環境,
kqemuのshared memory 環境,KVM/KQEMUのドライバをセットアップします.
- スクリプト内の実行優先順位は下記です.
1)kvmが有効なら、kvmを使って起動
2) kqemuが有効なら、kqemuを有効にしてqemuを起動
3) kvm,kqemu が無効なら、素の qemuを起動
- 動作抑制オプションも指定できます.
-no-kvm : KVM kernel module の利用を抑制
-no-kqemu : KQEMU kernel module の利用を抑制
-no-module: 全ての kernel module の利用を抑制
- 例えば下記のオプションでkqemu起動を指定できます.
# qemu-knoppix.sh -no-kvm
- UML: UserModeLinux (2.6.18)
- GRUBの第3メニュー "KNOPPIX(normal kernel)"を選択して起動して下しさい.
- "umlknx.sh" スクリプトがUML環境を整備して起動します.
#
umlknx.sh -no-kvm
- Trusted Boot: セキュアチップ TPM1.2 (Trusted
Platform Module)が使えるPCでTrusted GRUB と IMA(Integrity Measured Architecture) でトラステッドブートします.
- 起動時に使うデバイス,ブロック,ファイルなどを計測してセキュアチップTPM (Trusted Platform Module)の PCRs(Platform Configuration Register)に記録します.
- GRUBの第3メニュー "KNOPPIX(2.6.19.1+ima)"を選択して起動して下しさい.
- GRUBのコマンドラインでTPMをチェックできます.GRUBメニューで"c"を押してください..TPMの状態,PCRs
の値,イベントログが下記のコマンドで確認できます. "Esc" でコマンドラインからGRUBメニューに戻ります.
- grub> tpm
- grub> tpm pcrs
- grub> tpm eventlog
- Linuxの起動後は下記のコマンドで計測が確認できます.,
- セットアップ
- # mount -t securityfs none /sys/kernel/security
- GRUBのイベントログを表示
- # cat /sys/kernel/security/tpm0/ascii_bios_measurements
- IMAによるイベントログを表示.このリストはオープンされた(起動した)ELFファイルです.
新しいELFファイルを起動するとイベントログに追加されます.
- # cat /sys/kernel/security/ima/ascii_runtime_measurements
- PCRの値の表示. この値はIMAが追記することで変わります.
- # cat /sys/devlice/pnp0/00:0b/pcrs
- ベンチマーク
- π計算によるCPU性能比較
# time /opt/pi_quick_start/pi 3000000
- dbenchによるIOバンド幅 (/usr/share/dbench/client.txtの読み出し)
# dbench 1
- tbenchによるネットワークバンド幅(ネットワーク経由の/usr/share/dbench/client.txtの読み出し)
- Hostで下記のコマンドを実行
# tbench_srv
- Guestで下記のコマンドを実行
# tbench -t 60 1 "ホストのIPを指定.VirtualBox,KVM, KQEMU, QEMUでは
10.0.2.2になります"
- xengine
# xengine
- ベンチマーク結果(古いです)
- π計算
-
|
Time(sec) |
remarks |
| Native CPU |
14.67 |
Core2 Duo T7200 |
| kvm14 |
19.26 |
|
| kvm12 |
17.90 |
(Sample. CD doesn't include) |
| kqemu |
24.87 |
"-kernel-kqemu" is not used |
| qemu |
227.1 |
"-no-kqemu" is used |
| VirtualBox |
17.56 |
|
| Xen(DomU) |
14.68 |
|
| Xen(HVM) |
15.99 |
|
- dbench
-
|
Time(MB/s) |
remarks |
| Native CPU |
341.0 |
Core2 Duo T7200 |
| kvm14 |
206.1 |
|
| kqemu |
36.20 |
"-kernel-kqemu" is not used |
| qemu |
29.17 |
"-no-kqemu" is used |
| VirtualBox |
223.9 |
|
| Xen(DomU) |
283.1 |
|
| Xen(HVM) |
203.3 |
|
- tbench
-
|
C2D(MB/s) |
Athlon(MB/s) |
remarks |
| kvm14 |
0.50 |
1.05 |
|
| kvm12 |
1.05 |
1.15 |
(Sample. CD doesn't include) |
| kqemu |
1.46 |
- |
"-kernel-kqemu" is not used |
| qemu |
1.53 |
1.37 |
"-no-kqemu" is used |
| VirtualBox |
1.72 |
1.57 |
|
| Xen(DomU) |
67.8 |
74.7 |
|
| Xen(HVM) |
4.11 |
3.57 |
|
- C2D: Core2 Duo T7200 (IBM ThinkPAD T60)
- Athlon: Athlon64x2 4000+ Pi calculation
- Xenoprofileによるプロファイル取得
- HVM Domainを起動して下しさい
# knoppixHVM
- HVM上でGRUBメニュー"KNOPPIX/Xen3.0.4-0"を選択してください.
- 下記のコマンドでoprofileを起動してください.
# opcontrol --start-daemon --vmlinux=/boot/vmlinux-syms-2.6.16.33-xen --xen=/boot/xen-syms-3.0.4-1
--passive-domains=1 --passive-images=/boot/vmlinux-syms-2.6.16.33-xen
- 上記のコマンド実行後,プロファイルが取得されています.下記のコマンドで取得を停止してください.
# opcontrol --stop
- 下記のコマンドで結果が表示されます.
# opreport -l
- 結果
- CPU: Core 2, speed 2327.56 MHz (estimated)
Counted CPU_CLK_UNHALTED
events (Clock cycles when not halted) with a unit maskof 0x00 (Unhalted core
cycles) count 100000
samples % app name symbol name
15904 61.6625 qemu-dm
(no symbols)
1741 6.7502 libqt-mt.so.3.3.7 (no symbols)
1432 5.5521
libshadow.so (no symbols)
702 2.7218 domain1-modules (no symbols)
649
2.5163 libc-2.3.6.so (no symbols)
361 1.3997 bash (no symbols)
283 1.0972
xen-syms-3.0.4-1 handle_exception
216 0.8375 libfb.so (no symbols)
133
0.5157 xen-syms-3.0.4-1 hypercall
130 0.5040 ld-2.3.6.so (no symbols)
128
0.4963 vmlinux-syms-2.6.16.33-xen hypercall_page
124 0.4808 Xorg (no
symbols)
122 0.4730 python2.4 (no symbols)
- ダウンロード
実装詳細 Detail of Implementation
参考