lost and found ( for me ? )

KVM : connect to VM w/ virt-viewer

root@hat1:~# apt-get install virt-viewer

ローカルホスト上の VM centos5-1 に接続

root@hat1:~# virsh list --all
Id 名前               状態
----------------------------------
 1 centos5-1            実行中
 - centos5-1-clone      シャットオフ
 - centos5-1-clone2     シャットオフ
 - ubuntu               シャットオフ

root@hat1:~# virt-viewer -c qemu:///system centos5-1

virt viewer が起動する
実際にはVNCコネクションをオープンして接続している。

root@hat1:~# ps -C virt-viewer
 PID TTY          TIME CMD
2837 pts/0    00:00:00 virt-viewer

root@hat1:~# lsof -p 2837 | grep -i tcp
virt-view 2837 root    6u  IPv4             296794      0t0      TCP localhost:33872->localhost:5900 (ESTABLISHED)




リモートにあるVMと接続する場合

# virt-viewer -c qemu+ssh://hello@192.168.0.1/system centos5-1

ssh コネクションを使用するのでセキュア。

KVM virsh 基本的な使い方 ( VM起動、停止、サスペンド、再開 )

root@hat1:~# virsh help で使用できるオプションが表示される。オプション結構あるなー。


基本的なオプション実行例。

・VMのリスト表示

root@hat1:~# virsh list --all
Id 名前               状態
----------------------------------
 - centos5-1            シャットオフ
 - centos5-1-clone      シャットオフ
 - centos5-1-clone2     シャットオフ
 - ubuntu               シャットオフ

・VM起動

root@hat1:~# virsh start centos5-1
ドメイン centos5-1 が起動されました

root@hat1:~# virsh list --all
Id 名前               状態
----------------------------------
 1 centos5-1            実行中
 - centos5-1-clone      シャットオフ
 - centos5-1-clone2     シャットオフ
 - ubuntu               シャットオフ

・VM一時停止

root@hat1:~# virsh suspend centos5-1
ドメイン centos5-1 は一時停止されました

root@hat1:~# virsh list --all
Id 名前               状態
----------------------------------
 1 centos5-1            一時停止中
 - centos5-1-clone      シャットオフ
 - centos5-1-clone2     シャットオフ
 - ubuntu               シャットオフ

・suspned から復旧

root@hat1:~# virsh resume centos5-1
ドメイン centos5-1 が再開されました

root@hat1:~# virsh list --all
Id 名前               状態
----------------------------------
 1 centos5-1            実行中
 - centos5-1-clone      シャットオフ
 - centos5-1-clone2     シャットオフ
 - ubuntu               シャットオフ

・シャットダウン

root@hat1:~# virsh shutdown centos5-1
ドメイン centos5-1 をシャットダウンしています

root@hat1:~# virsh list --all
Id 名前               状態
----------------------------------
 - centos5-1            シャットオフ
 - centos5-1-clone      シャットオフ
 - centos5-1-clone2     シャットオフ
 - ubuntu               シャットオフ

ubuntu 10.04 : how to use vmbuilder

 CLIでVMを作成。

root@hat1:~# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.04
DISTRIB_CODENAME=lucid
DISTRIB_DESCRIPTION="Ubuntu 10.04.1 LTS"

root@hat1:~# apt-get install python-vm-builder

下準備

作業ディレクトリを作成

root@hat1:~# mkdir VMBuilder


パーティションの設定

root@hat1:~/VMBuilder# cat vmbuilder.partition
root 8000
swap 512

リモートからアクセスできるように SSH サーバの設定

root@hat1:~/VMBuilder# cat boot.sh
apt-get update
apt-get install -qqy --force-yes openssh-server

初めてログインしたときにパスワードを変更させる。

root@hat1:~/VMBuilder# cat login.sh
passwd

ミラーサイト。
/etc/apt/sourcs.list から適当にチョイス。

root@hat1:~/VMBuilder# less /etc/apt/sources.list
#
# deb cdrom:[Ubuntu-Server 10.04 LTS _Lucid Lynx_ - Release amd64 (20100427)]/ lucid main restricted

#deb cdrom:[Ubuntu-Server 10.04 LTS _Lucid Lynx_ - Release amd64 (20100427)]/ lucid main restricted
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.

deb http://jp.archive.ubuntu.com/ubuntu/ lucid main restricted
deb-src http://jp.archive.ubuntu.com/ubuntu/ lucid main restricted

root@hat1:~/VMBuilder# vmbuilder kvm ubuntu --suite lucid --flavor virtual --arch i386 -o --libvirt qemu;///system --ip 192.168.11.120 --mask 255.255.255.0 --gw 192.168.11.1 --dns 192.168.11.1 --user user --name user --pass default --tmpfs - --firstboot boot.sh --mirror http://jp.archive.ubuntu.com/ubuntu/ --addpkg acpid --part ./vmbuilder.partition --firstlogin ./login.sh 

