「UnixBench」のインストールと実行

UnixBenchは、総合的なサーバ性能を計測するツールで、複数のサーバ性能を比較する時に重宝します。

Linux Benchmarking

Linux Benchmarking

ということで、UnixBenchのインストールから実行までのまとめです。。

  1. ともあれ、UnixBenchをダウンロードします。
    # wget http://www.hermit.org/Linux/Benchmarking/unixbench-5.1.2.tar.gz
  2. 必要なパッケージをインストールします。
    yum install libXext-devel
    yum install freeglut freeglut-devel
    yum install perl-Time-HiRes

    makeする
    ⇒エラーのためyum install libXext-develする

    UnixBenchをインストールしてみた – こい@備忘録

  3. 展開してmakeします。
    # tar zxvf unixbench-5.1.2.tar.gz
    # cd unixbench-5.1.2
    # make
    Checking distribution of files
    ./pgms  exists
    ./src  exists
    ./testdir  exists
    ./tmp  exists
    ./results  exists
  4. あとは、
    ./Run

    で実行開始です。

       #    #  #    #  #  #    #          #####   ######  #    #   ####   #    #
       #    #  ##   #  #   #  #           #    #  #       ##   #  #    #  #    #
       #    #  # #  #  #    ##            #####   #####   # #  #  #       ######
       #    #  #  # #  #    ##            #    #  #       #  # #  #       #    #
       #    #  #   ##  #   #  #           #    #  #       #   ##  #    #  #    #
        ####   #    #  #  #    #          #####   ######  #    #   ####   #    #
    
       Version 5.1.2                      Based on the Byte Magazine Unix Benchmark
    
       Multi-CPU version                  Version 5 revisions by Ian Smith,
                                          Sunnyvale, CA, USA
       December 22, 2007                  johantheghost at yahoo period com
    
  5. しばらく待つと、各項目と総合の評価値を出してくれますので、この数値を比べてサーバの性能を比較することができます。ちなみにこの数値は、決められた基準値と比べた性能差のようです。

    パフォーマンスを表す数値は、「George」と呼ばれるUNIXシステム「SPARCstation 20-61」の処理性能を基準にしている。SPARCstation 20-61の処理性能が「10」で、測定したLinuxパソコンの処理性能が「520」だった場合、「52倍高速である」と評価できる数値を結果として出力する。

    UnixBench とは – Linuxキーワード:ITpro

いろんなサーバを測定すると、まれに意外な結果がでたりして面白いです。

カテゴリー: サーバ・インフラのこと | タグ: , | 2件のコメント

「WordPress」に「Google +1」を設置する

6月1日(米国時間)、Google +1が公開されました。
これは、Googleが始めるソーシャルな試みの機能で、Google版の「いいね!」です。

Google +1

Google +1

ということで、早速ブログに設置します。

設置方法

  • 作成ページを開いて、必要に応じてボタンをカスタマイズします。

    ボタンのカスタマイズ

    ボタンのカスタマイズ

  • コードが生成されます。

    <!-- 次のタグを head 要素内または body 終了タグの直前に貼り付けてください -->
    <script type="text/javascript" src="http://apis.google.com/js/plusone.js">
      {lang: 'ja'}
    </script>
    
    <!-- 次のタグを +1 ボタンを表示する箇所に貼り付けてください -->
    <g:plusone count="false"></g:plusone>
    
  • まず、[wp-content] – [themes] – [テーマ名] -フォルダの「header.php」ファイルのheadタグ内に読み込みのコードを設定します。

  • <script type="text/javascript" src="http://apis.google.com/js/plusone.js">
      {lang: 'ja'}
    </script>
    
    </head>
    
  • 次に同フォルダにある個別記事ファイルの「single.php」の表示したい部分に表示のコードを設定します。今回は、記事の下に表示されるように設定しました。

  • <!--Google +1 -->
    <g:plusone count="false"></g:plusone>
    
    </div><!-- .entry-content -->
    
  • 表示されることを確認して完了です。

    Google +1 ボタン表示!

    Google +1 ボタン表示!

