lost and found ( for me ? )

How to fly Xen Server 5.5 within VMWare Server 2

VMware server 2 上に Xen Server 5.5 をインストールできたので、めも~。

- VMの設定

vCPU * 2 ( vCPU * 1 だとインストールできなかった )
vDisk 15GB
memory 1024MB
余計なデバイス ( floppy etc ) はなし。
OS は other linux ( 64 bit )

- vmx に下記の2行を追加。

monitor_control.enable_svm = "true" <- AMD-VT の場合
monitor_control.restrict_backdoor = "true"

- Intel -VT の場合は、下記の2行を追加。

monitor_control.enable_vt32 = "true"
monitor_control.restrict_backdoor = "true"

--

自分のは AMD-VT なので、こんな感じの vmx ファイルになる。

-- start

.encoding = "Shift_JIS"
config.version = "8"
virtualHW.version = "7"
floppy0.present = "FALSE"
mks.enable3d = "TRUE"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
vmci0.present = "TRUE"
nvram = "Xen_Server.nvram"
virtualHW.productCompatibility = "hosted"
ft.secondary0.enabled = "TRUE"
tools.upgrade.policy = "useGlobal"
powerType.powerOff = "soft"
powerType.powerOn = "hard"
powerType.suspend = "hard"
powerType.reset = "soft"

displayName = "Xen_Server"
extendedConfigFile = "Xen_Server.vmxf"

monitor_control.enable_svm = "true" <- 追加
monitor_control.restrict_backdoor = "true" <- 追加

numvcpus = "2"
scsi0.present = "TRUE"
scsi0.sharedBus = "none"
scsi0.virtualDev = "lsilogic"
memsize = "1024"
scsi0:0.present = "TRUE"
scsi0:0.fileName = "Xen_Server.vmdk"
scsi0:0.writeThrough = "TRUE"
ide1:0.present = "TRUE"
ide1:0.fileName = "G:\storage1\FREE_XenServer-5.5.0-linux-cd.iso"
ide1:0.deviceType = "cdrom-image"
ide1:0.allowGuestConnectionControl = "FALSE"
ethernet0.present = "TRUE"
ethernet0.allowGuestConnectionControl = "FALSE"
ethernet0.virtualDev = "e1000"
ethernet0.features = "1"
ethernet0.wakeOnPcktRcv = "FALSE"
ethernet0.networkName = "Bridged"
ethernet0.addressType = "generated"
guestOS = "otherlinux-64"
uuid.location = "56 4d 2b 1a 4e 99 0e ac-50 cd b7 c2 47 b0 27 67"
uuid.bios = "56 4d 2b 1a 4e 99 0e ac-50 cd b7 c2 47 b0 27 67"
vc.uuid = "52 68 65 97 86 50 25 e9-2a b2 12 43 07 f1 cc 97"

ethernet0.generatedAddress = "00:0c:29:b0:27:67"
tools.syncTime = "FALSE"
scsi0:0.redo = ""
vmotion.checkpointFBSize = "134217728"
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
scsi0.pciSlotNumber = "16"
ethernet0.pciSlotNumber = "32"
vmci0.pciSlotNumber = "33"
ethernet0.generatedAddressOffset = "0"
vmci0.id = "1202726759"

-- end

仮想マシンの作成、vmx を修正して、VM を Power on すれば、すんなりインストールできた。

インストール中。。



CD-ROM を入れ替え、Linux pack をインストール中。
実際は、iso を使用してインストールしたので、途中で、仮想CD-ROMデバイスを disconnect , isoを linux pack iso に変更、connect した。



インストール完了して、Xen Server が起動しているところ。
こんな起動画面なんだー。
Hyper visor の Xen 使ったの初めて。。。^^;


起動完了。




That's it :D

Pearl Jam 、ニューアルバムだすんだー。
youtube で先行シングルの the fixer 聞いたー。。今回もいい曲だ~。
fitght to get it back again , yhea *3 !
Pearl Jam rules !!! Viva PJ :D

sabayon linux 4.2 ( AMD 64bit ver. ) をインストールしてみた

sabayon linux 4.2 (AMD 64bit ver. ) を Dell inspiron 1526 にインストールしてみた。
gentoo ベースの linux 使うの初めてだー。

sabayon linux

http://www.sabayonlinux.org/

インストール後、音がでなかった、n' 日本語入力ができなかたのでめもめも〜。

- 音の設定

alaska ~ # uname -a
Linux alaska 2.6.29-sabayon #1 SMP Wed Aug 19 22:18:09 UTC 2009 x86_64 AMD Athlon(tm) 64 X2 Dual-Core Processor TK-57 AuthenticAMD GNU/Linux


alsaconf で、ドライバを、hda-intel ATI Technologies Inc SBx00 Azalia (Intel HDA) にしたら音がでるようになったー :D


alaska ~ # alsaconf

alsaconf を実行すると、メニュー形式のコンフィグ設定画面がターミナルに表示される。

hda-intel ATI Technologies Inc SBx00 Azalia (Intel HDA) を選択して、完了。
ubuntu の時も、おとでなくて、同じ作業をした気がする。。




- 日本語入力

scim と anthy をSulfur (システム -> システム管理 -> Sulfur )でインストール。

search で scim で検索、scim関連のパッケージを全部インストール


同様に、anthy で検索、インストール


ログインするユーザのホームディレクトリに下記のファイルを作成、記述し、リブート。
リブート後、日本語が入力できるようになった。

/root/.xinitrc or /root/.gnomerc ファイルを作成し下記を記述し、リブート。

LANG='ja_JP.UTF-8' scim -d
export XMODIFIERS=@im=SCIM
export GTK_IM_MODULE="scim"
export QT_IM_MODULE="scim"

alaska ~ # ps aux | grep scim | grep -v grep
/usr/lib64/scim-1.0/scim-launcher -d -c simple -e all -f socket --no-stay
/usr/lib64/scim-1.0/scim-helper-manager
/usr/lib64/scim-1.0/scim-panel-gtk --display :0.0 -c socket -d --no-stay

日本語の入力切り替えは、ctrl + space キー。あとで、半角/全角で切り替えられるように設定かえよう。。。

alaska ~ # echo "あいうえお"
あいうえお
alaska ~ #

xdm media center おもしろそう。。NYC は 雨ですな。。
また、NYCに行ってみたくなってきた。。。でもフライト時間長いし、お金ないし。。


もち、youtube もみれる。。自分の場合、google apps , youtube , amazon があればとりあえず生きていけそうだ。。
open office はuninstallしよう。。。
David Guetta さいこーだー。ヘビーローテーション。。。sexy bitch もいいなー。
今までのアルバムも好きだけど、今回のほぼ全曲いいなー。すげーぞguetta.. また日本にきてくれないかなー。
Tiesto もきてほしいな。。。

カーネルコンパイル 2.6.30

めもー。

[root@localhost ~]# uname -r
2.6.18-128.7.1.el5
[root@localhost ~]# cat /etc/redhat-release
CentOS release 5.3 (Final)
[root@localhost ~]#

