
エンジニアは七夕までにCentOS6と巡り逢えるのでしょうか。 今回はいつも使っているCentOSから趣を変えて、Scientific Linuxを触ってみます。色々検証する為にScientific LinuxなVMを簡単につくれる環境をCobbler+Koanを使って準備しました。 Cobbler+Koan Cobbler, Koanについては以前(っても結構前ですが)こんな発表をしたことがありまして、内容についてはそちらが参考になればと思います。CentOSと同じくScientific LinuxもRHELクローンなので、同じ方法が使えるというわけです。 環境 試した環境は1台のCentOS5.6物理サーバー上に、Cobbler+KoanがセットアップされたKVMの仮想母艦機です。 実際の流れ Cobbler+Koanのセットアップ手順やKVM環境については省略しますが、mizzyさん
ネットワークのベンチマークツールである「netperf 2.4.5」を使用し、外部サーバーからホスト環境とゲスト環境に向けた、ネットワーク転送のスループットを計測した。その結果を図7に示す。KVMのオーバーヘッドは2.5%とわずかだった。 以上、検証(3)~(6)の要素テストから、MySQLを用いた検証(1)でホスト環境とゲスト環境の性能に開きが生じた理由、すなわちKVMのオーバーヘッドの主たる原因は、メモリーアクセスとディスク書き込みの遅延にあると推察される。 濱野 司 (はまの つかさ)氏 オープンソース・ソリューション・テクノロジ 技術部 プリンシパル・エンジニア KVMは、Linuxカーネルに標準のローダブルモジュールとして組み込まれているので、各種Linuxディストリビューションで利用できる。このため、急速な普及が見込まれる。また、機能拡張などの保守開発がオープンソースで活発に進
>>前回 CPUコア数を変えながらデータベース処理の性能を調べた。RHEL6に搭載されたMySQL 5.1.47(エンジンはMyISAM)を用い、10万件のレコードを格納したテーブルへのSELECT処理と、空テーブルへのINSERT処理を行った。設定パラメーターは、付属のmy-large.cnfのものを利用した。 その結果が図1で、オレンジの線で示すのはKVMの「ゲスト環境」で測定した値。グリーンの線で示すのは、KVMの「ホスト環境」で測定した値だ。オレンジとグリーンの差がKVMのオーバーヘッドといえる。 ホスト環境は、KVMを使わず、物理サーバー上にRHEL6を直接インストールした場合に相当する。ホスト環境では、仮想環境を作り出すためのエミュレーター(qemu-kvm)やKVM(カーネルモジュール)を介すことなく、アプリケーションが直接動作するからである。なお、ホスト環境は通常、ゲスト環
整数演算(左)はUnixBench 5.1.3のDhrystoneベンチマーク、浮動小数点数演算(右)はWhetstoneベンチマークで性能を調べた 整数演算のオーバーヘッドは1.5~2.0%で、無いに等しいという結果になった。浮動小数点数演算でも、オーバーヘッドは1.3~4.9%と小さかった。整数演算と浮動小数点数演算とも、コア数に応じて性能が向上した。 一般に、80x86アーキテクチャーのCPUでは、OSを特権モード(リング0)で、一般アプリケーションをユーザーモード(リング1~3)で動かす。仮想化した場合は、仮想化ソフトが特権モードで動作し、仮想環境(ゲスト環境)のOS(ゲストOS)やアプリケーションはユーザーモードで動作する。ゲストOSを通常の特権モードではなく、ユーザーモードで動作させるので、モードの違いで命令実行時の動作が異なることがある。動作が同じかどうかで仮想化ソフトの処理
>>前回 次に、メモリーのアクセス性能を調べる。メモリーアクセスのベンチマークツールである「lmbench3.0-a9」を使用して、メモリーのアクセス時間(レイテンシー)を、1回にアクセスするサイズを変えながら計測した。すると、24Mバイト以下のサイズでアクセスした場合には、ホスト環境とゲスト環境で性能に差が生じなかった。CPUに24Mバイトのキャッシュメモリーが搭載されているためである。 そこで、広範囲のメモリーにアクセスをした場合の性能を見る目的で、オープンソースのインメモリーDBである「Redis 2.2.2」を使って、getコマンドによるデータ読み出しとsetコマンドによる書き込みの性能を検証!)として調べた。Redisはデータをメモリー上だけではなくディスクに置く機能も備えるが、この検証ではメモリーにのみデータを置いた。実施したベンチマークは、Redisに付属の「redis -b
>>前回 検証(5)ではディスクの読み書き、検証(6)ではネットワーク転送の性能を見る。RHEL6のKVMでは、ゲスト環境からディスクやネットワークにアクセスするためのデバイスドライバとして、デフォルトで「virtioドライバ」が使われる。検証(5)や(6)でも、このvirtioドライバを用いる。virtioドライバは、ホスト環境で動作する通常のデバイスドライバをゲスト環境から利用可能にする、特殊なソフトウエアである。 なお、virtioドライバのうち、ゲスト環境で動作する部分は「virtioフロントエンドドライバ」と呼ばれる。RHEL6には、このvirtioフロントエンドドライバが標準で用意されている。Windows用のvirtioフロントエンドドライバも存在し、KVMサイト(http://www.linux-kvm.org/)から無償でダウンロード可能である。KVMではvirtioドラ
virt-managerやvirshによるKVM環境のリソース監視 KVM環境のリソース監視は、GUIツールのvirt-managerやvirshコマンドなどのコマンドラインツールで行います。 virt-managerでは仮想マシンの稼働状況やCPU使用率などを一覧表示で確認できます。また、仮想マシンを選択した状態で「Edit」 → 「Virtual Machine Details」を選択すると、仮想マシンへのメモリ割当量も確認できます。ホスト Linux に関しても同様の操作で CPU 使用率やメモリ使用量、ディスクの使用量を確認できます。 図1 virt-managerの管理画面 コマンドラインツールのvirshでも virt-manager とほぼ同様の情報を確認できます。 たとえば、仮想マシンの死活監視であれば、 # virsh list --all を実行し、仮想マシンが稼
ライブマイグレーションの概要 ライブマイグレーションは、仮想マシンを起動したまま、それを実行する物理サーバを移動する技術です。 KVMでライブマイグレーションを行う場合、仮想ディスクイメージを複数の物理サーバで共有する必要があります。手軽な方法としては、NFSサーバを利用して、同一のNFS領域を共有マウントする方法があります。今回はより実践的な例として、図1のようなSAN接続の共有ディスク装置を利用したライブマイグレーション環境を構築します。 図1 共有ディスク構成 共有ディスク上に仮想ディスクイメージを作成するには、次のような方法があります。 GFS2などの共有ファイルシステムを利用して、仮想ディスクイメージ・ファイルを配置する。 物理サーバにアサインしたLUN(論理ディスク)全体を仮想ディスクイメージとして使用する。 CLVM(クラスタ論理ボリュームマネージャ)を利用して、LUN上に作
virt-managerによる仮想マシンの操作 今回は、仮想マシンの運用・管理に伴う次の操作方法を説明します。 仮想マシンの作成(ゲストOSのインストール) 仮想マシンの起動/停止 仮想マシンのバックアップ(クローニング) これらの操作はGUIツールのvirt-managerから行う方法に加えて、virshコマンドなどのコマンドラインツールを利用する方法があります。また、libvirtが提供するAPIを用いて、Pythonスクリプトから仮想マシンの起動/停止を行うことも可能です。これは、仮想マシンの起動/停止を自動化する場合に利用できます。 virt-managerでは、これらの操作をGUIを利用して直感的に行うことができます。新規の仮想マシンを作成する際は、virt-managerの起動画面(仮想マシン一覧画面)で対象のホストLinux(通常は「localhost(QEMU)」)を右
OSインストール、手動でやるのめんどくさい!!!こんな画面もうみたくない!!! というわけでPXEブート&Kickstartで自動化しています。 (ユーザ作成などの初期設定もスクリプト化してそれに組み込んでます) 構築手順はいろんなとこにアップされてるので、実際にどう運用してるのか、を書いてみます。 (手順はいちおうWikiに。Kickstart、PXEブート&Kickstart) 物理サーバインストール インストール対象サーバをPXEブートします BIOS設定でPXEブートを有効にする 起動メニューでPXEを選択(HPサーバならF12を連打) こんなプロンプトが出るように設定してます ... ======================== Select kickstart setting ======================== Generics (DHCP) 1. CentO
残り領域は、一通りOSのインストールが終わった後にsda3としてパーティションし、LVMの物理ボリューム(PV)として利用するようにしました。 残り領域をLVMの物理ボリュームとして利用する # fdisk /dev/sda nコマンドでディスクの残り領域をsda3としてパーティション、tコマンドでタイプを8eに設定する # reboot 再起動しパーティションテーブルをシステムに反映 # pvcreate /dev/sda3 # vgcreate pool /dev/sda3 sda3をLVMの物理ボリュームとし、poolという名称のボリュームグループを作成 最終的なディスクレイアウト Device Boot Start End Blocks Id System /dev/sda1 1 3891 31249408 83 Linux /dev/sda2 3891 4377 3906560
第3回はハイパーバイザー選択の戦略についてお話しします。 VMwareについて 2004年に筆者が仮想化ホスティングを始めた頃には、本格的なハイパーバイザーはVMwareしかなかったので必然の選択でした。 またVMwareはメインフレームの仮想化技術の流れを受けているため、品質に対しては非常に重視している会社であることも選択の根拠になっています。 その後、CEOがマイクロソフト出身のポール・マリッツになって少し心配しましたが(交代直後にたまたま重大なバグが出たこともありました)、 技術重視である路線は変わりなく、より戦略的な投資も加速したようで、現時点でも他社を一歩リードしたポジションにあると言えます。 ただ、最近は高機能オプションの追加だったり、クラウドサービスのライセンスがVM単位のプロバイダーライセンスになったりと、他のハイパーバイザーと比べてコスト問題がより大きくなってきています。
第1回では、仮想マシンとは何か、その生い立ちや機能について簡単に紹介しました。今回から、x86システム仮想マシンがどのように実現されているのかを解説していきたいと思います。 x86システム仮想マシンには、VMwareによる仮想化製品をはじめHyper-V、Linux KVM、Xenなどがあることは、すでにご紹介したとおりです。この連載では、その中でも最近とくに注目を浴びているLinux KVMを中心に、x86仮想マシンの実装を見ていきましょう。今回は、Linux KVMの概要、および構成するソフトウェアについて解説します。 コンピュータを構成する3大要素 仮想マシンを理解するために、まず実際のコンピュータがどのような構成になっているかを知っておくと良いでしょう。コンピュータは、CPU、システムメモリ、I/Oデバイスの3つの要素から構成されています。 図1 コンピュータを構成する3大要素 C
調子に乗ってゲストをばしばし clone して増やしていたら、気がついたら host の CPU 負荷 (sys) が妙に高い。 host で vmstat を見てみると、cs (context switches) の値が 1 guest 起動するごとに 8000 ぐらい増える。割り込み発生しすぎ、ってことですね。 ググった結果、Red Hat Enterprise Linux 5 仮想化ガイド / 第17章 KVM ゲストのタイミング管理 に対処法が載っていた。 今回は「para-virtualized クロックを持たない 5.4 AMD64/Intel 64」なので /boot/grub/grub.conf の kernel 行に "divider=10 notsc lpj=n" を追加して、 title CentOS (2.6.18-194.32.1.el5) root (hd0,0
2012-06-22 Links 2012-06-21 RecentDeleted 2012-05-11 Sheepdog/インストール方法(SL6) 2011-12-02 ToolsEcosystem_tAWS 2011-10-03 Sheepdog/概要 2011-09-27 CloudStack/概要 2011-09-09 Sheepdog/ユーザ会 2011-07-06 Eucalyptus (OSS Elastic Computing) 日本語情報 2011-05-31 Swift/概要 OpenStack CloudStack 2011-05-18 UEC/CreateYourImage 2011-01-17 Swift/memo 2011-01-13 Swift/起動用スクリプトの作成 Swift/設定ファイルの作成 2010-12-16 Hibari/インストール 2010
諸般の事情でゲストがfedoraの場合とUbuntuの場合の両方を調べたので備忘録代わりに書く まず、fedora12 /boot/grub/grub.conf default=0 timeout=10 #splashimage=(hd0,0)/boot/grub/splash.xpm.gz serial --unit=0 --speed=115200 terminal --timeout=10 serial console #hiddenmenu default saved title Fedora (2.6.32.16-141.fc12.x86_64) root (hd0,0) kernel /boot/vmlinuz-2.6.32.16-141.fc12.x86_64 ro root=UUID=c70ceb36-eeea-48ee-9cd9-71d5a983ab40 LANG=ja_
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く