--user ユーザ名
--name フルネーム
--pass パスワード
--suite : Ubuntu のリリースを指定
--libvert : VMに登録
--tmpfs -  vmbuilder 用にメモリを1G確保
--ip , --mask , --dns : ネットワーク設定
--firstboot  初めて起動したときに boot.sh を実行 ( ssh server をインストール )
--firstlogin  初めてログインしたときに login.sh を実行 ( パスワードを変更 )
--addpkg acpid  リスタート、シャットダウン制御ができるように acpid をインストール

vmbuilder ハイパーバイザー ディストリビューション
ハイパーバイザー: xen , kvm , vmw6 , vmserver
ディストリビューション: ubuntu

上記を設定ファイルにかけるみたい。

root@hat1:~/VMBuilder# cat my_vm.cfg
[DEFULT]
arch = i386
ip = 192.168.11.120
mask = 255.255.255.0
gw = 192.168.11.1
dns = 192.168.11.1
user = user
name = user
pass = default
tmpfs = -
firstboot = /root/VMBuilder/boot.sh
firstlogin = /root/VMBuilder/login.sh

[ubuntu]
mirror = http://jp.archive.ubuntu.com/ubuntu/
suite = lucid
flavor = virtual
addpkd = acpid

[kvm]
libvirt = qemu:///system

root@hat1:~/VMBuilder# vmbuilder kvm ubuntu -c my_vm.cfg

できたっぽい。

vmbuilder を実行したディレクトリに ubuntu-kvm っていうディレクトリができた。

root@hat1:~/VMBuilder# cd ubuntu-kvm/

root@hat1:~/VMBuilder/ubuntu-kvm# ls
run.sh  tmpx1vgro.qcow2

VMイメージ tmpx1vgro.qcow2

root@hat1:~/VMBuilder/ubuntu-kvm# cat run.sh
#!/bin/sh

exec kvm -m 128 -smp 1 -drive file=tmpx1vgro.qcow2 "$@"

VMの登録もされているみたい。

root@hat1:/etc/libvirt/qemu# pwd
/etc/libvirt/qemu

root@hat1:/etc/libvirt/qemu# ls ubuntu.xml
ubuntu.xml

vmbuilder で作成した VM ( ubuntu ) が登録された。

root@hat1:~# virsh list --all
 Id 名前               状態
----------------------------------
  - centos5-1            シャットオフ
  - centos5-1-clone      シャットオフ
  - centos5-1-clone2     シャットオフ
  - ubuntu               シャットオフ

ユーザ名、パスワードが設定したのにならなかった。。
デフォルトの user: ubuntu , pass: ubuntu になってた。。

発ログイン後のスクリプトが走らないな。。
コンフィグファイル(my_vm.cfg)の書き方がおかしかったのかな。。。
とりあえず VM のインストールができたので OK ということで。

how to install zabbix server 1.6.9 on CentOS5.5

# cat /etc/redhat-release
CentOS release 5.5 (Final)

RHEL5 , CentOS5 用のレポジトリを追加。

http://www.zabbix.jp/modules/bwiki/index.php?ZABBIX-JP%A4%CEyum%A5%EA%A5%DD%A5%B8%A5%C8%A5%EA%CD%F8%CD%D1%CA%FD%CB%A1#content_1_3

[root@hat2 ~]# rpm -ivh http://www.zabbix.jp/binaries/relatedpkgs/rhel5/i386/zabbix-jp-release-5-3.noarch.rpm

同一マシンに server , agent をインストール。
通常、server , agent は別マシンだろうけどテスト用に。

[root@hat2 etc]# yum install zabbix zabbix-agent zabbix-server zabbix-server-mysql zabbix-web zabbix-web-mysql mysql-server net-snmp

# rpm -qa | grep zabbix
zabbix-1.6.9-3.el5.JP
zabbix-web-mysql-1.6.9-3.el5.JP
zabbix-jp-release-5-3
zabbix-server-1.6.9-3.el5.JP
zabbix-agent-1.6.9-3.el5.JP
zabbix-server-mysql-1.6.9-3.el5.JP
zabbix-web-1.6.9-3.el5.JP

ユーザの作成、、と思ったら、自動で作成してくれるみたい。

[root@hat2 ~]# egrep zabbix /etc/passwd
zabbix:x:102:106:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin

[root@hat2 ~]# egrep zabbix /etc/group
zabbix:x:106:

データーベースの準備

[root@hat2 ~]# /etc/init.d/mysqld start

MySQLのルートパスワードの設定

[root@hat2 ~]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.0.77 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> set password for root@localhost=password('hello');
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye
[root@hat2 ~]#