[root@localhost tmp]# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.5.tar.bz2
[root@localhost tmp]# bzip2 -d linux-2.6.30.5.tar.bz2
[root@localhost tmp]# tar xvf linux-2.6.30.5.tar
[root@localhost tmp]# cd linux-2.6.30.5
[root@localhost linux-2.6.30.5]# make mrproper
[root@localhost linux-2.6.30.5]# cp /usr/src/kernels/2.6.18-128.7.1.el5-i686/.config . ( 現在使用している カーネルの .config を使用 )
[root@localhost linux-2.6.30.5]# make xconfig ( qt.i386 と qt-devel.i386 がインストールされている必要がある )

適当に修正。 KVM も balloon ドライバあるんだー。



make のターゲットを rpm にして、rpm パッケージを作成

[root@localhost linux-2.6.30.5]# make rpm
+ cp arch/x86/boot/bzImage /var/tmp/kernel-2.6.30.5-root/boot/vmlinuz-2.6.30.5
+ cp System.map /var/tmp/kernel-2.6.30.5-root/boot/System.map-2.6.30.5
+ cp .config /var/tmp/kernel-2.6.30.5-root/boot/config-2.6.30.5
+ cp vmlinux vmlinux.orig
+ bzip2 -9 vmlinux
+ mv vmlinux.bz2 /var/tmp/kernel-2.6.30.5-root/boot/vmlinux-2.6.30.5.bz2
+ mv vmlinux.orig vmlinux
+ /usr/lib/rpm/brp-compress
ファイルの処理中: kernel-2.6.30.5-1
Provides: kernel-2.6.30.5
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
伸張ファイルの検査中: /usr/lib/rpm/check-files /var/tmp/kernel-2.6.30.5-root
書き込み完了: /usr/src/redhat/SRPMS/kernel-2.6.30.5-1.src.rpm
書き込み完了: /usr/src/redhat/RPMS/i386/kernel-2.6.30.5-1.i386.rpm
実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.50164
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd kernel-2.6.30.5
+ rm -rf /var/tmp/kernel-2.6.30.5-root
+ exit 0
rm ../kernel-2.6.30.5.tar.gz
[root@localhost linux-2.6.30.5]#

[root@localhost ~]# rpm -ivh /usr/src/redhat/SRPMS/kernel-2.6.30.5-1.src.rpm
1:kernel ########################################### [100%]

[root@localhost i386]# rpm -ivh kernel-2.6.30.5-1.i386.rpm
準備中... ########################################### [100%]
1:kernel ########################################### [100%]

[root@localhost i386]# cd /boot/
[root@localhost boot]# ls *30*
System.map-2.6.30.5 config-2.6.30.5 vmlinux-2.6.30.5.bz2 vmlinuz-2.6.30.5

initial ram disk の作成

[root@localhost boot]# mkinitrd initrd-2.6.30.5.img 2.6.30.5

# cat /etc/grub.conf
title CentOS (2.6.30.5)
root (hd0,0)
kernel /boot/vmlinuz-2.6.30.5 ro root=LABEL=/ rhgb quiet
initrd /boot/initrd-2.6.30.5.img

[root@localhost boot]# ls *30*
System.map-2.6.30.5 initrd-2.6.30.5.img vmlinuz-2.6.30.5
config-2.6.30.5 vmlinux-2.6.30.5.bz2

リブート

# reboot

できたー。

[root@localhost ~]# uname -r
2.6.30.5

David Guetta のニューアルバム One Love 届いたー。
さいこーだ。

when love takes over いいなー。Memories とか、Missin' u もー。


Linux: html を pdf フォーマットなどに変換するツール: htmldoc

へー、こんなツールあるんだー。

Linux: html を pdf フォーマットなどに変換するツール。

htmldoc コマンド(パッケージ)

htmldoc - convert html source files into html, postscript, or pdf.

[root@arizona ~]# cat /etc/redhat-release
Fedora release 11 (Leonidas)

[root@arizona ~]# rpm -qa | grep htmldoc
htmldoc-1.8.27-10.fc11.i586

アプリケーション -> オフィス -> HTLMDOC

Webページを指定 ( ためしに google )



security タブで、パスワードを指定



Generate をクリック。作成完了



# xpdf google.pdf

パスワードもきかれる。




うお、、文字化けしとる。。。
ローカルに落とした html , 画像などを落としたあとに、 PDF にしたほうがいいのかな。。




Linux に windows の ペイントブラシ( pbrush )みたいなツールないかなー。
GIMPの使い方ようわからん。。使い方調べていないけど。。

David Guetta 、ニューアルバム One Love リリースされたー。
Amazonでさっそく注文。うーん楽しみー。

How to install VMware tools on Windows 2008R2 server core

Win 2008 R2 server core を ESX にインストールしてみた。。
起動後、コマンドプロンプトしかないんだー。

VMWare tools のインストールめもめも~。

ログオン後はこんな感じ。






VMWare toolsのインストール

vSphere client -> インベントリ -> 仮想マシン -> VMware tools のインストール

VMware tools ディレクトリが CD-ROM ドライブにマウントされるので、CD-ROM ドライブに
移動。

コマンドプロンプト

D: <- CD-ROM ドライブに移動
D:\>setup.exe <- vmware tools のインストール

GUI が起動するので、インストール。

インストール中の画面。




リブート後、VMware tools がインストールされていることを確認。

vSphere client の サマリで確認

VMware tools OK となっていれば、インストールされていることを意味する。





Above n' beyond の OceanLab の Remix いいなー。

can't convert VMWare Server's VM image(vmdk) into KVM's image...

VMWare Server 2 で作成した Win XP Pro のイメージを KVM 用に変換してみた。。
が、うまくできん。。

[root@arizona vmware_vmdk_xp]# cat /etc/redhat-release
Fedora release 11 (Leonidas)

[root@arizona vmware_vmdk_xp]# uname -r
2.6.29.6-217.2.8.fc11.i686.PAE

KVM のバージョン:

qemu-kvm-0.10.6-1.fc11.i586
libvirt-0.6.2-14.fc11.i586

python-virtinst ってパッケージに クローン作成や、コンバーターがある。

[root@arizona vmware_vmdk_xp]# rpm -ql python-virtinst-0.400.3-8.fc11.noarch | grep bin
/usr/bin/virt-clone
/usr/bin/virt-convert
/usr/bin/virt-image
/usr/bin/virt-install
/usr/sbin/virt-install

VMWare Server 2 で作成したイメージなどを、KVMマシンにコピー。とりあえず、全部コピーした。

[root@arizona vmware_vmdk_xp]# file *
vmware.log: UTF-8 Unicode English text, with very long lines, with CRLF line terminators
winxppro.nvram: VMware nvram
winxppro.vmdk: VMware4 disk image
winxppro.vmsd: empty
winxppro.vmx: ASCII text, with CRLF line terminators
winxppro.vmxf: XML document text