キャッシュ機能を入れたので、全てのページに反映されるのはしばらく時間がかかりますが、そこは待ちたいと思います。

ひとこと

そもそも、他のソーシャルなボタンも設置しないとだな。

カテゴリー: WEB技術のこと | タグ: | コメントをどうぞ

「Keynote」で書き出したPDFの白色フォントが、「Windows」で正しく表示されない時の対応

いわずと知れたAppleのプレゼンソフトであるKeynoteには、PDFの書き出し機能が付いています。

今回、keynoteから書き出したPDFのフォントが、Mac上では問題ないのに、Windowsで開くと一部のページの白色のフォントが黒くなってしまうという現象に悩まされました。

解決方法について、結論からいくと、Keynoteの書き出しの調整ではなく、Acrobatの方で調整することで、解決しました。

[カラーを出力インテントに変換]ダイアログボックスにチェックをつけて、[プロファイル]を「Acrobat RGB(1998)」に設定します。

KeynoteからのPDF書き出しで、白がきちんと出ない状況を回避する方法 | Walk on the bright side of life

と、いうことで、対応手順を書いておきます。

対応手順

  1. Windowsで確認すると一部の白いフォントが黒く表示されてしまっています。

    フォントの色が黒い・・・。

    フォントの色が黒い・・・。

  2. 「アドバンス」 → 「印刷工程」 → 「色を置換」とたどります。

    Acrobat 色を置換

    Acrobat 色を置換

  3. 「カラーを出力インテントに変換」にチェックを入れ、プロファイルに 「Acrobat RGB(1998)」 を選択します。

    Acrobat 出力インテント設定

    Acrobat 出力インテント設定

  4. 「OK」 を押下すると、元に戻せない旨を伝えるメッセージが表示されます。

    確認して「OK」します。(必要に応じて保存を。)

    確認メッセージ

    確認メッセージ

  5. フォントが、きちんと白色になっていることを確認して完了です。

    フォントが白色に!

    フォントが白色に!

カテゴリー: Appleのこと | タグ: | コメントをどうぞ

鹿児島のRubyコミュニティ「K-Ruby」の第1回集会に参加しました。

鹿児島のRubyコミュニティ「K-Ruby」の第1回目の勉強会に参加しました。

K-Ruby 第1回勉強会

K-Ruby 第1回勉強会

場所は、ソフトプラザの鹿児島大学情報技術事業化支援室
(ここがまたいい雰囲気の勉強会するには、ナイスな部屋!)

4月中旬に、キックオフな飲み会をしてから約1ヶ月、
その時は、わずか3人だったのが、17人程が参加しての開催となりました。

講演は、中国上海におけるRubyな話とか、Ruby開発入門な話で、第1回から、とても興味深い講演をを聞かせてもらいました。

また、懇親会も鹿児島を絡めつつ、いろんな角度からのITの話で盛り上げって、充実な会になりました。

第2回は、6月29日開催予定とのこと、楽しみにしたいと思います。

facebookのK-Rubyのグループを公開設定にしてますので、興味ある方はぜひ。

K-Ruby

K-Ruby

ひとこと

ITコミュニティの文化が薄い鹿児島で、またひとつ楽しめるコミュニティが発足したことになります。「どんどんこういう動きが根付いていけばいいなあ。」と思います。

カテゴリー: K-Ruby | コメントをどうぞ

「WordPress」に「WP Super Cache」をインストール。8.6倍速くなった!

最近、このブログのレスポンスが遅いのが、無視できない感じになってきました。

Goolgleのウェブマスターツールによるサイトのパフォーマンスのグラフです。

サイトのパフォーマンス

サイトのパフォーマンス

さすがに、キャッシュ機能を入れたりして、対応する必要がありそうです。

そのへんについて、せっかくWord Pressを使っているので、サーバ側のツールで設定するより、ブログについては、Word Pressのプラグインで対応しようと思います。

ということで、わりとそのへんの定番っぽい「WP Super Cache」を導入しました。

WP Super Cache

WP Super Cache

