2016年01月11日

screenからtmuxに変更

ソフトウェアデザイン2015年7月を読んでから、休みのときにtmuxを試していました。

仕事でもscreenからtmuxに切り替えようと思っていましたが、tmuxはlibevent 2.x が必要で、仕事で良く使うCentOS 6.x のyumは libevent 1.x だったので、libevent 2.xをどうにかする必要がありました。

そこで、この連休にlibevent 1.x とlibevent 2.x の混在や、ユーザー単位(自分だけ)に libevent 2.xとtmuxをインストールしたりして、いろいろとテストしてみました。

※テストのまとめ
tmux

これでシステム全体には影響せずに、ユーザー単位(自分だけ)で、ライブラリをスタティックリンクにしたtmuxを使うことが可能になりました。

これらからはscreenに替えてtmuxを使っていこうと思います。

※TeraTermでCentOSに接続してtmuxを実行
tmux01.png
posted by jun1 at 22:52| Comment(0) | TrackBack(0) | OS、仮想環境

2015年11月30日

CentOS 6.7でVagrantのboxを作成しようとしたが

個人的にスクラッチで作成したCentOS 6.6のboxを使っていますが、そろそろCentOS 6.7に切り替えようと思い、この土曜日にCentOS 6.7 minimalからbox作成を試みました。

参考
スクラッチでVagrantのbox作成

しかし、1時間もかからないかと思っていた予想が全く外れて、あるトラブルが原因で何時間もかかってしまいました。。。

その箇所は、VBoxLinuxAdditions.run(VirtualBox Guest Additions) の実行で、OpenGLの項目が失敗するところです。
# sh VBoxLinuxAdditions.run
Verifying archive integrity... All good.
Uncompressing VirtualBox 4.3.12 Guest Additions for Linux............
VirtualBox Guest Additions installer
Removing installed version 4.3.12 of VirtualBox Guest Additions...
Copying additional installer modules ...
Installing additional modules ...
Removing existing VirtualBox DKMS kernel modules [ OK ]
Removing existing VirtualBox non-DKMS kernel modules [ OK ]
Building the VirtualBox Guest Additions kernel modules
Building the main Guest Additions module [ OK ]
Building the shared folder support module [ OK ]
Building the OpenGL support module [FAILED]
(Look at /var/log/vboxadd-install.log to find out what went wrong)
Doing non-kernel setup of the Guest Additions [ OK ]
Installing the Window System drivers
Could not find the X.Org or XFree86 Window System, skipping.


ネットで調べると、以下のようなのが見つかります。1つ目はgmake にiオプションでエラーを無視するようにする方法です。しかし、これはエラーを放置するので、2つ目のシンボリックリンク作成を実行してみましたが、別のエラー(一部ヘッダーファイルが見つからない)が発生しました。
1.CentOS 6 OpenGL guest additions failed to install
2.CentOS 6.5 - Building OpenGL support module ... failed

そのため、さらに調べて、以下を実行してヘッダーファイルが見つからないエラーは解消するようになりました。
# cd /usr/include/uapi
# ln -s ../drm


ただし、今度は、drm_mmapの宣言がないという以下のエラーが発生する(ログに記録される)ようになりました。
/tmp/vbox.0/vboxvideo_drm.c:122: error: 'drm_mmap' undeclared here (not in a function)


最終的には、以下のコメント欄の2015年8月以降を見つけました。
VirtualBox Guest Additions on Fedora 22/21, CentOS/RHEL 7.1/6.7/5.11

ここに書かれていることと、自分の環境でいろいろとやったことが一致していたので、結論して、2015年11月28日現在、CentOS 6.7 でのVBoxLinuxAdditions.run実行は、以下の方法でないとOpenGLのエラーを解消できないようです。(VirtualBoxはWindows7で動作)

・CentOS 6.7の場合、kernelを古いバージョン (2.6.32-504)に変更してからVBoxGuestAddionsを実行
・CentOS 6.6でVBoxLinuxAdditions.runを実行後に6.7にアップグレード

まとめ?
・CentOS 6.7 のカーネル 2.6.32-573.el6.x86_64 だと、VBoxLinuxAdditions.run のOpenGLのエラーが解消できない。
・CentOS 6.6 のカーネル 2.6.32-504.el6.x86_64 では、VBoxLinuxAdditions.run で、OpenGLのエラーが発生しない。