qcow2 ディスクフォーマット指定するとエラーになるなー。
[root@arizona ~]# virt-convert --hvm --arch=i686 --os-variant=winxp -i vmx -o virt-image -D qcow2 -d vmware_vmdk_xp/winxppro.vmx kvm_image_xp
Usage: virt-convert [options] inputdir|input.vmx [outputdir|output.xml]

virt-convert: error: Unknown output disk format "qcow2"
[root@arizona ~]#

[root@arizona ~]#
[root@arizona ~]# virt-convert --hvm --arch=i686 --os-variant=winxp -d -i vmx -o virt-image -d vmware_vmdk_xp/ kvm_image_xp/
/usr/lib/python2.6/site-packages/virtconv/diskcfg.py:21: DeprecationWarning: The popen2 module is deprecated. Use the subprocess module.
import popen2
水, 19 8月 2009 02:30:50 DEBUG Creating directory kvm_image_xp/
水, 19 8月 2009 02:30:50 DEBUG input_file: vmware_vmdk_xp/winxppro.vmx
水, 19 8月 2009 02:30:50 DEBUG input_dir: vmware_vmdk_xp/
水, 19 8月 2009 02:30:50 DEBUG output_file: kvm_image_xp/winxppro.virt-image.xml
水, 19 8月 2009 02:30:50 DEBUG output_dir: vmware_vmdk_xp/
Generating output in 'virt-image' format to kvm_image_xp//
Converting disk 'winxppro.vmdk' to type raw...
Done.
[root@arizona ~]#

raw フォーマットでトライ。

[root@arizona ~]# virt-convert --hvm --arch=i686 --os-variant=winxp -i vmx -o virt-image -D raw -d vmware_vmdk_xp/winxppro.vmx kvm_image_xp
Generating output in 'virt-image' format to kvm_image_xp/
Converting disk 'winxppro.vmdk' to type raw...
Done.
[root@arizona ~]#

[root@arizona ~]# cd kvm_image_xp/
[root@arizona kvm_image_xp]# ls
winxppro.raw winxppro.virt-image.xml

[root@arizona kvm_image_xp]# file winxppro.raw
winxppro.raw: x86 boot sector, Microsoft Windows XP MBR, Serial 0x513c513b; partition 1: ID=0x7, active, starthead 1, startsector 63, 16755732 sectors, code offset 0xc0

[root@arizona ~]# virsh -c qemu:///system define kvm_image_xp/winxppro.virt-image.xml
エラー: kvm_image_xp/winxppro.virt-image.xml からのドメイン定義に失敗しました
エラー: internal error incorrect root element

むむ、ドメイン定義に失敗

xmlはむしして、virt-install で image を import してみよう。

man virt-install 抜粋

Create a guest from an existing disk image ’mydisk.img’ using defaults
for the rest of the options.

# virt-install \
--name demo
--ram 512
--disk path=/home/user/VMs/mydisk.img
--import


[root@arizona ~]# virt-install --name demo --ram 512 --disk path=kvm_image_xp/winxppro.raw --import
Traceback (most recent call last):
File "/usr/lib/python2.6/logging/handlers.py", line 74, in emit
if self.shouldRollover(record):
File "/usr/lib/python2.6/logging/handlers.py", line 145, in shouldRollover
msg = "%s\n" % self.format(record)
File "/usr/lib/python2.6/logging/__init__.py", line 637, in format
return fmt.format(record)
File "/usr/lib/python2.6/logging/__init__.py", line 428, in format
s = self._fmt % record.__dict__
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 1: ordinal not in range(128)


インストールを開始しています...
ゲストのインストールが完了しました... ゲストを再起動しています。

うーん、起動しない。。 Booting from hard disk ... で止まる。。



qemu-img コマンドでコンバートしてみるかー。

convert [-c] [-e] [-f fmt] filename [-O output_fmt] output_filename
Convert the disk image filename to disk image output_filename using
format output_fmt. It can be optionally encrypted ("-e" option) or
compressed ("-c" option).


[root@arizona vmware_vmdk_xp]# qemu-img convert -f vmdk winxppro.vmdk -O qcow2 winxppro.qemu-img.img

[root@arizona vmware_vmdk_xp]# file winxppro.qemu-img.img
winxppro.qemu-img.img: Qemu Image, Format: Qcow , Version: 2

ちなみに、KVM上で作成したイメージは:

[root@arizona vmware_vmdk_xp]# file /var/lib/libvirt/images/win2003R2.img
/var/lib/libvirt/images/win2003R2.img: x86 boot sector, Microsoft Windows XP MBR, Serial 0x1110111; partition 1: ID=0x7, active, starthead 1, startsector 63, 16755732 sectors, code offset 0xc0

[root@arizona vmware_vmdk_xp]# virt-install --name aaa --ram 512 --disk path=winxppro.qemu-img.img --import
Traceback (most recent call last):
File "/usr/lib/python2.6/logging/handlers.py", line 74, in emit
if self.shouldRollover(record):
File "/usr/lib/python2.6/logging/handlers.py", line 145, in shouldRollover
msg = "%s\n" % self.format(record)
File "/usr/lib/python2.6/logging/__init__.py", line 637, in format
return fmt.format(record)
File "/usr/lib/python2.6/logging/__init__.py", line 428, in format
s = self._fmt % record.__dict__
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 1: ordinal not in range(128)


インストールを開始しています...
ゲストのインストールが完了しました... ゲストを再起動しています。

だめだー。。raw にしてみよう。。

[root@arizona vmware_vmdk_xp]# qemu-img convert -f vmdk winxppro.vmdk -O raw winxppro.qemu-img.raw

[root@arizona vmware_vmdk_xp]# file *.raw
winxppro.qemu-img.raw: x86 boot sector, Microsoft Windows XP MBR, Serial 0x513c513b; partition 1: ID=0x7, active, starthead 1, startsector 63, 16755732 sectors, code offset 0xc0

boot sector とかの情報がでているのでいけるかー。

[root@arizona vmware_vmdk_xp]# virt-install --name zzz --ram 512 --arch=i686 --os-variant=winxp --disk path=winxppro.qemu-img.img --import