「WP Super Cache」のインストール

  1. WP Super Cacheのページから、プラグインファイルをダウンロードします。現在の最新バージョンは、0.9.9.9でした。
  2. 解凍して、フォルダごと、プラグインフォルダ(wp-content/plugins)にアップします。
  3. /wp-contentフォルダの権限を777に設定します。
  4. 管理ページに入って、WP Super Cacheプラグインを有効にします。
  5. 設定画面に入ると警告がでるので、指示どおり、wp-config.phpに

    define('WP_CACHE', true);

    と設定して、リロードします。

  6. サーバ側に、/wp-content/cacheフォルダが自動作成されていることを確認します。

    drwxr-xr-x 5 apache   apache   4096 May 24 18:47 cache
  7. /wp-contentフォルダの権限を755に戻します。
  8. 管理ページに戻って、「キャッシング利用 (推奨)」に設定します。
  9. 「キャッシュテスター」を行ってみます。

    下のテストボタンをクリックするとキャッシュされたページをテストできます。
    キャッシュを準備するために http://blog.flatlabs.net/ を取得: OK
    http://blog.flatlabs.net/ の最初のコピーを取得中: OK (1.html)
    http://blog.flatlabs.net/ の二つめのコピーを取得中: OK (2.html)
    ページ 1: 2011-05-24 14:46:35
    ページ 2: 2011-05-24 14:46:35
    両方のページのタイムスタンプがマッチしました !

    成功が確認できました。

  10. 「詳細」タブの「有効時間とガーベージコレクション」で、キャッシュの有効期限を適度な感じに設定します。

これでインストール完了です。

「WP Super Cache」導入による表示スピードアッップの効果

それでは、WP Super Cacheを使うことにより、どのくらいスピードアップの効果があるか、Apacheのabコマンドを使って、比較してみます。

現状を数値的にとらえるにはツールが必要となる。いわゆるベンチマーク・ツールだ。Apacheには、標準で「ab」(Apache Bench)というツールが付属している。

@IT:Apacheパフォーマンス・チューニングのポイント(2/2)

導入前の速度

導入前のトップページの計測です。

# ab -n 100 http://blog.flatlabs.net/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking blog.flatlabs.net (be patient).....done

Server Software:        Apache/2.2.3
Server Hostname:        blog.flatlabs.net
Server Port:            80

Document Path:          /20110523_234750/
Document Length:        31879 bytes

Concurrency Level:      1
Time taken for tests:   211.564671 seconds
Complete requests:      100
Failed requests:        99
   (Connect: 0, Length: 99, Exceptions: 0)