試したVirtualBoxのバージョンは以下になります。これらでは、CentOS 6.7 カーネル 2.6.32-573.el6.x86_64 で VBoxLinuxAdditions.run を実行すると、OpenGLの項目でエラーが発生しました。
・4.3.12
・4.3.34
・5.0.10
※ OSはWindows7

posted by jun1 at 00:29| Comment(0) | TrackBack(0) | OS、仮想環境

2015年04月05日

Software Designに連載されていた「ハイパーバイザの作り方」

Software Designに連載されていた「ハイパーバイザの作り方」が公開されていました。最初の数回しか読んでいなかったので、通勤などの時間が空いているときに少しずつ読んでいきたいと思います。
「ハイパーバイザの作り方」公開ページ

この記事では、LinuxのKVMに相当する、FreeBSDのbhyveを使って説明しています。KVMの方が良い場合は、以下の記事がありました。
エンジニアなら知っておきたい仮想マシンのしくみ第6回 プロセッサの仮想化をソースから知る[その1]

その他、Nested KVMとOpenStackの記事がありました。
第39回 Nested KVMでOpenStack構築三昧 (中井悦司)
最近のFedoraやCentOSはNested KVMに対応しているそうなので、今度試してみたいと思います。

Nested KVMについて知りたい場合は、以下が参考になります。
Nested VMMとはなんぞや
The Turtles Project: Design and Implementation of Nested Virtualization

posted by jun1 at 20:07| Comment(0) | TrackBack(0) | OS、仮想環境

2012年12月24日

オープンソースカンファレンス 2012.Cloud

先週の日曜日にオープンソースカンファレンス 2012.Cloudに行ってきました。会場は日本マイクロソフト品川本社で、オープンソースカンファレンスにマイクロソフトが会場を提供しているのには驚きました。

タイトルにCloudと付いていることからも分かりますが、今回のセミナーの大部分はクラウドに関連したことでした。特にOpenStack関係のセミナーは何個か予定されていました。

OpenStack自体は、今年2月のブログ、「オープン・クラウドの記事」で、いくつかあるオープンクラウドの中で本命らしいと書きました。それ以来注目していましたが、仕事がらみのPHPや、個人的にやっているAndroidソフト開発などに空き時間を使っていて、ほったらかしにしていました。そこへ今回のカンファレンスがあったので、OpenStackについていろいろと知るチャンスだと思い、参加させてもらいました。

参加したセミナーは基本的にOpenStack関係でしたが、いろいろと興味を引くものが多く、おもしろかったです。終わったあと、OpenStackなどのクラウド関係は、仮想化、ネットワーク、ストレージなどいろいろな技術が絡んでいて、これを仕事にできれば大変だけど面白いだろうなと思いました。どこかクラウド関係の会社に転職できないかなと考えたりしますが、年齢などの問題で無理だなと思うので、自分のサーバーにOpenStackをインストールして遊ぶことにします。

あと、講師の中に「プロのための Linuxシステム・ネットワーク管理技術 」の著者である中井悦司氏もいました。元予備校講師のためかどうかは知りませんが、プレゼンは上手かったですね。本も分かりやすいと思いましたが、喋りも分かりやすく勉強になりました。
posted by jun1 at 23:27| Comment(0) | TrackBack(0) | OS、仮想環境

2012年03月27日

さくらのクラウドの障害の記事を見て

「さくらのクラウド」は障害により当面無償化、というニュースを先週みました。
「さくらのクラウド」障害多発で無償化、課金できる品質に達していないため

KVMのバグが見つかったりしたようですが、現在の主な障害は、ストレージのパフォーマンス低下のようです。

さくらのクラウドの現状報告および課金対応について(2012年3月22日)

上記には以下のようなことが書かれていて、現在の環境での解決目処が立たないので、別の環境を構築するようです。

 既に掲載のとおり、データを格納するストレージのパフォーマンス低下により、
頻繁に負荷が増大する状況が続いております。
 その為、改善を図ることを目的としたファームウェアアップデート作業を行わせ
て頂きましたが、メンテナンス以降に長時間の停止が発生し、且つ改善の効果も十
分には得られておりません。
 当該ストレージのメーカーとは、根本的な解決に向けて、努力を続けております
が、誠に遺憾ながら現状は完全な解決の目処をご案内する事ができません。

・・・
 併せて、現在のストレージとは異なる、根本的に設計を見直した新たな環境の構
築を平行して進めており、次月には新しい選択肢としてご提供できるよう準備を
行って参ります。