ブルースクリーンになるなー。
うーん、、、google であとで調べてみよう。。( google を verb として使うと、I will google how to convert vmdk into KVM's image って感じ ?? )


Steve Vai の Glorious いいなー。。。すげーぞ、Vai 。
Firewall とかもいい :D

Linux: gOS

gOS , KVMにインストールできなかったー。再度ちゃれんじー。。。するかも。
とりあえず、VMWare Server にインストールした。
うん、Ubuntuベースだ。。。

最初 CLI がないぞーって苦戦したー。VM console の左上のメニュー
にあったんだねー。10分くらい格闘した。。どこだーって。

Web 使えれば何でもいいから、このOSでもいいかも。

端末を開こうとしているところ。




エアロの steven が歌っているところ。。steven こけたね。。
重症じゃないみたいで、よかった。。steven ... もう 61歳なんだー。

Linux: ISO のマウント方法

gOS を仮想マシンにインストールしようと思っていて、カーネルのバージョン知りたかったので、
事前チェック。ググってもいいんだけど。
gOSって知らなかったー。

ISOのマウント方法

[root@alaska iso_images]# mount -t iso9660 -o loop gos-space-20080406-1226.iso tmp/

vmlinuz の場所。ubuntu ベースなんだー。

[root@alaska iso_images]# cd tmp/ubuntu/casper/

カーネルのバージョン。

[root@alaska casper]# file vmlinuz
vmlinuz: Linux kernel x86 boot executable bzImage, version 2.6.22-14-generic (buildd@palme, RO-rootFS, root_dev 0x6801, swap_dev 0x1, Normal VGA
[root@alaska casper]#

あとで、インストールしてみよう。

google って動詞でもつかえるんだねー。

www.dictionary.com で調べた結果。

最初の例文おもしろい。。
She googled her high school boyfriends. ( and got many cool boyfriends :D やったね !)

Main Entry: google1
Definition: to search for information about a specific person through the Google search engine
Example: She googled her high school boyfriends.
Etymology: trademark Google
Usage: googling n

Main Entry: google2
Definition: to search for information on the Internet, esp. using the Google search engine
Example: We googled to find the definition of the new word.
Etymology: trademark Google
Usage: googling n

DNS: ストレスツール dnsperf , resperf

Fedora のパッケージに dnsperf ってのがあったので使ってみたー。

[root@arizona ~]# yum list | grep dnsperf
dnsperf.i586 1.0.1.0-10.fc11 @updates

resperf-report ってのを使うと結果をグラフ化してくれる~。

arizona ( 負荷ツール ) --- alaska ( 192.168.1.200 , BIND 9.6.1-P1 )

[root@alaska ~]# named -v
BIND 9.6.1-P1-RedHat-9.6.1-4.P1.fc11

こんな感じで負荷をかける。
-s サーバ -d クエリリスト -m QPS最大値

-m 1000 = 1000qps まで負荷をあげていく

[root@arizona ~]# resperf-report -s 192.168.1.200 -d queryfile-example-100thousand -m 1000
Done, report is in xxxx.html
[root@arizona ~]#

-- result

Resperf output

DNS Resolution Performance Testing Tool

Nominum Version 1.0.1.0

[Status] Sending
[Status] Waiting for more responses
[Status] Testing complete

Statistics:

Queries sent: 29999
Queries completed: 13496
Queries lost: 16503
Ran for: 100.000007 seconds
Maximum throughput: 602.000000 qps
Lost at that point: 29.67%





途中からこんなメッセージがでた。
なんだろー。応答ないからあきらめたーってこと??

named[3407]: operation canceled resolving 'xx.xx.xx.xx/A/IN': x.x.x.x#53

[root@alaska data]# egrep 3407 /var/log/messages | grep cancel | wc -l
122194

not fly ESX 4 within KVM...

できるかトライ。
結果は。。。 NG 。リブートくりかえすー。

vmdk を KVMのVMイメージに変換。

[root@arizona ~]# file Virtual\ Machine.vmdk
Virtual Machine.vmdk: VMware4 disk image

では、変換。

変換方法は下記を参照。

http://blog.bodhizazen.net/linux/convert-vmware-vmdk-to-kvm-qcow2-or-virtualbox-vdi/

[root@arizona ~]# qemu-img convert

Virtual\ Machine.vmdk -O qcow2 esx4-copy.img
[root@arizona ~]# echo $?
0
[root@arizona ~]#

一応、コマンドはエラーなく処理された。

[root@arizona ~]# file esx4-copy.img
esx4-copy.img: Qemu Image, Format: Qcow , Version: 2

では起動。。できるか~。。。

go!

[root@arizona ~]# qemu-kvm -m 2047 -hda esx4-copy.img

だめだー、リブート繰り返すー。



rawイメージでもだめだー。リブートくりかえすー。

[root@arizona ~]# file raw-esx4-copy.img
raw-esx4-copy.img: x86 boot sector; partition 1: ID=0x5, starthead 0, startsector 8192, 1835008 sectors; partition 2: ID=0x6, starthead 0, startsector 1843200, 8386560 sectors; partition 3: ID=0xfb, starthead 63, startsector 10229760, 115599360 sectors; partition 4: ID=0x4, active, starthead 1, startsector 32, 8160 sectors, code offset 0x31

そういえば、ESX用の xml ファイル作成してないなー。。

[root@arizona qemu]# pwd
/etc/libvirt/qemu

VMWare の vmx に該当するファイル。。

[root@arizona qemu]# ls
centos4.xml networks win2003R2.xml winxppro-vm.xml

install ESX 4 within VMWare Server 2

ESX をインストールできる条件を満たすPCを持っていないので、VMWare Server 上に ESX をインストールした
のでメモメモ。
もち、サポート外。

- 条件

BIOS , CPUが VT に対応していること。
ESX用 (VM ) にメモリを2GB以上アサインできること ( 2GB以下だと、インストール中にメモリが足りんぞーって怒られる )
vmx ファイルに下記を記述する。

--
monitor_control.enable_svm = "true" <- 追加 for AMD's CPU
monitor_control.restrict_backdoor = "true" <-追加
--

Intel CPU の場合は monitor_control.enable_vt32 = "true"
とする。

ではトライ

OS: Win XP Pro 32bit
VMWare Server 2
CPU: AMD Athlon 64 x2
total memory: 4GB ( 実際は 3GB ちょい認識だけど、4GBのメモリが入ってる )

インストール中の画面




インストール後。ESX が起動した画面。 
上の画像と見た目があまり変わらないので違いがわかりにくい。。。



ちなみに、vmx ファイルはこんな感じ~。

--
.encoding = "Shift_JIS"
config.version = "8"
virtualHW.version = "7"
floppy0.present = "false"
mks.enable3d = "true"
pciBridge0.present = "true"
pciBridge4.present = "true"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "true"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "true"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "true"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
vmci0.present = "true"
nvram = "Virtual Machine.nvram"
virtualHW.productCompatibility = "hosted"
ft.secondary0.enabled = "true"
tools.upgrade.policy = "useGlobal"
powerType.powerOff = "soft"
powerType.powerOn = "hard"
powerType.suspend = "hard"
powerType.reset = "soft"

displayName = "Virtual Machine"
extendedConfigFile = "Virtual Machine.vmxf"

scsi0.present = "true"
scsi0.sharedBus = "none"
scsi0.virtualDev = "lsilogic"
memsize = "2048"
scsi0:0.present = "true"
scsi0:0.fileName = "Virtual Machine.vmdk"
scsi0:0.writeThrough = "true"
ide1:0.present = "true"
ide1:0.fileName = "G:\storage1\VMware-VMvisor-Installer-4.0.0-171294.x86_64.iso"
ide1:0.deviceType = "cdrom-image"
ide1:0.allowGuestConnectionControl = "false"
ethernet0.present = "TRUE"
ethernet0.allowGuestConnectionControl = "FALSE"
ethernet0.virtualDev = "e1000"
ethernet0.features = "1"
ethernet0.wakeOnPcktRcv = "false"
ethernet0.networkName = "Bridged"
ethernet0.addressType = "generated"
guestOS = "otherlinux-64" <- VM の OS は other linux 64bit
uuid.location = "56 4d 97 72 87 0e b3 19-6d 3c a8 86 48 34 9d a1"
uuid.bios = "56 4d 97 72 87 0e b3 19-6d 3c a8 86 48 34 9d a1"
vc.uuid = "52 8b 5c 15 ff 8f 06 23-38 7c 00 9a 9a ce df 25"

monitor_control.enable_svm = "true" <- 追加したよー
monitor_control.restrict_backdoor = "true" <- 追加したよー

ethernet0.generatedAddress = "00:0c:29:34:9d:a1"
scsi0:0.redo = ""
vmotion.checkpointFBSize = "134217728"
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
scsi0.pciSlotNumber = "16"
ethernet0.pciSlotNumber = "32"
vmci0.pciSlotNumber = "33"
ethernet0.generatedAddressOffset = "0"
vmci0.id = "1211407777"

tools.remindInstall = "TRUE"
--

久々に steve vai 聞いたら、これまたさいこー。
ultra zone いいなー。。Jibboom とか、Asian sky とか、など、etc , and so on...
just go for it !

Asian sky の歌詞に出てくる中国語(?) 、なんて言ってるんだろー。
n' i , in the asian sky !!!

Cheers!

KVM vswitch 調査中

VMWare ESX の vSwitch って、SPAN , ACL とかできないんだー。
tagged VLAN とかはできるのに。。インテリジェントなL2スイッチかと
思いきや、そうでもないんだー。
それを補うために、Cisco の Nexus 1000V がリリースされたんだろうけど。。

ちなみに、KVMはどうなんだろー。

VMを2つ起動したら、vnet0 , vnet1 ってのができた。

[root@arizona ]# ifconfig | egrep -e 'vnet0|vnet1'
vnet0 Link encap:Ethernet HWaddr D6:65:CA:B8:80:D7
vnet1 Link encap:Ethernet HWaddr 9A:5F:A0:C7:94:84

vnet0 は最初に起動したVM ( CentOS )
vnet1 は次に起動したVM ( Win XP )

これが、virbr0 と接続(?)されてるから、VM間で通信ができる
ってことなのかな。

[root@arizona ]# ifconfig | grep vir
virbr0 Link encap:Ethernet HWaddr 9A:5F:A0:C7:94:84

eth0 -- virbr0 -- vnet0 ( CentOS )
-- vnet1 ( WinXP )

ってイメージ??

ちゃんとマニュアル読めって?

vnet0 & vnet1 キャプチャしてみると、スパツリが動いている。

[root@arizona ~]# tshark -i vnet0 | grep -i spanning
Running as user "root" and group "root". This could be dangerous.
Capturing on vnet0
1.396301 d6:65:ca:b8:80:d7 -> Spanning-tree-(for-bridges)_00 STP Conf. Root = 32768/0/9a:5f:a0:c7:94:84 Cost = 0 Port = 0x8001

[root@arizona ~]# tshark -i vnet1
Running as user "root" and group "root". This could be dangerous.
Capturing on vnet1
0.000000 9a:5f:a0:c7:94:84 -> Spanning-tree-(for-bridges)_00 STP Conf. Root = 32768/0/9a:5f:a0:c7:94:84 Cost = 0 Port = 0x8002

vnet0 , vnet1 って vSwitch ??
virbr0 も vSwitch ??

スパツリ動いているってことは、もし動いていなかったら、
vnet0 と vnet1 でループが発生する ??

[root@arizona ~]# ifconfig | grep -i "9a:5f"
virbr0 Link encap:Ethernet HWaddr 9A:5F:A0:C7:94:84
vnet1 Link encap:Ethernet HWaddr 9A:5F:A0:C7:94:84

virbr0 と vnet0 の MAC が一緒だ。。うーんようわからん。。

WinXP ( 126 ) -> CentOS ( 222 ) に ping 打ってるときにキャプチャすると
vnet0 , vnet1 , virbr0 の全部でパケットとれるなー。
どこでとるのが正しいんだ?? 同じネットワークに属しているから
どこでも同じなのかな。。別ネットワーク作ってためしてみよう。。。いつか。。

[root@arizona ~]# tshark -i vnet0 icmp
Running as user "root" and group "root". This could be dangerous.
Capturing on vnet0
0.000000 192.168.122.126 -> 192.168.122.222 ICMP Echo (ping) request
0.000727 192.168.122.222 -> 192.168.122.126 ICMP Echo (ping) reply
1.015775 192.168.122.126 -> 192.168.122.222 ICMP Echo (ping) request
1.016211 192.168.122.222 -> 192.168.122.126 ICMP Echo (ping) reply
^C4 packets captured
[root@arizona ~]# tshark -i vnet1 icmp
Running as user "root" and group "root". This could be dangerous.
Capturing on vnet1
0.000000 192.168.122.126 -> 192.168.122.222 ICMP Echo (ping) request
0.000403 192.168.122.222 -> 192.168.122.126 ICMP Echo (ping) reply
0.999822 192.168.122.126 -> 192.168.122.222 ICMP Echo (ping) request
1.000599 192.168.122.222 -> 192.168.122.126 ICMP Echo (ping) reply
^C4 packets captured
[root@arizona ~]# tshark -i virbr0 icmp
Running as user "root" and group "root". This could be dangerous.
Capturing on virbr0
0.000000 192.168.122.126 -> 192.168.122.222 ICMP Echo (ping) request
0.000681 192.168.122.222 -> 192.168.122.126 ICMP Echo (ping) reply
0.999804 192.168.122.126 -> 192.168.122.222 ICMP Echo (ping) request
1.000789 192.168.122.222 -> 192.168.122.126 ICMP Echo (ping) reply
^C4 packets captured
[root@arizona ~]#

もち、eth0 , lo ではicmpパケットはとれない。

[root@arizona ~]# tshark -i eth0 icmp
Running as user "root" and group "root". This could be dangerous.
Capturing on eth0
^C0 packets captured
[root@arizona ~]# tshark -i lo icmp
Running as user "root" and group "root". This could be dangerous.
Capturing on lo
^C0 packets captured
[root@arizona ~]#


vsftp

vsftpd ( Very Secure FTP Daemon の略らしい )

Fedora 11

[root@alaska ~]# yum install -y vsftpd.i586

日本語の man vsftp だと

[root@alaska ~]# man vsftpd

名前
vsftpd - とても安全な FTP デーモン

とても安全なFTPデーモン。。。

proftp のほうが使い慣れているので好きだなー。
あと proftpLDAP と連携できるので。

vsftpLDAP を連携する場合は、PAMをかます必要がある。

[root@alaska ~]# less /usr/share/doc/vsftpd-2.1.2/FAQ

Q) Help! How do I integrate with LDAP users and logins?
A) Use vsftpd's PAM integration to do this, and have PAM authenticate against
an LDAP repository.