Write errors:           0
Total transferred:      3229636 bytes
HTML transferred:       3198536 bytes
Requests per second:    0.47 [#/sec] (mean)
Time per request:       2115.647 [ms] (mean)
Time per request:       2115.647 [ms] (mean, across all concurrent requests)
Transfer rate:          14.90 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       29   29   1.7     30      41
Processing:   501 2085 1603.6   1659    9385
Waiting:      318 1868 1487.1   1509    8567
Total:        531 2115 1603.7   1694    9414

Percentage of the requests served within a certain time (ms)
  50%   1694
  66%   1894
  75%   2228
  80%   2735
  90%   4539
  95%   5914
  98%   8498
  99%   9414
 100%   9414 (longest request)

導入前の記事ページの計測です。

# ab -n 100 http://blog.flatlabs.net/20110523_234750/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking blog.flatlabs.net (be patient).....done

Server Software:        Apache/2.2.3
Server Hostname:        blog.flatlabs.net
Server Port:            80

Document Path:          /
Document Length:        81502 bytes

Concurrency Level:      1
Time taken for tests:   171.843609 seconds
Complete requests:      100
Failed requests:        98
   (Connect: 0, Length: 98, Exceptions: 0)
Write errors:           0
Total transferred:      8176586 bytes
HTML transferred:       8151186 bytes
Requests per second:    0.58 [#/sec] (mean)
Time per request:       1718.436 [ms] (mean)
Time per request:       1718.436 [ms] (mean, across all concurrent requests)
Transfer rate:          46.46 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       29   29   2.2     29      49
Processing:   531 1688 1080.4   1512    5657
Waiting:      319 1312 964.4   1155    4823
Total:        560 1717 1081.2   1542    5706

Percentage of the requests served within a certain time (ms)
  50%   1542
  66%   1932
  75%   2346
  80%   2508
  90%   3129
  95%   3811
  98%   5556
  99%   5706
 100%   5706 (longest request)

導入後の速度

導入後のトップページの計測です。

# ab -n 100 http://blog.flatlabs.net/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking blog.flatlabs.net (be patient).....done

Server Software:        Apache/2.2.3
Server Hostname:        blog.flatlabs.net
Server Port:            80

Document Path:          /
Document Length:        81689 bytes

Concurrency Level:      1
Time taken for tests:   27.847163 seconds
Complete requests:      100
Failed requests:        99
   (Connect: 0, Length: 99, Exceptions: 0)
Write errors:           0
Total transferred:      8201237 bytes
HTML transferred:       8170880 bytes
Requests per second:    3.59 [#/sec] (mean)
Time per request:       278.472 [ms] (mean)
Time per request:       278.472 [ms] (mean, across all concurrent requests)
Transfer rate:          287.61 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       29   29   1.8     29      39
Processing:   144  248 430.7    173    4327
Waiting:       29  105 421.4     31    4109
Total:        173  277 430.7    202    4356

Percentage of the requests served within a certain time (ms)
  50%    202
  66%    208
  75%    228
  80%    236
  90%    372
  95%    444
  98%   1083
  99%   4356
 100%   4356 (longest request)

導入後の記事ページの計測です。

# ab -n 100 http://blog.flatlabs.net/20110523_234750/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking blog.flatlabs.net (be patient).....done

Server Software:        Apache/2.2.3
Server Hostname:        blog.flatlabs.net
Server Port:            80

Document Path:          /20110523_234750/
Document Length:        31952 bytes

Concurrency Level:      1
Time taken for tests:   16.863984 seconds
Complete requests:      100
Failed requests:        99
   (Connect: 0, Length: 99, Exceptions: 0)
Write errors:           0
Total transferred:      3227594 bytes
HTML transferred:       3197180 bytes
Requests per second:    5.93 [#/sec] (mean)
Time per request:       168.640 [ms] (mean)
Time per request:       168.640 [ms] (mean, across all concurrent requests)
Transfer rate:          186.85 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       29   29   0.5     29      33
Processing:   113  138 208.5    116    2200
Waiting:       29   53 205.6     31    2086
Total:        142  168 208.5    145    2229

Percentage of the requests served within a certain time (ms)
  50%    145
  66%    146
  75%    147
  80%    149
  90%    152
  95%    159
  98%    252
  99%   2229
 100%   2229 (longest request)

結果は、8.6倍の表示スピードアップ!

比較すると、

  • トップページ

    2115.647 [ms] → 278.472 [ms] = 7.6倍スピードアップ!

  • 記事ページ

    1718.436 [ms] → 168.640 [ms] = 10.2倍スピードアップ!

今回の計測結果からいくと、平均して、約8.6倍スピードアップしたことになります。

十分な効果ありですね。しばらくは、これで大丈夫かと思います。
手軽にこういうことできるのもWordPressのいいとこなのかもしれません。

カテゴリー: WEB技術のこと | タグ: , | 1件のコメント

「Androidアプリケーションを開発するうえで、最低限知っておきたいこと」のまとめ

Android開発概要」の資料作りの為のメモ。

Androidのアプリケーション開発をするうえで、最低限知っておきたいこと。

アクティビティ

  • アプリ内の1画面。
  • 独立した単位。
  • 複数のアクティビティの連携によってアプリを形成。
  • 異なるアプリケーションのアクティビティ同士でも連携できる。

インテント

  • アクティビティを呼び出す。
  • 相手を指定する「明示的インテント」。
  • インテントフィルタの設定によって選ばれる「暗黙的インテント」。
  • 暗黙的な呼び出しは、URI形式。

アクティビティのライフサイクル

  • フォアグラウンドなアクティビティ :現在のタスクのスタックの最上位。
  • 一時停止のアクティビティ :メモリが極端に不足した場合は、強制終了させられる可能性。
  • 停止のアクティビティ :表示はされていないが、すべての状態とメンバー情報はまだ保持。他でメモリが必要な場合は強制終了させられる可能性が高い。
アクティビティの状態推移図

アクティビティの状態推移図

サービス

  • バックグラウンドで動作。
  • ユーザーインターフェースを持たない。
  • 実行中のサービスに接続(バインド)することもできる。
  • 開始したら、停止するまで実行。
  • 一時停止などがないので、ライフサイクルはシンプル。

ブロードキャストレシーバ

  • ブロードキャストを受信。
  • 受信したいものを設定することで受信。
  • ユーザーインターフェースは持たない。
  • アクティビティ開始、アラート送信などのアクションは起こせる。

コンテンツプロバイダ

  • アプリケーション間で情報を共有。
  • ファイルやSQLiteなどの一般に利用できる方法で格納。

マルチタスク

  • 複数のアプリケーションを起動できる。
  • メモリ状態で自動終了される。

参考ページ

カテゴリー: Android技術 | タグ: | コメントをどうぞ

「Androidの開発ツール」のまとめ

Android開発概要」の資料作りの為のメモ。

「Androidの開発ツール」について。いろいろな開発ツールの紹介。

基本開発ツール

Androidの開発は基本、「Eclipse」 & 「Android SDK」で行う。

  • Eclipse :統合開発環境、コード補完、ビルド、デバッガ。

    Eclipse

    Eclipse

  • Android SDK :Eclipseプラグイン(GUIエディタ、端末内情報、画面キャプチャ)、エミュレーター、コマンドラインツール、shell。

    Android SDK

    Android SDK

その他の開発ツール

  • Android NDK :C、C++言語でモジュール開発。高速化や既存のソースコードを流用する目的で使う。

    Android NDK

    Android NDK

  • App Inventor for Android :ブラウザ上でブロックを組み合わせて、コーディングなしでアプリ作成。

    App Inventor for Android

    App Inventor for Android

クラスプラットフォーム開発環境

Android、iPhoneに対応したクラスプラットフォームな開発環境。

  • Titanium Mobile :使用言語はJavascript。

    Titanium Mobile

    Titanium Mobile

  • PhoneGap :使用言語は、HTML、CSS、JavaScript。

    PhoneGap

    PhoneGap

  • Corona :使用言語はLua。

    Corona

    Corona

  • Adobe Flash Builder 4.5 :使用言語はActionScript。

    ※iPhoneは、2011年夏に対応予定。

    Adobe Flash Builder 4.5

    Adobe Flash Builder 4.5

ゲームエンジン

  • Unity:Android、iPhoneに対応したゲームを作成。使用言語は、JavaScript、C#。

    Unity

    Unity

モバイルWEBフレームワーク

スマートフォンのWEBページやWebアプリを作る為のフレームワーク。

カテゴリー: Android技術 | タグ: , | 1件のコメント

「Androidのアーキテクチャ」のまとめ

Android開発概要」の資料作りの為のメモ。

開発者視点の「Anroidとは?」なところ。

Androidのアーキテクチャ

AndroidOSの主要なコンポーネント。

Androidのアーキテクチャ

Androidのアーキテクチャ

Linux Kernel

Androidは、セキュリティ、メモリ管理、プロセス管理、ネットワーク、ドライバなどのOSとしての基本的な機能を、「Linux Kernel 2.6」を使って実装している。

Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack.

What is Android? | Android Developers

Android VerごとのLinux kernel Ver

  • Android 1.5 (Cupcake) : Linux kernel 2.6.27
  • Android 1.6 (Donut) : Linux kernel 2.6.29
  • Android 2.0/2.1 (Eclair) : Linux kernel 2.6.29
  • Android 2.2 (Froyo) : Linux kernel 2.6.32
  • Android 2.3 (Gingerbread) : Linux kernel 2.6.35
  • Android 3.0/3.1 (Honeycomb) : Linux kernel 2.6.36

Android Runtime

  • Core Libraries:Java言語準拠の「コアライブラリ」

    コア・ライブラリは,Java 1.5 SEと互換性を持つライブラリだ。アプリケーション開発者は,Java言語での開発と同じ感覚でコア・ライブラリを扱える。

    Androidの仕組みを知る(2) – Android徹底解説—内部構造,移植,開発:ITpro

  • Dalvik Virtual Machine:独自VMの「Dalvik仮想マシン」

    Androidは、Javaバイトコードではなく、独自のバイトコードに変換し、独自のDalvik仮想マシンによってコードを実行する。バイトコードが異なることから、Java言語を使うがJavaではないといえる。

    Dalvik VMが実行するのは,「Dalvik Executable(DEX)」と呼ばれる独自形式のバイナリ・プログラムだ。

    Androidの仕組みを知る(2) – Android徹底解説—内部構造,移植,開発:ITpro

    DalvikはJava仮想マシンとされることもあるが、動作するバイトコードがJavaバイトコードではないため、厳密にはこれは正確ではない。また、Java互換性テストを通過していないので、法的にもJavaを名乗れない。

    Dalvik仮想マシン – Wikipedia

Libraries

組み込み済みのネイティブライブラリ

  • Surface Manager :複数のアプリケーションからの2D と3D のグラフィックレイヤーを合成
  • Media Framework :音声、ビデオのメディアライブラリ(OpenCores)
  • SQLite :リレーショナルデータベースエンジン(SQLite)
  • OpenGL | ES :3Dグラフィックスエンジン(OpenGL | ES)
  • Free Type :ビットマップ画像とベクトルフォントのレンダリング(Free Type)
  • WebKit :HTMLレンダリングエンジン(WebKit)
  • SGL :2Dグラフィックスエンジン(SGL)
  • SSL :SSLのライブラリ(OpenSSL)
  • libc :Cのシステムライブラリ(GNU C Library)

Application Framework

Applications

  • キーアプリケーション

    • Contacts:電話帳
    • Phone:電話
    • Browser:ブラウザ
  • バンドルアプリケーション

  • ダウンロードアプリケーション

参考ページ

カテゴリー: Android技術 | タグ: | 1件のコメント

Apple Storeで注文していた「iPad2」が届きました。

販売が開始された4月29日に、Apple Storeで注文していたiPad2が届きました。

  • 本体カラーはホワイトで、カバーのカラーはグリーンです。

    iPad2

    iPad2

  • 名前の刻印入りです。これ、刻印の文字がバランス的に小さいです。iPodとかの刻印と同じ大きさです。ちょっと残念・・・。

    iPad2 刻印

    iPad2 刻印

  • なんといっても、今回のこのカバーは、素晴らしいと思ってます。さっとスタンドに。

    iPad2 カバーがスタンドに。

    iPad2 カバーがスタンドに。

  • さらに、冷蔵庫にペタッと貼ったりできちゃいます。

    iPad2 冷蔵庫にもペタッと貼れる。

    iPad2 冷蔵庫にもペタッと貼れる。

今回はちゃんと楽しもう!

と、いうことで、初代のiPadは、なんとなく飽きちゃったのですが、今回は、カバーとか気に入ったりしてるので、愛着を持って、いろいろと活用したり、なんか作ってみたりして、楽しみたいと思います。

さて、常に持ち歩くといった役目を終えた感のGalaxy tabの去就をどうするか・・・。

カテゴリー: iPhone、iPadのこと, アイテム | コメントをどうぞ

KVMをインストールして、仮想サーバを作る手順のまとめ

Linuxで仮想化環境を構築する際に、候補のパッケージとして、XenとKVMという選択肢がありますが、個人的には、そういう場面の際には、長らくXenを選択してきており、特にこれといって選択肢を変える理由が見つからなかったことから、KVMについては、スルーしていましたが、KVMがLinuxカーネルに取り込まれていることなどを強みに存在感を強め、RHEL 6ではXenをサポートしないとのアナウンスがあったりして、完全に形勢逆転した感があります。

ということで、遅れながらKVMを触っており、KVM仮想化環境を構築したりしたので、インストール手順のまとめです。

なお、ホストOSは、CentOSを使ってGUI環境という設定で行っています。

KVM仮想化環境を構築する

KVMをインストールして仮想化環境を構築するには、基本的に通常のOSインストールの流れと同じですが、インストールするうえで、少し気にしたり、通常とは違う選択をする必要があったりするので、そのへんを挙げておきます。

  • KVMには、仮想化支援機能(intel VTやAMD-V)を搭載したCPUが必要です。また、BIOSで、「Secure Virtual Mashine Mode」が有効になるように設定しておく必要があります。
    Secure Virtual Mashine Mode

    Secure Virtual Mashine Mode

  • KVMは、ゲストOSの仮想ディスクとして、ブロックデバイスかファイルかを選択することができるのですが、後で、パーテーションを切って、ブロックデバイスを仮想サーバに割り当てたりしたい場合には、パーテーションを切る容量を残しておく必要があります。逆にファイルを割り当てたい場合には、ホストOSで、たくさんの容量を確保しておく必要があります。

    パーテーションの設定

    パーテーションの設定

  • KVMパッケージのインストールは、インストールパッケージ選択時に「今すぐカスタマイズする」にチェックをいれ、「KVM」を選択します。

    KVMパッケージの選択

    KVMパッケージの選択

  • ゲストOSを外部の物理ネットワークに接続できるようにするには、ホストOSのインストール後に仮想インターフェースをブリッジモードで動作するように設定する必要があります。

    ▽設定方法
    KVMのホストOS(CentOS)のネットワークをブリッジ化する設定

KVMで仮想サーバを作る

上記の注意点を参考に、KVM仮想化環境の構築が完了したら、仮想サーバを作成します。

仮想サーバの作成には、Xenの時にも使っていた、仮想マシン管理ツールの「Virtual Machine Manager(仮想マシンマネージャ)」を使います。

  1. 仮想マシンマネージャを起動したら、「新規」をクリックして、仮想マシンの作成をスタートします。
    仮想マシンマネージャの起動

    仮想マシンマネージャの起動

  2. 仮想マシンの作成についての説明です。
    仮想マシンの作成

    仮想マシンの作成

  3. 仮想マシンの名前を設定します。
    仮想マシン名

    仮想マシン名

  4. 「完全仮想化」で、ハイパーバイザーに「kvm」が選択されていることを確認します。
    仮想化の方法

    仮想化の方法

  5. インストールメディアの指定とOSのタイプを選択します。今回は、DVDのインストールメディアで、CentOSをインストールする選択をします。
    インストール方法

    インストール方法

  6. 仮想ディスクのタイプを選択します。今回は、ファイルで、64Gの仮想ディスクを作ります。
    ストレージ

    ストレージ

  7. ネットワーク設定の選択をします。今回は、外部のネットワークへ接続したいので、共有物理装置のネットワークを選択します。
    ネットワーク

    ネットワーク

  8. メモリとCPUのリソースを割り当てる設定を行います。今回は、2GBのメモリと、論理ホストと同じ数の2つのCPUを割り当てます。
    メモリとCPUの割り当て

    メモリとCPUの割り当て

  9. これで仮想マシンの作成は完了です。設定を確認し「完了」を押下です。
    仮想マシンの作成終了

    仮想マシンの作成終了

  10. 仮想マシン作成の処理が開始されます。
    仮想マシンの作成中

    仮想マシンの作成中

  11. しばらくして、仮想サーバのCentOSのインストールが開始されます。

    CentOSインストール

    CentOSインストール

  12. あとは、通常どおりのCentOSのインストールを行って、仮想マシンの作成完了です。
    仮想サーバの起動!

    仮想サーバの起動!

カテゴリー: サーバ・インフラのこと | タグ: , | コメントをどうぞ