follow me

ESXiで可変長ディスクイメージ

VMware ServerからESXiに乗り換えた後、つらかったのがディスクイメージ形式。
ESXiでは、仮想マシンに割り当てたディスク領域が、割り当てた時点から使用されてしまう為、検証環境を作り始めたらすぐにディスクがいっぱいになってしまいます。
で、調べてみました。
VMware WorkstationやVMware Serverの様に、使用領域しかディスクを消費しない方法がありました。(Shrinkは出来るか未確認です。)

ディスクイメージを作成する際に、コマンドでイメージタイプを指定して作成します。
この方法は、SSHを使用できる様にするか、VMware Infrastructure Remote CLIの導入が必要になります。

コマンドは、こんな感じで実行します。
# vmkfstools --createvirtualdisk +16G --diskformat thin 
/vmfs/volumes/4927d7c1-b1318e4f-d21f-001a4bb0d9e7/Tivoli/Tivoli.vmdk
オプションはこんな感じ。
# vmkfstools
OPTIONS FOR FILE SYSTEMS:

vmkfstools -C --createfs vmfs3
               -b --blocksize #[mMkK]
               -S --setfsname fsName
           -Z --extendfs extension-partition
   deviceName

           -P --queryfs -h --humanreadable
           -T --tovmfs3
               -x --upgradetype [zeroedthick|eagerzeroedthick|thin]
           -u --upgradefinish
   vmfsPath

OPTIONS FOR VIRTUAL DISKS:

vmkfstools -c --createvirtualdisk #[gGmMkK]
               -d --diskformat [zeroedthick|
                                eagerzeroedthick|
                                thick|
                                thin]
               -a --adapterType [buslogic|lsilogic]
           -w --writezeros
           -j --inflatedisk
           -U --deletevirtualdisk
           -E --renamevirtualdisk srcDisk
           -i --clonevirtualdisk srcDisk
               -d --diskformat [rdm:|rdmp:|
                                raw:|thin|2gbsparse|
                                monoflat|monosparse]
           -X --extendvirtualdisk #[gGmMkK]
           -M --migratevirtualdisk
           -r --createrdm /vmfs/devices/disks/...
           -q --queryrdm
           -z --createrdmpassthru /vmfs/devices/disks/...
           -v --verbose #
           -g --geometry
           -J --miscop [setuuid | getuuid]
   vmfsPath

OPTIONS FOR DEVICES:

vmkfstools -s --scan adapterName
           -L --lock [reserve|release|lunreset|targetreset|busreset] /vmfs/devices/disks/...

For more information, please run 'man vmkfstools' to refer to the online manual.

指定できるディスクイメージタイプは4種類あり、個人的にはThinが一番利用しやすいです。
各イメージ形式の特徴は以下の様になります。

Thick(シック)
シック ディスクには、作成時にすべての領域が割り当てられます。
使用中に最適な I/O レイテンシーが得られますが、作成時に物理メディア上に存在していた古いデータが含まれている場合があるため、セキュリティ面での問題がある可能性があります。

Eager zeroed
Eager zeroed のシックディスクは、作成時にすべての領域が割り当てられた後、ゼロで全て埋められます。
作成時間は長くなりますが、最適なパフォーマンスとより高いセキュリティが得られます。

Lazy zeroed
一度もアクセスされたことが無かったブロックに対して初めてWrite I/O が発生したときは、まずそこをゼロで埋め、その後データの書き込みを行います。それ以降の書き込み処理はシックおよび Eager zeroed と同じパフォーマンスが得られます。

Thin(シン)
シンプロビジョニング仮想ディスクに必要な領域が割り当てられ、作成時にではなくオン デマンドで消去されます。
未書き込みファイルブロックへの最初の書き込み時のI/O パフォーマンスの低下は大きくなりますが、それ以降の書き込みでは、シックおよび Eager zeroed と同じパフォーマンスが得られます。
follow me

ESXiでも準仮想化

ESXiでも準仮想化を利用する事が可能です。
デフォルトでは有効になっていない為、仮想マシンを作成した際にオプションを変更する必要があります。
変更箇所は、以下のチェックをつけます。
VM -> Edit Settings
Options -> Advanced -> Paravirtualization -> Support VMI Paravirtualization

完全仮想化より、パフォーマンスは上がるはず。
起動完了までの時間は、たしかに準仮想化の方が早かったです。
ちなみに、ゲストOSはUbuntu JeOS 8.10です。
dmesg結果から、準仮想化で動いているか確認できます。

■準仮想化(dmesg結果)
[    0.244030] CPU0: AMD Dual-Core AMD Opteron(tm) Processor 1210 stepping 03
[    0.244189] Brought up 1 CPUs
[    0.244194] Total of 1 processors activated (3600.00 BogoMIPS).
[    0.244476] CPU0 attaching sched-domain:
[    0.244481]  domain 0: span 0 level CPU
[    0.244485]   groups: 0
[    0.244920] net_namespace: 840 bytes
[    0.244944] Booting paravirtualized kernel on vmi
■完全仮想化(dmesg結果)
[    0.341725] CPU0: AMD Dual-Core AMD Opteron(tm) Processor 1210 stepping 03
[    0.350000] Brought up 1 CPUs
[    0.350000] Total of 1 processors activated (3599.99 BogoMIPS).
[    0.350000] CPU0 attaching sched-domain:
[    0.350000]  domain 0: span 0 level CPU
[    0.350000]   groups: 0
[    0.350000] net_namespace: 840 bytes
[    0.350000] Booting paravirtualized kernel on bare hardware
follow me