vsftpdxinetd 経由で起動させよう。

xinetdから vsftpd を起動するための xinetdの設定を /etc/xinetd.d/ ディレクトリ下にコピー

[root@alaska ~]# cp /usr/share/doc/vsftpd-2.1.2/vsftpd.xinetd /etc/xinetd.d/vsftpd

- fly vsftpd via xinetd

disable = yes を disable = no にする。

[root@alaska ~]# cat /etc/xinetd.d/vsftpd
# default: off
# description: The vsftpd FTP server serves FTP connections. It uses \
# normal, unencrypted usernames and passwords for authentication.
service ftp
{
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd
server_args = /etc/vsftpd/vsftpd.conf
nice = 10
disable = no
#disable = yes
flags = IPv4
}
[root@alaska ~]#

xinetd がインストールされていないみたいなので、xinetd をyum でインストール。

[root@alaska vsftpd]# yum install -y xinetd.i586

- vsftpd.conf

vsftpd.conf はこんな感じ。

[root@alaska vsftpd]# egrep -v "^#" vsftpd.conf
local_enable=YES <- ローカルユーザのログインを許可する
write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to FTP service.
chroot_list_enable=YES <- ログインしたときに chroot する
chroot_list_file=/etc/vsftpd/chroot_list <- chrootさせるユーザを記述したファイル
listen=NO <- xinetd 経由で起動

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
[root@alaska vsftpd]#