さくらのクラウドでは、「Sun ZFS Storage Appliance」、InfiniBandが使用されているようですが、それらはトラブルに関係するのでしょうか? 

このブログでの「さくらのクラウド」関係の記事
ZFSに関する記事
「さくらのクラウド」のネットワーク構成について
InfiniBand


また、クラウド関係のトラブルのニュースは、Amazonのものを何度か見たことがあったなあと思い、調べてみると、いろいろとトラブルが起こっているようです。

見えない“雲の向こう側”−Amazon S3システム障害の教訓(2008/3/3)
米クラウド業界をふたたび探訪する(7) アマゾンのサービス障害は、なにが原因なのか(2011年4月30日 現代ビジネス)
Amazonクラウド、5月に入って3回もトラブル発生。UPSの故障、分電盤のショート、ネットワーク接続エラー(2010年5月14日 Publickey)

Amazon以外でも、いくつか見つかります。

GoogleとMicrosoftのクラウドサービスを襲ったアクセス障害(2011年09月12日 bizmash)
マイクロソフトのクラウド・サービス「BPOS」がまた停止(2011年06月23日 COMPUTERWORLD)

また、このようなクラウドのトラブル対策についての勉強会もあったようです。
クラウド 障害予防/トラブル対策 勉強会(2011/06/22)

今のところ、業務でクラウド関係のサービスを使用する場合、トラブルが起こると考えて対策を準備しておいた方が良さそうです。


posted by jun1 at 23:43| Comment(0) | TrackBack(0) | OS、仮想環境

2012年02月15日

オープン・クラウドの記事

オープン・クラウドの記事についてのメモ

クラウド構築で注目が集まるCloudStackとは?(@IT)

上記の記事では、代表的なIaaSクラウドソフトウェアとして以下があるそうです。
・Eucalyptus
・OpenStack
・OpenNebula
・OpenQRM
・Abiquo
・Apache VCL
・CloudStack

続きを読む
posted by jun1 at 00:16| Comment(0) | TrackBack(0) | OS、仮想環境

2012年02月04日

ZFSに関する記事

ZFSに関係する記事がちょっと集まってきたので、メモ。

石狩「さくらのクラウド」で Sun ZFS Storage Appliance を採用

『ニコニコ動画』を支えるストレージ基盤。その選択の決め手とは!?


第4回 一瞬でのバックアップを実現するSolaris ZFS

“超特殊”ファイルシステム「ZFS」がデータ復旧するまで・日本データテクノロジーに聞く

ZFSを試すため、KVMの仮想マシンにFreeBSDをインストールしていますが、最近まったく使っていないのを思い出しました。。
posted by jun1 at 00:08| Comment(0) | TrackBack(0) | OS、仮想環境

2011年10月04日

libvirtの仮想マシン用XML設定ファイルの書式

前回、virt-managerでKVMの仮想マシンを作成し、ASUSU EeePC用バイナリーをインストールしました。しかし、仮想ブリッジの設定のせいか、ネットワークで問題が起こりました。とりあえずlibvirtの設定ファイルを virsh edit コマンドで修正して問題を解決することができました。しかし、libvirtの設定ファイルのフォーマットについて詳細を知らずに困ったので、少し調べてみることにしました。

ネットで調べると、以下を見つけました。
KVM日記  libvirt XMLフォーマット

これによると、libvirtのサイトにあるドキュメントは内容が古く、ソースのテストファイルを見た方が良いということです。そのため、libvirtのソースをローカルに取ってきて調べてみることにしました。

libvirtのソースをネットで探すと、githubで見つけました。
https://github.com/c4milo/libvirt

(注意. 他のサイトにもありましたが、日付がgithubのものより古いようです。)
phttp://git.et.redhat.com/?p=libvirt.git;a=summary

git clone でソースを取得すると以下のようになりました。
$ git clone https://github.com/c4milo/libvirt.git
Cloning into libvirt...
remote: Counting objects: 59800, done.
remote: Compressing objects: 100% (10642/10642), done.
remote: Total 59800 (delta 50078), reused 58651 (delta 49016)
Receiving objects: 100% (59800/59800), 63.31 MiB | 435 KiB/s, done.
Resolving deltas: 100% (50078/50078), done.


完了すると、カレントディレクトリにlibvirtディレクトリが作成されます。
目的のXMLファイルの書式のテストファイルは、その中のtestsディレクトリにあります。