[root@hat2 ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 5.0.77 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> quit
Bye

データベースの作成

[root@hat2 ~]# mysql -uroot -phello
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 15
Server version: 5.0.77 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database zabbix;
Query OK, 1 row affected (0.00 sec)

mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'hello';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye

[root@hat2 ~]# mysql -u root -phello
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 5.0.77 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
| zabbix             |
+--------------------+
4 rows in set (0.00 sec)

mysql> quit

スキーマのインポート

[root@hat2 ~]# mysql -uroot -phello zabbix < /usr/share/doc/zabbix-server-1.6.9/schema/mysql.sql
[root@hat2 ~]# mysql -uroot -phello zabbix < /usr/share/doc/zabbix-server-1.6.9/data/data.sql
[root@hat2 ~]# mysql -uroot -phello zabbix < /usr/share/doc/zabbix-server-1.6.9/data/images_mysql.sql

[root@hat2 ~]# /etc/init.d/zabbix-server start
Starting zabbix server:                                    [  OK  ]
[root@hat2 ~]# /etc/init.d/zabbix-agent start
Starting zabbix agent:                                     [  OK  ]
[root@hat2 ~]# /etc/init.d/httpd start
httpd を起動中:                                            [  OK  ]

[root@hat2 ~]# rm /etc/zabbix/zabbix.conf.php

ブラウザで http://サーバのIP/zabbix にアクセス。

/var/www/html/zabbix ディレクトリは作成しないこと。




MySQLへの接続 OK



Apache からコンフィグを設定できるようにパーミッションを変更。
変更しないと、下記のように Fail となる。


# chmod 777 /etc/zabbix

パーミッションを変更し、 Retry をおしたあと。OK


user: admin , pass: zabbix でログイン


文字化けするなー


下記を変更したが、文字化け直らず。また今度。

# less /usr/share/zabbix/map.php

                               //imagestring($im, 2, $x_info, $y_info, $info_line,$color);
                               ImageTTFText($im, 8, 0, $x_info+5, $y_info+10, $color, "/usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf", $info_line);

How to build Chromium OS n’ fly that w/ VMware Player

root@hat1:~# cat /etc/lsb-release | tail -1
DISTRIB_DESCRIPTION="Ubuntu 10.04.1 LTS"

root@hat1:~# uname -a
Linux hat1 2.6.32-24-server #43-Ubuntu SMP Thu Sep 16 16:05:42 UTC 2010 x86_64 GNU/Linux

root@hat1:~# cat /proc/cpuinfo | grep "model name" | uniq
model name      : AMD Phenom(tm) II X4 925 Processor

[ 必要なツールをインストール ]

install-build-deps.sh ( Utuntu専用 ) を使用すると自動で必要なツールをインストールしてくれる。

hattori@hat1:~$ sudo apt-get install subversion
hattori@hat1:~$ sudo apt-get install git-core

hattori@hat1:~$ wget http://src.chromium.org/svn/trunk/src/build/install-build-deps.sh
hattori@hat1:~$ sudo sh install-build-deps.sh

hattori@hat1:~$ svn co http://src.chromium.org/svn/trunk/tools/depot_tools
hattori@hat1:~$ export PATH=`pwd`/depot_tools:"$PATH"

hattori@hat1:~$ pwd
/home/hattori
hattori@hat1:~$ gclient config http://src.chromium.org/git/chromiumos.git

.glient というファイルができる。

hattori@hat1:~$ cat .gclient
solutions = [
 { "name"        : "chromiumos.git",
   "url"         : "http://src.chromium.org/git/chromiumos.git",
   "custom_deps" : {
   },
   "safesync_url": "",
 },
]

エラーになるなー。

hattori@hat1:~$ gclient sync
Syncing projects:   3% (3/94)

________ running 'git clone -b master http://src.chromium.org/git/crosutils.git /home/hattori/chromiumos.git/src/scripts' in '/home/hattori'
Initialized empty Git repository in /home/hattori/chromiumos.git/src/scripts/.git/
error: RPC failed; result=22, HTTP code = 502

gclient あきらめー。

repo でソースをゲット。

http://www.chromium.org/chromium-os/building-chromium-os/using-cros_workon#TOC-Get-the-Source

repo 、、gclient の置き換わりらしい。

--
We are using repo as our new repository overlay tool. repo is used to checkout multiple repositories and sync them. It replaces the functionality that was previously provided by gclient.
--

hattori@hat1:~$ repo init -u http://git.chromium.org/git/manifest -m minilayout.xml

1時間以上かかる。。

hattori@hat1:~$  repo sync

Initializing project chromiumos ...
remote: Counting objects: 22034, done.
remote: Compressing objects: 100% (10389/10389), done.

* [new tag]         0.8.72.3   -> 0.8.72.3
Fetching projects: 100% (8/8), done.
Checking out files: 100% (1102/1102), done.
Checking out files: 100% (89225/89225), done.iles:  26% (23725/89225)
Syncing work tree: 100% (8/8), done.

hattori@hat1:~$

src ディレクトリができる。

hattori@hat1:~$ cd src/scripts/
hattori@hat1:~/src/scripts$ ./make_chroot --replace

hattori@hat1:~/src/scripts$ ./enter_chroot.sh
INFO   : Mounting chroot environment.
INFO   : Not mounting chrome source
INFO   : Mounting depot_tools
INFO   : mounting ~/.subversion into chroot
(cros-chroot) hattori@hat1 ~/trunk/src/scripts $

(cros-chroot) hattori@hat1 ~/trunk/src/scripts $ ./setup_board --board=x86-generic --default

(cros-chroot) hattori@hat1 ~/trunk/src/scripts $ ./build_packages

(cros-chroot) hattori@hat1 ~/trunk/src/scripts $ ./build_image
Elapsed time: 5m54s
To copy to USB keyfob, OUTSIDE the chroot, do something like:
 ./image_to_usb.sh --from=../build/images/x86-generic/0.8.73.2010_09_24_2053-a1 --to=/dev/sdX
To convert to VMWare image, INSIDE the chroot, do something like:
 ./image_to_vm.sh --from=../build/images/x86-generic/0.8.73.2010_09_24_2053-a1 --board=x86-generic
from the scripts directory where you entered the chroot.

イメージができた

(cros-chroot) hattori@hat1 ~/trunk/src/build/images/x86-generic/0.8.73.2010_09_2
4_2053-a1 $ pwd
/home/hattori/trunk/src/build/images/x86-generic/0.8.73.2010_09_24_2053-a1

(cros-chroot) hattori@hat1 ~/trunk/src/build/images/x86-generic/0.8.73.2010_09_2
4_2053-a1 $ ls
boot.config                chromiumos_image.bin  unpack_partitions.sh
boot.desc                  config.txt
chromiumos_base_image.bin  pack_partitions.sh

vmdk イメージの作成

(cros-chroot) hattori@hat1 ~/trunk/src/scripts $ ./image_to_vm.sh --from=../build/images/x86-generic/0.8.73.2010_09_24_2053-a1 --board=x86-generic --make_vmx --format vmware --vmdk chromium_os_x86-generic.vmdk --vmx chromium_os_x86-generic.vmx

エラーが・

Creating final image
./image_to_vm.sh: line 254: qemu-img: command not found
(cros-chroot) hattori@hat1 ~/trunk/src/scripts $

qemu-img をインストール。

(cros-chroot) hattori@hat1 ~/trunk/src/scripts $ sudo emerge app-emulation/qemu-softmmu

再度トライ。

(cros-chroot) hattori@hat1 ~/trunk/src/scripts $ ./image_to_vm.sh --from=../build/images/x86-generic/0.8.73.2010_09_24_2053-a1 --board=x86-generic --make_vmx --format vmware --vmdk chromium_os_x86-generic.vmdk --vmx chromium_os_x86-generic.vmx

Wrote the following config to: /home/hattori/trunk/src/build/images/x86-generic/0.8.73.2010_09_24_2053-a1/chromium_os_x86-generic.vmx
#!/usr/bin/vmware
.encoding = "UTF-8"
config.version = "8"
virtualHW.version = "4"
memsize = "1024"
ide0:0.present = "TRUE"
ide0:0.fileName = "chromium_os_x86-generic.vmdk"
ethernet0.present = "TRUE"
usb.present = "TRUE"
sound.present = "TRUE"
sound.virtualDev = "es1371"
displayName = "Chromium OS"
guestOS = "otherlinux"
ethernet0.addressType = "generated"
floppy0.present = "FALSE"
(cros-chroot) hattori@hat1 ~/trunk/src/scripts $

vmx , vmdk ファイルができた。

4_2053-a1 $ pwd
/home/hattori/trunk/src/build/images/x86-generic/0.8.73.2010_09_24_2053-a1

(cros-chroot) hattori@hat1 ~/trunk/src/build/images/x86-generic/0.8.73.2010_09_2
4_2053-a1 $ ls *.vm*
chromium_os_x86-generic.vmdk  chromium_os_x86-generic.vmx

chroot からぬけて、上記をコピー。

hattori@hat1:~/src/build/images/x86-generic/0.8.73.2010_09_24_2053-a1$ cp *.vm* /home/hattori/

hattori@hat1:~$ pwd
/home/hattori
hattori@hat1:~$ ls *.vm*
chromium_os_x86-generic.vmdk  chromium_os_x86-generic.vmx

vmware player で起動。

起動したー


日本語も入力できた ^_^ 。ちょっとだけさわった印象は、、Chrome ブラウザだ。。


えーと shutdown は、、

Ctrl + Alt + T でコマンドラインモードに。


rootになって、shutdown -h now 。
root になるには、sudo su