chroot ユーザのリストファイルを作成する

[root@alaska vsftpd]# cat chroot_list
xxxxxx <- ユーザ名

[root@alaska vsftpd]# /etc/init.d/xinetd restart


xinetd 経由で起動するようになっている。

[root@alaska vsftpd]# lsof -i:21
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
xinetd 2318 root 5u IPv4 10639 0t0 TCP *:ftp (LISTEN)

[root@alaska vsftpd]# ftp 127.1
Connected to 127.1 (127.0.0.1).
220 Welcome to FTP service.
Name (127.1:root): xxxx <- ユーザ名
331 Please specify the password.
Password:xxxx <- credentials
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/"
ftp> bye

ログインさせないユーザのリストとか記述できる。
たしかに secure なのかも。。

[root@alaska vsftpd]# cat ftpusers
# Users that are not allowed to login via ftp
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

[root@alaska vsftpd]# cat user_list
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

ためしに、root でログインしようとしたらはじかれることを確認。

[root@alaska ~]# ftp 127.1
Connected to 127.1 (127.0.0.1).
220 Welcome to FTP service.
Name (127.1:root): root
530 Permission denied.
Login failed.
ftp> bye
221 Goodbye.
[root@alaska ~]#

拒否された。Ok !

うーん、、、やっぱり proftpd のほうが好きかもー。慣れかなー。

とりあえず、get things done :D

stevie salas の set it on blast ちょーヘビーローテーションだー。
#4の OMG もいいなー。
oh my god make me week ...


Fedora 11 KVM: guest Win 2003 Server R2 ( 32 bit )

Fedora 11 KVM

Host: Fedora
Guest: Win2003 Server R2 ( 32bit )

[root@arizona ]# ln -s win2003R2_disk1.iso tmp.iso

CDが2枚なので、CDをいれかえろーっていわれたときに、シンボリックリンクを貼り替える。

[root@arizona ]# ls -l tmp.iso
lrwxrwxrwx 1 root root tmp.iso -> win2003R2_disk1.iso
[root@arizona ]#

isoは tmp.iso を指定しておく。



2003起動 ( まだ R2 じゃないよ )

んで下記の表示が出たら、ディスクを入れ替える( disk1 -> disk2 へ)

これはシンボリックリンクをはりかえればOK


はりかえ前。

[root@arizona ]# ls -l tmp.iso
lrwxrwxrwx 1 root root tmp.iso -> win2003R2_disk1.iso

いったん tmp.iso を削除する

[root@arizona ]# ln -s win2003R2_disk2.iso tmp.iso
ln: creating symbolic link `tmp.iso': ファイルが存在します
[root@arizona ]# rm tmp.iso
rm: remove シンボリックリンク `tmp.iso'? y

disk2 にシンボリックリンクをはる

[root@arizona ]# ln -s win2003R2_disk2.iso tmp.iso
[root@arizona ]# ls -l tmp.iso
lrwxrwxrwx 1 root root tmp.iso -> win2003R2_disk2.iso
[root@arizona ]#

OK はクリックせずに、いったんキャンセル。
シンボリックリンクのファイル ( tmp.iso ) をいったん削除して、はりかえて OK すると、
エラーになる。
そんなのないぞーって。
たぶん、起動時に tmp.iso は disk1 を参照していて、その状態を
保っているから、VM起動中に tmp.iso を disk2にはりかえてもダメなのかなー。
たぶん、おそらく、maybe , i think , i guess ...

その後、マイコンピュータ -> Disk クリックして、 R2 へアップグレード。

CD-ROMドライブがあるのなら、iso じゃなくて、メディア入れ替えてもいいんだけど。。



R2になった。わーい。


page & plant の walking into clarksdale いいなー。
また、アルバムだしてくれないかなー。
んー、でも plant がソロでがんばってるし、もう Zep やりたくなさそうだし。
plant のソロも好きだけど~。

I knew you, I touched you :)
When the world was young :D

Cheers!

Fedora 11 KVM : Host Fedora 11 , Guest WinXP Pro

Fedora 11 KVM ( Kernel-based Virtual Machine )

Host OS: Fedora 11 ( 32 bit )
Guest OS: Win XP Pro ( 32bit )

[root@arizona ~]# uname -r
2.6.29.6-217.2.3.fc11.i686.PAE

Fedora 11 64bit版にしようかなー、と迷い中の今日この頃。

AMDの場合、/proc/cpuinfo の flags に svm があれば、VTに対応していることになる。
表示されない場合は、BIOS で Virtualization が有効になっているか , CPU がVT対応か、確認してね~。

cpuinfo

[root@arizona ~]# cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 107
model name : AMD Athlon(tm) 64 X2 Dual Core Processor 4800+
stepping : 1
cpu MHz : 1000.060
cache size : 512 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch
bogomips : 2000.12
clflush size : 64
power management: ts fid vid ttp tm stc 100mhzsteps

processor : 1
vendor_id : AuthenticAMD
cpu family : 15
model : 107
model name : AMD Athlon(tm) 64 X2 Dual Core Processor 4800+
stepping : 1
cpu MHz : 1000.060
cache size : 512 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 1
initial apicid : 1
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch
bogomips : 1999.58
clflush size : 64
power management: ts fid vid ttp tm stc 100mhzsteps

[root@arizona ~]#


仮想化環境のインストール

[root@arizona ~]# yum -y groupinstall "Virtualization"

win xp の iso は下記にある。
もちろん、CD-ROM ドライブを指定してインストールしてもOK