OracleJeOSでyumを

Oracle Enterprise Linux JeOSの為のyumリポジトリを作ろうと調べてみました。
OTNでそれらしい資料「 Yumリポジトリの設定」見つけました。
rep_populate.shってスクリプトを利用する事で、yumリポジトリを作成できるのですが、有効なCSI番号が必要な為、実施できず。

RedHat Enterpriseを元に作成されてる訳だし、CentOSを元に同じパッケージ構成環境を作れば同等環境になるのだろうか。。。
Cent JeOSってのを作ってみるのも面白そうですな。
follow me

Oracle JeOS on VMware

Oracle Enterprise Linux JeOSをVMwareで動かした事について追記を。
動かす時に注意しないといけないのが、HDDはIDE接続にしなくてはいけない。
SCSI接続にすると、Kernelがpanic起こします。(久々にみましたKernel panic)

起動したら、/パーティションの使用率が100%になってました。
これは、パーティション構成を作り直す必要があります。
私は、 Clonzillaを使ってディスククローニングして、パーティション構成を変更しました。
あと、yumは動きません。自分でリポジトリ用意しないとイケナイ様です。

ちなみに、Oracle Enterprise Linux JeOSはこんな感じ。
# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/hda2               383912    378392         0 100% /
/dev/hda1                31077      9766     19707  34% /boot
none                     62412         0     62412   0% /dev/shm
# free
             total       used       free     shared    buffers     cached
Mem:        124828      36796      88032          0       4232      20208
-/+ buffers/cache:      12356     112472
Swap:         8024          0       8024
# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 20:47 ?        00:00:01 init [3]
root         2     1  0 20:47 ?        00:00:00 [migration/0]
root         3     1  0 20:47 ?        00:00:00 [ksoftirqd/0]
root         4     1  0 20:47 ?        00:00:00 [events/0]
root         5     4  0 20:47 ?        00:00:00 [khelper]
root         6     4  0 20:47 ?        00:00:00 [kacpid]
root        19     4  0 20:47 ?        00:00:00 [kblockd/0]
root        20     1  0 20:47 ?        00:00:00 [khubd]
root        37     4  0 20:47 ?        00:00:00 [pdflush]
root        38     4  0 20:47 ?        00:00:00 [pdflush]
root        39     1  0 20:47 ?        00:00:00 [kswapd0]
root        40     4  0 20:47 ?        00:00:00 [aio/0]
root       186     1  0 20:47 ?        00:00:00 [kseriod]
root       424     1  0 20:47 ?        00:00:01 [kjournald]
root      1002     4  0 20:48 ?        00:00:00 [kauditd]
root      1726     4  0 20:48 ?        00:00:00 [ata/0]
root      1727     4  0 20:48 ?        00:00:00 [ata_aux]
root      1738     1  0 20:48 ?        00:00:00 [scsi_eh_0]
root      1745     1  0 20:48 ?        00:00:00 udevd
root      1877     1  0 20:48 ?        00:00:00 [kjournald]
root      2397     1  0 20:50 ?        00:00:00 /sbin/dhclient -1 -q -lf /var/lib/dhcp/dhclient-eth0.leases -pf /var/run
root      2440     1  0 20:50 ?        00:00:00 syslogd -m 0
root      2444     1  0 20:50 ?        00:00:00 klogd -x
root      2471     1  0 20:50 ?        00:00:00 /usr/sbin/acpid
root      2512     1  0 20:50 ?        00:00:00 /usr/sbin/sshd

dbus      2524     1  0 20:50 ?        00:00:00 dbus-daemon-1 --system
root      2533     1  0 20:50 ?        00:00:02 hald
root      2573     1  0 20:50 tty1     00:00:00 /sbin/mingetty tty1
root      2598     1  0 20:50 tty2     00:00:00 /sbin/mingetty tty2
root      2599     1  0 20:50 tty3     00:00:00 /sbin/mingetty tty3

root      2661     1  0 20:50 tty4     00:00:00 /sbin/mingetty tty4
root      2662     1  0 20:50 tty5     00:00:00 /sbin/mingetty tty5
root      2663     1  0 20:50 tty6     00:00:00 /sbin/mingetty tty6
root      3233  2512  0 20:52 ?        00:00:00 sshd: root@pts/0
root      3235  3233  0 20:53 pts/0    00:00:00 -bash
follow me

500円のCatalyst3500XL

500円で落札したCatalyst3500 SERIES XLを起動しました。
FANの調子が悪そうです。これは交換ですね。
蓋開けると、火事でも起きたかと思うほど手が真っ黒!!!
掃除はFAN交換時に延期で。。。