これと以下のサイトを参考にして、いろいろ調べてみます。

その他
libvirtのホームサイトにあるXMLファイルの書式のドキュメント
libvirt・XML Format

第3回 libvirt探訪(基礎編)(@IT)


posted by jun1 at 02:15| Comment(0) | TrackBack(0) | OS、仮想環境

2011年09月27日

Android 2.2 x86版(Eee-PC用)をKVMで動かしてみる

最近Andoriodで簡単なプログラムを作っていますが、エミュレータの起動が遅いので、Android-x86版のバイナリーを試してみることにしました。

Android-x86 - Porting Android to x86

上記のサイトの左メニューから[download]を選択して、「StableRelease」にある
・android-x86-2.2-r2-eeepc.iso
を選択して保存します。
(注、ネットで調べるとASUS EeePC用が問題が少ないようなのでこれを選択)

これをKVMの仮想マシンにインストールしてみました。
fedora15_kvm_android01_s.jpg

とりあえず動作するのですが、2つほど問題が見つかりました。


続きを読む
posted by jun1 at 00:07| Comment(0) | TrackBack(0) | OS、仮想環境

2011年08月20日

Linux・KVM関係の本

最近買ったのや過去に買ったものから、KVM関係の本を見つけて本の内容を分かりやすいようにまとめました。

まとめ
仮想環境の本

まとめにある本
・KVM徹底入門
・プロのためのLinuxシステム・ネットワーク管理技術
・Linuxカーネル Hacks
・Software Design 2011年 05月号

これでKVMの設定などで困った時、参考になる記事が見つけやすくなると思います。




posted by jun1 at 17:58| Comment(0) | TrackBack(0) | OS、仮想環境

2011年08月12日

Redhat 6のシリアルコンソールの設定

仮想マシンのCentOS 5.6でシリアルコンソールを使用できるようにした後、Fedora 15で同じように設定をしました。しかし、シリアルコンソールが使用できません。そこで調査してみました。

結果、Redhat 6から初期化処理の init が upstart に変更されていて、Fedora 15でなぜかupstartパッケージがインストールされていなかったのが原因でした。
RED HAT Enterprise Linux 6 4.2. サービスの初期化

最終的に、/boot/grub/grub.conf の設定のみでシリアルコンソールが使えるようになりました。

また、この調査中にgrubのメニューメッセージがシリアルコンソールに表示されていなかった原因も判明しました。

シリアルコンソールにブートメッセージを表示する場合、grub.confに以下を追加していました。
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
terminal --timeout=5 console serial


これだと、シリアルコンソールに以下のようなgrubのメニューメッセージが表示されません。
Press any key to enter the menu


Booting Fedora (2.6.38.6-26.rc1.fc15.x86_64.debug) in 0 seconds..

これを以下のように serial が console の前に来るように変更すると、表示されるようになりました。
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
terminal --timeout=5 console serial


まとめ
Linux - シリアルコンソール
posted by jun1 at 01:38| Comment(0) | TrackBack(0) | OS、仮想環境

2011年08月09日

KVMで仮想ブリッジを使う。

Fedora15のKVMにおいて、仮想マシンはデフォルトで仮想ネットワークに接続されます。しかし、仮想ホストのFedora15で仮想ブリッジを作成しておくと、仮想マシンを仮想ブリッジに接続することができるようになります。
その場合、仮想のホストとゲストが同一ネットワークになり、さらにホストと同じネットワークの他のマシンからも同一ネットワークとして認識されます。

この状態だと、ネットワークがシンプルになり、仮想ホスト以外のパソコンと仮想マシンのやり取りが分かりやすくなります。

仮想ブリッジを使用した例
vm_vbr_sample.jpg

上記のような場合、WindowsXP、Fedora15、Ubuntu、CentOSはすべて同じネットワークになり、WindowsXPから仮想マシンのUbuntuやCentOSに直接SSHや、HTTPで接続することが可能となります。
(注. 仮想ホストのFedora15でアクセス制限をしている場合、外部マシンから仮想マシンへアクセスできない場合があります。)

仮想ブリッジの追加方法のまとめ
bridge-utils

作成済みの仮想マシンで、デフォルトの仮想ネットワークから仮想ブリッジに変更する場合、
virt-manager(仮想マシンマネージャ)の仮想マシンの詳細でNICの「仮想ネットワークインターフェイス」で変更できます。