[root@arizona ~]# file /root/winxppro.iso
/root/winxppro.iso: ISO 9660 CD-ROM filesystem data 'X1APVOL_JA ' (bootable)

仮想マシンマネージャの起動 ( アプリケーション -> システムツール -> 仮想マシンマネージャ )

仮想マシンを作成

壁紙かっこいいでしょ? ( backyard babies :D )




インストール中



again .. 壁紙 backyard babies .. ドレゲン(ギター)さいこー。


インストールが完了するまでしばし待つ。。30分くらいかな。。

こんな感じー

dd コマンドで bootable な iso イメージを作成する方法

mkisofs でbootable な iso を作ろうとしたらうまくいかーん。
でも、ddで簡単に作れた。。

Win XP Pro のメディア(CD-ROM)をドライブに挿入。
このメディアはbootable。

[root@arizona iso_images]# dd if=/dev/cdrom of=winxppro.iso
1194572+0 records in
1194572+0 records out
611620864 bytes (612 MB) copied, 133.929 s, 4.6 MB/s
[root@arizona iso_images]#

出来上がりー。

[root@arizona iso_images]# file winxppro.iso
winxppro.iso: ISO 9660 CD-ROM filesystem data 'X1APVOL_JA ' (bootable)
[root@arizona iso_images]#

file コマンドで (bootable) ってなっていればOK!

Extreme の 3rd もいいなー。
Peacemaker die ! ... 途中、キング牧師のスピーチが。
I have a dream this afternoon ...

peacemaker die ! i don't know why ...

最小公倍数 ( least common multiple )

ふと、電車で小学生(中学生かも?)が、算数(数学?)の問題集を読んでいて、
最小公倍数という文字が。。。

なつかしー。。最小公倍数って聞いたの何年ぶりだろう。。

と言うわけで、python で書いてみました。

ロジックは:

math90さんのブログを引用させていただきました。

http://math90.exblog.jp/323591/

-- ここから

小学校の最小公倍数の求め方は
「大きいほうの数字の倍数が、小さいほうで割り切れる数で一番小さい数」
と言うことになります。

たとえば、18と42 の最小公倍数なら
    42×1=42    42÷18 は割り切れないので   ×
    42×2=84    84÷18 は割り切れないので   ×
    42×3=126   126÷18 は割り切れるので    ○
より、最小公倍数は 126 と探します。

-- ここまで

なるほど。。

んで、python で書くと、こんな感じ~。。かな。

interactive mode で起動し、関数( leastcommon ) を作成

[root@arizona ~]# python
>>> def leastcommon(a,b):
... c = max(a,b)
... d = min(a,b)
... counter = 1
... while 1:
... if ( c * counter ) % d == 0:
... print c * counter
... break
... else:
... counter += 1
...
>>>
>>>

ではテスト。

>>> leastcommon(18,42)
126 ← 18 と 42 の LCM
>>> leastcommon(3439,34283908084)

117902359900876 ← たぶんあってるんだろう。。。

KISSのベストいいなー。名曲だらけ~。ギターで弾いても楽しい~。
Detroit rock city ... You gotta lose your mind in Detroit Rock City
!!

Cheers!

ISC-DHCP , dhcping

ISC DHCP

なんとなく、DHCPサーバをさわったのでメモ。

alaska: dhcpd ( ISC-DHCP 4.1.0 )
arizona: client ( dhcping )

arizona ( dhcping ) <--> alaska ( dhcpd )

- ISC-DHCP の設定

[root@alaska ~]# yum install -y dhcp.i586

ドキュメントは下記。サンプルコンフィグもある。
ldap用のスキーマもあるなー。
いつか、dhcp と ldap の連携テストしてみたいなー。いつか、、、いつかは、TBD..

[root@alaska ~]# ls /usr/share/doc/dhcp-4.1.0/*
/usr/share/doc/dhcp-4.1.0/3.0b1-lease-convert
/usr/share/doc/dhcp-4.1.0/IANA-arp-parameters
/usr/share/doc/dhcp-4.1.0/LICENSE
/usr/share/doc/dhcp-4.1.0/README
/usr/share/doc/dhcp-4.1.0/README.ldap
/usr/share/doc/dhcp-4.1.0/RELNOTES
/usr/share/doc/dhcp-4.1.0/References.txt
/usr/share/doc/dhcp-4.1.0/api+protocol
/usr/share/doc/dhcp-4.1.0/dhclient-tz-exithook.sh
/usr/share/doc/dhcp-4.1.0/dhcpd-conf-to-ldap
/usr/share/doc/dhcp-4.1.0/dhcpd.conf.sample
/usr/share/doc/dhcp-4.1.0/draft-ietf-dhc-ldap-schema-01.txt
/usr/share/doc/dhcp-4.1.0/sethostname.sh
/usr/share/doc/dhcp-4.1.0/solaris.init

/usr/share/doc/dhcp-4.1.0/ms2isc:
Registry.perlmodule ms2isc.pl readme.txt

サンプルコンフィグをもとに、dhcpd.conf を作成。

[root@alaska ~]# cp /usr/share/doc/dhcp-4.1.0/dhcpd.conf.sample /etc/dhcp/
[root@alaska ~]# cd /etc/dhcp/
[root@alaska dhcp]# mv dhcpd.conf org.dhcpd.conf
[root@alaska dhcp]# cp dhcpd.conf.sample dhcpd.conf

[root@alaska dhcp]# egrep -v "^#" /etc/dhcp/dhcpd.conf

option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;

default-lease-time 600;
max-lease-time 7200;


subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.1 10.0.0.100;
option domain-name-servers ns1.internal.example.org;
option domain-name "internal.example.org";
option routers 10.0.0.254;
option broadcast-address 10.0.0.255;
default-lease-time 600;
max-lease-time 7200;
}

起動

[root@alaska dhcp]# /etc/init.d/dhcpd start
dhcpd を起動中: [失敗]

エラーがでた。

No subnet declaration for eth0 (192.168.1.200).

eth0が 192.168.1.200 ( 192.168.1.0/24 ) なのに、subnet が 10.0.0.0 となっているから
いけないのかな。。

[root@alaska dhcp]# ifconfig eth0 | grep "1.200"
inet addr:192.168.1.200 Bcast:192.168.1.255 Mask:255.255.255.0
修正

- dhcpd.conf

#subnet 10.0.0.0 netmask 255.255.255.0 {
subnet 192.168.1.0 netmask 255.255.255.0 {
# range 10.0.0.1 10.0.0.100;
range 192.168.1.10 192.168.1.50;
# option domain-name-servers ns1.internal.example.org;
# option domain-name "internal.example.org";
# option routers 10.0.0.254;
option routers 192.168.1.254;
# option broadcast-address 10.0.0.255;
option broadcast-address 192.168.1.255;
default-lease-time 600;
max-lease-time 7200;
}

起動した。自分の属していないネットワークのレンジ書くのどうやるんだっけなー。。忘れた。。
ルータ越えで、dhcp relay とかやってるとき、自分の属していないネットワークレンジ書くだろうし。。
まぁ後でいいや。