エラーは無さげなので、FAN交換考えても安いです。
GBICは使う機会なさそうですが。
Cisco Internetwork Operating System Software 
IOS (tm) C3500XL Software (C3500XL-C3H2S-M), Version 12.0(5.2)XU, MAINTENANCE INTERIM SOFTWARE
Copyright (c) 1986-2000 by cisco Systems, Inc.
Compiled Mon 17-Jul-00 18:29 by ayounes
Image text-base: 0x00003000, data-base: 0x00301F3C


Initializing C3500XL flash...
flashfs[1]: 110 files, 3 directories
flashfs[1]: 0 orphaned files, 0 orphaned directories
flashfs[1]: Total bytes: 3612672
flashfs[1]: Bytes used: 2770432
flashfs[1]: Bytes available: 842240
flashfs[1]: flashfs fsck took 3 seconds.
flashfs[1]: Initialization complete.
...done Initializing C3500XL flash.
C3500XL POST: System Board Test: Passed
C3500XL POST: Daughter Card Test: Passed
C3500XL POST: CPU Buffer Test: Passed
C3500XL POST: CPU Notify RAM Test: Passed
C3500XL POST: CPU Interface Test: Passed
C3500XL POST: Testing Switch Core: Passed
C3500XL POST: Testing Buffer Table: Passed
C3500XL POST: Data Buffer Test: Passed
C3500XL POST: Configuring Switch Parameters: Passed
C3500XL POST: Ethernet Controller Test: Passed
C3500XL POST: MII Test: Passed
cisco WS-C3512-XL (PowerPC403) processor (revision 0x01) with 8192K/1024K bytes of memory.
Processor board ID FAA0442I113, with hardware revision 0x00
Last reset from power-on
follow me

Oracle Enterprise Linux JeOS

JeOSといえば、Ubuntuが有名ですが別のJeOS実装としてOracle Enterprise Linux JeOSを見てみました。
RedHatではまだ、AOSが明示的にリリースされていない事を考えると、RPM系のJeOS有力候補かもしれない。
SuSE Enterprise JeOSは在りますが。日本では、SuSEを利用している場所は少ないですし。。。

提供されている形式は、OracleVM用です。
が、イメージ形式は一般的な物ですので、qemu-imageコマンドなどで変換可能です。
# qemu-img <入力ファイル名> -O vmdk <出力ファイル名>
試してみました、VMwareでOracle Enterprise Linux JeOSを動かしてみる。
パーティション構成がおかしくなってますが、起動は問題在りませんでした。
ディスク使用量も400MBを切っているので、仮想環境としては便利かもしれません。
今回試したのは、VMware Workstation6での動作なので、次はVMware ESXiで試してみます。
follow me

eBox

ASUS EeeBoxではありません。
Intel Atom搭載でも、VIA Nano搭載でも、VIA C7-M搭載でも、AMD Geode搭載でもありません。
一時期流行ったWebminみたいなヤツの様です。
今は、eBoxなるものが在るそうです。

Ubuntu JeOSをイジっていて知りました。
Webminは、好きになれませんでしたが、少し触ってみた感じはボチボチってところ。
Webminと違って、CobaltRAQ系の管理画面に似た感じですね。
follow me

FreeNASで茄子

本命のはずだった、玄人志向 KURO-NAS/X4が高いので、あまっているVIA C3を使って自作の方が良いのでは?
って訳で、FreeNASをVMwareで試し。
導入は、5分とかからず完了。
FreeBSD 6系をベースにしていて、コンパクトに収まってます。
ただのPCであればシステム拡張も簡単ですしね。

VIA C3乗っけたマシンを、FreeBSDで認識するSATAカード買ってきて1TBのHDDに付け替えて、できれば静音ケースに変えたいな。
2万で収まるんじゃないかな。。。たぶん。
手ごろなケース見つけるのが意外に面倒ですね。

follow me

2009年はBSDが流行?

SoftwareDesign、UNIX MagazineやGIGAZINEで紹介される等、近頃BSDが取り上げられる事が増えてる気がする。
FreeBSDに、移植性の高いNetBSD、デフォルトでのセキュリティの高いOpenBSD。
Yahoo!やライブドア、2ちゃんねる等、大規模サイトで採用されている「FreeBSD」。
BSDが流行っているのでしょうかね?

Linuxの対応デバイスが少なかった時(PC98がまだ存在していた頃)には、FreeBSDの方が扱いやすかったんですが、Linuxが安定してきた頃からはBSDから疎遠になってしまってます。
仮想化が流行っていますが、昔からBSDではjailが存在します。
ある意味では、BSDは新しいのかもしれません。
とりあえず、私はFreeBSD 8.0待ちで。
follow me

PS3Cluster

昨年、Sony PlayStation3でスパコンの作り方「PS3Cluster Guide」が公開されたわけですが。
次は、「SSLで使われる証明書の偽造に成功、200台のPS3でMD5をクラック」のニュース。
PlayStation3でのクラスタは流行っているのでしょうか。。。

PlayStation3を一台も持っていない私は時代遅れ!?