仮想ブリッジvbrに変更している例
virt-manager_vm_nic.jpg
posted by jun1 at 00:23| Comment(0) | TrackBack(0) | OS、仮想環境

2011年08月04日

KVMの仮想マシンへの接続にシリアルコンソールを使用する

KVMで仮想マシンを制御するのにvirt-managerでなく、virshコマンドを使うようになりました。
これだと、SSHで仮想ホストに接続して、コマンドラインでゲストを起動することができ、ウィンドウ上でvirt-managerを使うより便利です。

参考  仮想マシンの起動コマンド
# virsh start [ドメイン名(仮想マシン名)]

また、virshコマンドのヘルプを見ているとconsoleというのが目に止まりました。
名前からこれはゲストOSのコンソールに接続できるのではないかと思ったので、調べてみました。
するとゲストOSがLinuxの場合、シリアルコンソールが許可されていれば可能ということだったので、使用できるようにしてみました。

設定のまとめ
Linux - シリアルコンソール
virsh console

これで、仮想ホストとゲストの操作の切り替えが簡単になったうえ、シリアルケーブル無しでシリアルコンソールが使えるようになりました。
posted by jun1 at 01:18| Comment(0) | TrackBack(0) | OS、仮想環境

2011年06月15日

KVMの仮想マシンにSPICEクライアントでアクセス

Fedora 15 でKVMが動作するようになったので、SPICEを試してみました。

最終的には以下のようにSPICEクライアントで仮想マシンにアクセスできるようになりました。
kvm_vnc_spice.png
仮想ホストのFedora15はWindowsXPとモニタを切り替えて使用していますが、切り替えが面倒のため、WindowsXPからVNCでアクセスするようにしました。

上記の環境構築のまとめ
Fedora 15 (仮想環境)

SPICEクライアントから仮想マシンへの接続は、Fedora 15とWindowsXPでできるようにしました。
Fedora 15 - virt-managerとSPICE
Fedora 15 - spiceクライアント
Windows - spiceクライアント

今回の仮想マシンは仮想ネットワークでNATを使用し、特別なネットワーク設定を行っていません。そのため外部マシンのSPICEクライアントから接続できますが、外部マシンから直接仮想マシンにSSH、FTPなどでは接続できません。ネットワークは以下のような感じ(?)になっています。
kvm_network.png
posted by jun1 at 23:33| Comment(0) | TrackBack(0) | OS、仮想環境

2011年06月04日

ProLiant ML110 G6 にFedora 15 と KVMをインストール

CentOS 6.0は以下の記事によるとそろそろリリースされるということですが、現在のところまだリリースのニュースがありません。
Linux Daily Topics 2011年5月24日 「CentOS 6系の開発は続くから安心して!」開発者がメッセージ

CentOS 6.0がでたら、それでKVMを試してみようと待っていましたが、あきらめて先月リリースされたFedora 15で試すことにしました。

Fedoraは久しぶりに使用しましたが、インストールするパッケージに悩む以外は問題ありませんでした。今回は KVM と SPICE を試すことが目的なので、必要なもの以外はインストールしないようにしました。仮想環境はパッケージを確認しながらyumでインストールするので、インストーラでは選択しませんでした。

インストーラーで選択したもの
・アプリケーション: グラフィックス
・開発環境: なし
・サーバー: なし
・ベースシステム: X Window System、フォント、ベース
・言語: 日本語のサポート>

注. 電子回路をやっていた人ならSPICEといえばアナログ回路シュミレーションの方を思い浮かべると思いますが、ここでのSPICEは新しいリモートディスクトップのプロトコルです。

参考
次世代デスクトップ転送技術、SPICE入門
SPICE (ソフトウェア) (Wikipedia)


Fedoraをインストールしたあと、初回のログイン時にグラフィックドライバ関係のメッセージが表示されましたが、1024x768までしか解像度をあげれない以外は問題がありませんでした。そのため、そのままKVM関係のパッケージをyumでインストールしていきました。

KVMのインストールについてのまとめ
Fedora 15 - KVM インストール

インストールして動作確認で問題が無かったので、virt-managerで仮想マシンを作成してFedora15をインストールしてみました。とりあえず問題無く動作しましたので、明日から以下についていろいろと調べていこうと思います。
・KVM
・QEMU
・libvirt
・bridge-utils
・virt-manager
・SPICE

posted by jun1 at 00:03| Comment(0) | TrackBack(0) | OS、仮想環境