- 動作確認

動作確認には、dhcping というのが便利!

[root@arizona ~]# yum install -y dhcping

dhcping - send a DHCP request to DHCP server to see if it’s up and running

SYNOPSIS
dhcping [-v] [-q] [-i] [-r] -t maxwait -c client-IP-address -s server-
IP-address -h client-hardware-address [-g gateway-IP-address]

gid ( gateway address ) も指定できる。

ではテスト。

あら、no answer

[root@arizona ~]# dhcping -v -s 192.168.1.200
no answer

dhcpd のログ。

んん?、not authoritative ...

alaska dhcpd: DHCPREQUEST for 0.0.0.0 from 00:00:00:00:00:00 via eth0: ignored (not authoritative)

dhcpingマシンのIP,H/W address を指定して、try again.

[root@arizona ~]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:1D:60:77:A1:38
inet addr:192.168.1.150 Bcast:192.168.1.255 Mask:255.255.255.0

unknown lease ってことは、range 外の IP ( i.e. 192.168.1.150 ) を要求しているってことかな。。

alaska dhcpd: DHCPREQUEST for 192.168.1.150 from 00:1d:60:77:a1:38 via eth0: unknown lease 192.168.1.150.

では、レンジ内のIPに変更。

[root@arizona ~]# dhcping -c 192.168.1.10 -h 00:1D:60:77:A1:38 -s 192.168.1.200

おっ、dhcpdが、DHCPACKかえした。

alaska dhcpd: DHCPREQUEST for 192.168.1.10 from 00:1d:60:77:a1:38 via eth0
alaska dhcpd: DHCPACK on 192.168.1.10 to 00:1d:60:77:a1:38 via eth0

-V を指定すると、詳細が表示される。

[root@arizona ~]# dhcping -V -c 192.168.1.10 -h 00:1D:60:77:A1:38 -s 192.168.1.200
setup
request
packet 250 bytes
01 01 06 00 06 61 78 4a 00 00 00 00 c0 a8 01 0a
00 00 00 00 00 00 00 00 00 00 00 00 00 1d 60 77
a1 38 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 63 82 53 63
35 01 03 32 04 c0 a8 01 0a ff
op: 1
htype: 1
hlen: 6
hops: 0
xid: 0661784a
secs: 0
flags: 0
ciaddr: 192.168.1.10
yiaddr: 0.0.0.0
siaddr: 0.0.0.0
giaddr: 0.0.0.0
chaddr: 00:1d:60:77:a1:38:00:00:00:00:00:00:00:00:00:00
sname : .
fname : .
option 53 DHCP message type
DHCP message type: 3 (DHCPREQUEST)
option 50 Request IP address
Requested IP address: 192.168.1.10

続きはまたいつか。。TBD...

Extremeの cynical かっこいいなー。リフがかっこいい。。
さすが、ぬ~の べってんこ~と。
とてもじゃないけど、弾けない。。。

cynical, all you need is love
...

英語: 接頭語 mal

mal って、ラテン語起源のmal「悪・不良」の意味になるみたい。
悪い意味。

例えば、

malfunction
maladapted
malicious
malformed

とかってわるい意味。逆の接頭語は well 。
なるほどー。
自分は、malfunction にかんしては、malfunction ではなく、dysfunction って使ってるなー。

たまーに語源とか勉強するのもいい感じ。。。でも、文法嫌いー。。。
たばこのマルボロ(マールボロ)は、malboro ではなく、marlboro...
Zep の Jimmy Page といえば、赤マ~ルボロ。。今も吸ってるのかなー。

lsofコマンド: ポートをつかんでいるプロセスを調べる方法 or vice versa

めもー。

lsof コマンドでポートをつかんでいるプロセスや、プロセスがひらいているファイルを
調べられる。

like this:

53番ポートをつかんでいるプロセス。

[root@arizona ~]# lsof -i:53
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
dnsmasq 1831 nobody 6u IPv4 7134 0t0 TCP 192.168.122.1:domain (LISTEN)
dnsmasq 1831 nobody 7u IPv4 7135 0t0 UDP 192.168.122.1:domain

ちなみに dnsmasq とは 簡易 dns , dhcp サーバ。仮想環境でVM(Virtual Machine)に
IPの付与、名前解決などのサービスを提供するデーモン。

[root@arizona ~]# lsof -i:53
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
dnsmasq 1831 nobody 6u IPv4 7134 0t0 TCP 192.168.122.1:domain (LISTEN)
dnsmasq 1831 nobody 7u IPv4 7135 0t0 UDP 192.168.122.1:domain
PID 1831 ( i.e. dnsmasq ) がひらいているファイルを表示

[root@arizona ~]# lsof -p 1831
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
dnsmasq 1831 nobody cwd DIR 8,3 4096 2 /
dnsmasq 1831 nobody rtd DIR 8,3 4096 2 /
dnsmasq 1831 nobody txt REG 8,3 157700 8783702 /usr/sbin/dnsmasq
dnsmasq 1831 nobody mem REG 8,3 152952 5087678 /lib/ld-2.10.1.so
dnsmasq 1831 nobody mem REG 8,3 1803388 5087680 /lib/libc-2.10.1.so
dnsmasq 1831 nobody mem REG 8,3 17812 5088776 /lib/libattr.so.1.1.0
dnsmasq 1831 nobody mem REG 8,3 15924 5087792 /lib/libcap.so.2.16
dnsmasq 1831 nobody mem REG 8,3 261756 5087793 /lib/libdbus-1.so.3.4.0
dnsmasq 1831 nobody mem REG 8,3 55540 5087443 /lib/libnss_files-2.10.1.so
dnsmasq 1831 nobody 0u CHR 1,3 0t0 484 /dev/null
dnsmasq 1831 nobody 1u CHR 1,3 0t0 484 /dev/null
dnsmasq 1831 nobody 2u CHR 1,3 0t0 484 /dev/null
dnsmasq 1831 nobody 3u sock 0,4 0t0 7128 can't identify protocol
dnsmasq 1831 nobody 4u REG 8,3 0 6816263 /var/lib/dnsmasq/dnsmasq.leases
dnsmasq 1831 nobody 5u IPv4 7129 0t0 UDP *:bootps
dnsmasq 1831 nobody 6u IPv4 7134 0t0 TCP 192.168.122.1:domain (LISTEN)
dnsmasq 1831 nobody 7u IPv4 7135 0t0 UDP 192.168.122.1:domain
dnsmasq 1831 nobody 8r FIFO 0,6 0t0 7140 pipe
dnsmasq 1831 nobody 9w FIFO 0,6 0t0 7140 pipe
dnsmasq 1831 nobody 10u unix 0xf4506c40 0t0 7143 socket
[root@arizona ~]#

Def Leppard ベストいいなー。でも最近のアルバムかってないなー。
ちょっとマンネリ気味。。でも好きだー。
hysteria さいこー。アルペジオがいいなー。