ラベル Linux の投稿を表示しています。 すべての投稿を表示
ラベル Linux の投稿を表示しています。 すべての投稿を表示

6/06/2011

玄箱/玄箱HGにdebian 6.0.1 (Squeeze)をインストール

さらに、役に立たない内容。覚え書き。よっぽど、KVMのネタをのせた方がいいのかもしれないけど、今回はパス。

loader.oを使って、debian 6.0.1を作成
hda1には、デフォルト(玄人の)linuxも格納しておく。2GB


用意するもの
ディスクの入った玄箱/玄箱HG
ディスクは、kernelコンパイルも行う場合は、1GB以上必要。パッケージを追加することを考えると4GB以上。
(もろもろで最低6GB以上が望ましい。)
残りはユーザ用


 (付属のCD-ROMは不要)
ファイル
以下のファイルをダウンロードし、ftp で玄箱に転送して下さい。カーネルとカーネルモジュール以外のファイルは、玄箱と玄箱/HG とで共通で使えます。
kuroutoshikou web page
玄箱のファームウェア kuro_102.zip
http://www.kuroutoshikou.com/products/kuro-box/kuro_102.zip
   玄箱HGのファームウェア kurog101.zip
http://www.kuroutoshikou.com/products/kuro-box/kurog101.zip

    Revulo's Laboratory
        debian-lenny-installer-kuroBOX-20090317.tgz
http://download.revulo.com/kuro-box/debian-lenny-installer-kuroBOX-20090317.tgz

        debian-lenny-kuroBOX-20090317.tgz
http://cid-a95b9af71540ba41.skydrive.live.com/self.aspx/.Public/kuro-box/debian-lenny-kuroBOX-20090317.tgz

        kuro-bootsel2-debian.tgz
http://download.revulo.com/kuro-box/kuro-bootsel2-debian.tgz

    玄箱でNetBSDを動かす
        kuro-bootsel2.20080419.tar.gz (ミラー)
http://kurobsd.ki.nu/download/testing/powerpc/selector/bootsel2/kuro-bootsel2.20080419.tar.gz

    Genbako kernel collection (もしくはそのミラーサイト)
        loader.o (ミラー)
http://www.genbako.com/loader.o/loader.o

        玄箱 用
            kernelimage-2.6.25.1-kuroBOX.tgz (ミラー)
http://www.genbako.com/kernelimage-2.6.25.1-kuroBOX.tgz

            modules-2.6.25.1-kuroBOX.tgz (ミラー)
http://www.genbako.com/modules-2.6.25.1-kuroBOX.tgz

        玄箱/HG 用
            kernelimage-2.6.25.1-kuroHG.tgz (ミラー)
http://www.genbako.com/kernelimage-2.6.25.1-kuroHG.tgz

            modules-2.6.25.1-kuroHG.tgz (ミラー)
http://www.genbako.com/modules-2.6.25.1-kuroHG.tgz


1. 玄箱をEMモードに落とす。
カーネル2.4系の場合は
    # echo -n "NGNG" > /dev/fl3
カーネル2.6系の場合は
    # echo -n "NGNG" > /dev/mtdblock2


どうしてもダメな場合は
1.裏のリセットボタンを長押ししながら電源ボタン長押しで電源を落とす
2.裏のリセットボタンを押しながら電源ボタンを押して起動する
のいずれかで、EMモードに落ちるかも


2. EMモードが起動したらrootアカウント(パスワード kuroboxの場合:kuro/kuroboxhgの場合:kuroadmin)
telnet ip addr
# mfdisk -c /dev/hda
/dev/hda1      2 GB      MontaVista用
/dev/hda2      256 MB      スワップ領域
/dev/hda3      4 GB      Debian(lenny)用


# mkswap /dev/hda2
# mke2fs -j /dev/hda1
# mke2fs -j /dev/hda3
# mount -t ext3 /dev/hda1 /mnt


3.ファームウェアの展開
玄箱HGのファームウェア kurog101.zip をpc上で展開し、さらにimage.zipを展開し、出来たファイルのうち tmpimage.tgz だけを、FTPで玄箱HGの /mnt ディレクトリに転送する。

玄箱HGで /mnt ディレクトリに移動し、tmpimage.tgz を展開する。

    # cd /mnt
    # tar zxvf tmpimage.tgz

展開が完了したら、EMモードから抜ける。

    # echo -n "OKOK" > /dev/fl3
    # reboot

Lenny化用のファイルを用意する。

    debian-lenny-installer-kuroBOX-20090317.tgz
    debian-lenny-kuroBOX-20090317.tgz
    kuro-bootsel2-debian.tgz
    kuro-bootsel2.20080419.tar.gz
    loader.o
    kernelimage-2.6.25.1-kuroHG.tgz
    modules-2.6.25.1-kuroHG.tgz

以上7個のファイルを用意し、FTPで玄箱HGの /tmp ディレクトリに転送する。

/tmp ディレクトリに移動し、1番目の debian-lenny-installer-kuroBOX-20090317.tgz を展開する。そして展開されたファイルのうち、玄箱HG用のスクリプトを実行する。

    # cd /tmp
    # tar zxvf debian-lenny-installer-kuroBOX-20090317.tgz
    # sh debian-lenny-installer-kuroHG.sh

これで、MontaVistaモードの /mnt(/dev/hda3) に Debian(lenny) がインストールされ、Debianモードではこの /dev/hda3 がルートになる。

# vi /mnt/etc/fstab

hda4のエントリを削除 (hda4を作っている場合は不要)

③ネットワークの設定

自分の環境に合わせて、interfacesファイルのIPアドレス設定部分を書き直す。
addressのところに玄箱に設定したいIPアドレス、
netoworkのところに、対応するネットワークアドレス、
broadcastのところに、対応するブロードキャストアドレス、
gatewayのところにゲートウェイアドレス(ルーターのアドレス等)を設定する。

    # vi /mnt/etc/network/interfaces

# Used by ifup(8) and ifdown(8). See the interfaces(5) manpage or
# /usr/share/doc/ifupdown/examples for more information.

iface eth0 inet static
address 192.168.10.10
network 192.168.10.0
netmask 255.255.255.0
broadcast 192.168.10.255
gateway 192.168.10.1

iface lo inet loopback
auto eth0 lo

DHCPにしたい場合は、

iface eth0 inet dhcp

     # vi /mnt/etc/hostname
     # vi /mnt/etc/hosts
     # vi /mnt/etc/resolve.conf

以上の設定が完了したら、rebootコマンドで再起動し、Debian Lennyが起動する。
起動したら、tmp-kun/tmp-kunでtelnetログインをして、su -をする。パスワードは、root
動作確認で、以下を実行

# ping `hostname`

5.Lennyでの設定

①パスワードの変更とユーザーの追加
Lennyが起動したらrootアカウント(パスワードはroot)でログインする。
最初にrootのパスワードを変更する。
    # passwd

初期状態でtmp-kun(パスワードもtmp-kun)というユーザーが登録されているが、必要であれば作業用のユーザーを追加する。

    # adduser hogehoge

②Squeeze用起動スクリプトの準備

Squeezeは起動スクリプトは、LSB(Linux Standard Base)に準拠している必要があるらしいので、ディストリビューション標準の起動スクリプト以外は、前もって変更しておく必要がある。

ここでは、kuroevtdとkuro_bootのファイルの先頭部分にLSB用の記述を挿入する。

" ### BEGIN INIT INFO"から"### END INIT INFO"までが挿入部分。

    # vi /etc/init.d/kuroevtd

#!/bin/sh
# Start/stop the KURO-BOX Event Daemon.
### BEGIN INIT INFO
# Provides:        kuroevtd
# Required-Start:  $network $remote_fs $syslog
# Required-Stop:   $network $remote_fs $syslog
# Default-Start:   2 4 5
# Default-Stop:    0 1 3 6
# Short-Description: Start/stop the KURO-BOX Event daemon
### END INIT INFO

test -f /usr/sbin/kuroevtd || exit 0
case "$1" in
start)  echo -n "Starting KURO-BOX event daemon: kuroevtd"
        start-stop-daemon --start --quiet --exec /usr/sbin/kuroevtd
        echo "."
        ;;
stop)   echo -n "Stopping KURO-BOX event daemon: kuroevtd"
        start-stop-daemon --stop --quiet --exec /usr/sbin/kuroevtd
        echo "."


    # vi /etc/init.d/kuro_boot

#! /bin/sh
### BEGIN INIT INFO
# Provides:          kuro_boot
# Required-Start:    $remote_fs $all
# Required-Stop:
# Default-Start:     2 4 5
# Default-Stop:      0 1 3 6
# Short-Description: Initialize the KUROBOX AVAR
### END INIT INFO

case "$1" in
start|force-reload|restart|reload)
  echo -n "ttyS1 port init : "
stty -F /dev/ttyS1 10:1:9f0d:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0
  echo -n "AVR init string send"
echo -n "AAAAFFFFJJJJ>>>>VVVV>>>>ZZZZVVVVKKKK" > /dev/ttyS1
  echo "."
  ;;
stop)
  ;;


6.squeezeへのアップグレード

まず、aptitudeが参照する、パッケージリストの取得先をlennyからsqueezeに変更する。

    # vi /etc/apt/sources.list

deb http://ftp.jp.debian.org/debian/ squeeze main
deb http://security.debian.org/ squeeze/updates main
#deb http://ftp.jp.debian.org/debian/ squeeze main contrib non-free
#deb-src http://ftp.jp.debian.org/debian/ squeeze main contrib non-free
#deb http://security.debian.org/ squeeze/updates main contrib non-free
#deb-src http://security.debian.org/ squeeze/updates main contrib non-free
#deb http://volatile.debian.org/debian-volatile squeeze/volatile main contrib non-free
#deb-src http://volatile.debian.org/debian-volatile squeeze/volatile main contrib non-free

後はaptitudeでパッケージリストを更新し、アップグレードを実行するだけ。基本的にYes/y/OKを選択する。

    # aptitude update
    # aptitude safe-upgrade
    # aptitude full-upgrade

# cd /usr/src

# wget http://www.genbako.com/kurobox-sources-2.6.25.patch; wget http://www.genbako.com/kurobox-section-mismatch2625.patch ; wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.tar.bz2
# aptitude install vim lv sudo less patch gcc ncurses-dev bzip2 make sysstat ntp locales openssh-server
# dpkg-reconfigure locales
en_us.utf-8とja_jp.utf-8を指定

# vi /etc/default/sysstat
ENABLED="true"
 falseからtrueに変更

# tar xfj linux-2.6.25.tar.bz2 ; cd linux-2.6.25 ; patch -Np1 < ../kurobox-sources-2.6.25.patch ; patch -Np1 < ../kurobox-section-mismatch2625.patch
# aptitude clean



デフォルトのセキュリティを解除

telnetを無効にするには、
# vi /etc/inetd.confのtelnetの行をコメントアウト
#:STANDARD: These are standard services.
telnet          stream  tcp     nowait  telnetd /usr/sbin/tcpd  /usr/sbin/in.telnetd

# kill -HUP `cat /var/run/inetd.pid`をするか再起動。

ユーザ追加

adduser username
su -
passwd username

作成したユーザでsshでログインができ、rootユーザになれることを確認したら以下を実行。
userdel -r tmp-kun
これで基本的には終わり。

問題点
ディストリビューションは、debian 6.0.1なのだが、kernelが古すぎる。デバイスをいろいろ
サポートさせたいのでなければ、問題はなさそうだが。
iptableを使いたい場合は、カーネルのリコンパイルが必要

カーネルのリコンパイル方法
# cd /usr/src/linux-2.6.2
以下は玄箱/HGの場合です。
# cp -p config_kuroboxhg .config[ENTER]
# export ARCH=ppc[ENTER]
# make menuconfig[ENTER]

iptablesを有効にしたりする。

# make oldconfig[ENTER]
# make vmlinux# objcopy -p -O binary vmlinux /boot/vmlinux.bin
# cp -pf System.map /boot/
# make modules
# make ARCH=ppc modules_install
# rm -rf 2.6.25.1-kuroboxHG


その他やった作業
groupadd wheel
自ユーザにwheelを追加
vi /etc/groups

vi /etc/pam.d/su

#
# The PAM configuration file for the Shadow `su' service
#

# This allows root to su without passwords (normal operation)
auth       sufficient pam_rootok.so
# Uncomment this to force users to be a member of group root
# before they can use `su'. You can also add "group=foo"
# to the end of this line if you want to use a group other
# than the default "root" (but this may have side effect of
# denying "root" user, unless she's a member of "foo" or explicitly
# permitted earlier by e.g. "sufficient pam_rootok.so").
# (Replaces the `SU_WHEEL_ONLY' option from login.defs)
# auth       required   pam_wheel.so

# Uncomment this if you want wheel members to be able to
# su without a password.
auth       sufficient pam_wheel.so trust


vi /etc/profile.d/local.sh

#
# local environment
#

VISUAL=vi
EDITOR=vi
PAGER=vi
export VISUAL EDITOR PAGER


ちなみに、kuroboxとkuroboxHGは譲渡してしまったので、質問いただいても答えられないことがあります。

玄箱Proにdebian 6.0.1 (Squeeze)をインストール

技術的に仕事に役に立たないと思いつつ。覚え書き。

http://taidyff.seesaa.net/article/159144003.html
http://www.cyrius.com/debian/orion/buffalo/kuroboxpro/install.html

シリアルコンソールで接続。(telnetとかで接続できるかも。)

玄箱PROを起動して、
<>
Hit any key to stop autoboot:3
のカウントが0になる前にキーを押して中断。

Marvell>のプロンプトが出るので以下のコマンドを順に入れる。
長いけど1行ずつコピーしてTeraTermで右クリックで貼り付ければ簡単確実。

setenv bootargs_root root=/dev/mtdblock2 rw panic=5
setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
setenv bootcmd 'nboot $(default_kernel_addr) 0 $(nand_uImage_offset) ;setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver); bootm $(default_kernel_addr)'
setenv nand_boot yes
boot
これで玄箱PROのオリジナルファームで起動する。

root(デフォルトパスワードはkuroadmin)でログインする。

IPアドレスを確認する。
/etc/resolv.confを確認する。
nameserver ネームサーバーアドレス

/etc/nsswitch.confを確認する。
デフォルトはhostsのみを参照する設定。
hosts: files
これを
hosts: files dns
に書き換えておく。

rdate -s pool.ntp.org
hwclock -w

この時点で適当なアドレス(www.yahoo.co.jpでもなんでもいい)にpingを打てば返ってくるはず。
ここで名前解決できない、もしくはunreachableやtimeoutになるならおそらくどこかが足りないか間違っていて、インストール中にハマることになる…ので解決してから先に進むこと。


あとはこちらのサイトの通りにやればOK
fdisk /dev/sda
で、とりあえず1個パーティションを用意する。256MB
既にある場合は敢えて削除しなくてもOK
mkfs.ext2 /dev/sda1
でフォーマットし、
mount -t ext2 /dev/sda1 /mnt/disk1
cd /mnt/disk1
としてマウント~ディレクトリ移動する。

wget http://ftp.jp.debian.org/debian/dists/stable/main/installer-armel/current/images/orion5x/network-console/buffalo/kuroboxpro/config-debian
wget http://ftp.jp.debian.org/debian/dists/stable/main/installer-armel/current/images/orion5x/network-console/buffalo/kuroboxpro/initrd.buffalo
wget http://ftp.jp.debian.org/debian/dists/stable/main/installer-armel/current/images/orion5x/network-console/buffalo/kuroboxpro/uImage.buffalo

としてインストーラ一式をダウンロードする。

sh config-debian
とすると初期化が行われ、再起動するように求められる。
再起動して、5分くらいたった後、コンソールにsshでつなげというメッセージが表示される。
syslogからインストーラーまでの表示は本当に時間がかかる。


TeraTermを起動してsshで接続。
id:installer password:installとしてログインするとインストーラが走る。


パーティションの選択ではGuided - use entire diskでOK(どれでもいい)
構成はSeparate /home, /user,...にしたけどこれもなんでもいい。
追加機能もお好きに。とりあえず今回はどれもいらないので基本システムのみ入れておしまい。

# aptitude install vim lv sysstat ntp byobu ethtool
# dpkg-reconfigure locales
en_us.utf-8とja_jp.utf-8を指定
# vi /etc/default/sysstat
ENABLED="true"

失敗したら、あるいは、再インストールは、もう一度最初から行う。

ログインをしたら、ネットワークの設定を行う。
vi /etc/network/interfaces

iface eth0 inet static
address 192.168.10.10
network 192.168.10.0
netmask 255.255.255.0
broadcast 192.168.10.255
gateway 192.168.10.1

ホスト名の変更
vi /etc/hostname
vi /etc/hosts
再起動後にping `hostname`でちゃんとpingが返ってくる事を確認のこと。

fw_printenvのインストール
aptitude install uboot-envtools
cp /usr/share/doc/uboot-envtools/examples/kurobox_pro.config /etc/fw_env.config

vi /etc/micro_evtd/micro_evtd.conf
設定を適宜行う。


その他やった作業
echo "cgroup /cgroup cgroup defaults 0 0" >>/etc/fstab

groupadd wheel
自ユーザにwheelを追加
vi /etc/groups

vi /etc/pam.d/su
## The PAM configuration file for the Shadow `su' service
#

# This allows root to su without passwords (normal operation)
auth       sufficient pam_rootok.so

# Uncomment this to force users to be a member of group root
# before they can use `su'. You can also add "group=foo"
# to the end of this line if you want to use a group other
# than the default "root" (but this may have side effect of
# denying "root" user, unless she's a member of "foo" or explicitly
# permitted earlier by e.g. "sufficient pam_rootok.so").
# (Replaces the `SU_WHEEL_ONLY' option from login.defs)
# auth       required   pam_wheel.so

# Uncomment this if you want wheel members to be able to
# su without a password.
auth       sufficient pam_wheel.so trust


vi /etc/profile.d/local.sh
#
# local environment
#

VISUAL=vi
EDITOR=vi
PAGER=vi

export VISUAL EDITOR PAGER
 

1/31/2011

余計なお世話

Linuxのセキュリティが高いからWindowsは使わないという人に一つ物を申したい。

その前に、私は別にLinuxが嫌いなのではない、逆に16年間もLinuxを使い続けているくらいだ。
どこの職場へ行ってもLinuxの経験は一番長い。

本当にLinuxのセキュリティは高いのか?確かに高い。ただし、アップデートも半端ではない。
Windowsは月一度がデフォルトだが、Linuxはそれ以上にアップデートをしているような気がする。
セキュリティが高いからと言ってアップデートを怠っていないだろうか?
世の中のホスティングベンダーは、よっぽどの事がないとアップデートをしてくれない。実は、
ディストリビューションではかなりの頻度で更新が入る。もちろん機能拡張やバグフィックスも含まれる。
機能拡張はともかく、バグフィックスは、後でそのバグにぶち当って悩むことも多い。ちゃんとアップデート
しておけば、そのような時間に直面しなかったはずである。

また、業務環境にtarボールパッケージの最新版を入れるという危険なことをしていないであろうか?
最新版は、安定版といわれているものでも決して安全ではない。誰も使っていないから人柱にすぎない。誰が保証してくれる?
GPLのパッケージならば自己責任である。Apacheの団体が保証してくれるのか?それも彼らが日本語でサポートできるのか?
以前、Linuxのカーネルに、e1000のカードを破壊してしまうドライバーが含まれていたことがある。
すぐにそのカーネルソースは削除されたが、手に入れて使ってしまったら、お釈迦である。さらにオンボードNICのカード
であったら、マザーボード交換になる。

ソフトウェア業界に身を置いていた私の考えだが、本番環境で、tarボールからのインストールは
おすすめしない。なぜなら、tarボールがソフトウェア製品とすれば、ディストリビューションも
ソフトウェア製品である。特に商用のディストリビューションでは、パッケージだけの品質確認だけではなく、
ディストリビューションとしての品質も確認されている。
多くのディストリビューションベンダーは、tarボールでコンパイルされたソフトのサポートをしないのは
そのためである。
部品としての品質はとれているかもしれないが(しかし、人柱の可能性も十分にある。何度でもこの件は言わせていただく)、
全体としての品質保証はとれていない。所詮最新パッケージは、開発者向けのものである。
逆にディストリビューションベンダーだけで使えば、日本語でサポートしてくれるのである。たとえ、PostgreSQLの設定ですら。
パッケージ版を使いつつ、SEに余計かつ無保証な保守料を支払う必要はないのである。

そもそも、SEからtarボールパッケージの最新版で提供されるのであれば、常に最新版へアップデートされるべきではないか?でも導入時のままになっている
ケースが多いだろい。もちろんSEの言い分は「導入時の最新」と主張するが、歴史のスナップショットはいらない。これは単に、
SEの自己満足だ!

最新版信仰者に聞いてみるがいい。その最新版パッケージは「どこが」ディストリビューション付属のと違うのか?
Change Logを照らし合わせながら説明したら大したものであるが納得はできない。
今、提供されている環境で、そのtarボールパッケージ最新版のソフトを入れて、どのような検証をしたのか教えてほしいくらいだ。
もちろん、セキュリティを主張するならば、パッケージが抱えているセキュリティ問題の修正確認をしているのだろうか?
IPSの結果を主張するのであれば、ディストリビューションのパッケージが不合格で、最新版のパッケージが合格しているのだろうか?

もちろん、同じことをディストリビューションベンダーに同じ事を聞けば、教えてくれるだろう。少なくとも彼らの手元には社内資料はある。
また、最新版でしか修正できない問題が仮にあったとしても、実はバックポートという事を行っていて、古いバージョンでも
最新版の修正が取り込まれていることが多い。さらにそのパッケージは言うまでもなく、ディストリビューションベンダーの
保証付きである。(中途半端な最新版を入れられていて放置されている環境が一番危険!)

最新版を入れることを主張する人間は、気分で仕事をしているような気がしてならない。少なくともそのような、SEと
仕事をするのは控えるべきだ。

同じような議論として、Exchangeのセキュリティ問題を語る人も同じかもしれない。昔のWindows NTのメールシステム
はとんでもなかったが、今は安定している。私は偶然にもいくつかの問題に直面したことがあるが、今の人は知らないはずである。
そのような人にメールのbccは、もともとなんのために使われていたかを聞いてみるといい。

昔のメールシステムは、ちゃんと届かない可能性があったので、bccに自分のメールアドレスを入れて、少なくとも自ネットワーク
での配送を確認するために使った。(bccは、あくまでも自分のアドレスを入れるためのものである。)
特に、Windows NT版のsendmailは酷く、10通送って5通届く(数字はもう曖昧だが)という代物であった。
さらに当時のExchangeもしくは、outlookは、message IDの付け方が一意ではない方法でつけられていた。(確かFQDNではなく、
単純なコンピュータ名が使われていた)一応は、メールは届くが、一意性に欠けるという問題があった。
message IDの一意性がないと何が起きるかというと、メールの多重配送が発生する。特にネットニュースで発生する可能性
が高いと指摘されていた。

高いお金を払って、パッケージのアップデートが管理されない、最新版で人柱システムを使わされている人に
余計なお世話かもしれないが、曲がった知識の押し売りの購入は勘弁してほしい。。。

1/30/2011

KVMのインフラが熱い

仕事上、データセンターやキャリアのインフラ責任者とお会いする機会がよくある。
自分の提案を説明するのだが、今は逆に先方のストラテジーをお聞きする方が多いし、興味を引くものがある。

そこで申し合わせたような内容を耳にする。それは、KVMと共有ストレージを使ったIaaSで価格は1万円以下。
各社値段と機能はそれぞれだけど、専用サーバなんかより全然売れているらしい。売れている割合が桁違いだそうだ。まさに最先端ドル箱の様相である。
そうなると先行していた事業者のIaaSが陳腐に見えてくる。KVMを使ってみて感じるのはVMwareよりシンプルで使いやすい。ウィンドウズも動作する。さらにNehalemとの相性もいい。一方インフラを作る側としては、それなりに準備をしていたと思わせる感じがある。自分でもインフラを構築してみたが、年末年始をフルに使ってしまった。これでもOpensource Xenやiscsiを知っていたから、だいぶショートカット出来たが、もし知らなければさらに知識習得には時間がかかるであろう。今から始めるとなるとかなり後発になってしまい、もはや差別化が出しにくい。また、KVMは、Linuxのプロセスとして動くがhypervisorと同じような設計が必要になるので、台数が必要になり、ストレージを高速なiSCSIなどで実装する必要になる。やるとなるとそれなりの先行投資が必要。
(KVMは、KSMが使えるので、同じOSであればOpenVZのような1台のサーバで大量の搭載も可能らしい。すごい!)

今流行のスペックは

 KVM ノード
 共有ストレージ
 自動生成(ロードバランサー、ファイアーウォールなど)

が基本機能のようである。となるとやはり中小では無く大手キャリアのものが良さそうである。また回線の心配も無いし。

まさに旬である。ぜひとも一度は試してみたいインフラである。

ここまで来ると、インフラ業界も、人(人材)物(戦略)金(資材)で貧富の差が出たというか、もはや格差社会になった気がする。

1/07/2011

夜行性エンジニア

先日、以前いた会社の先輩と一杯やった。
当時は先輩がWindows,私はUnix/LinuxのQAリードで今は何の因果か分からないがエンタープライズのサポートをそれぞれ別の会社でやっている。
お互い仕事を同じくしていると不平不満や愚痴の場所は似通っている。一度は同じ仕事をしていて、なおかつ、今も会社は違えど仕事内容は全く同じ
なんとも奇遇であるし、お互いの仕事の特性があまり一般的ではないため、情報交換にとても役に立った。
まぁそんな話は軽いジャブであった。

その先輩は、自作PCを組み立てている真っ最中らしい。
近頃の人はもうパソコンの自作なんてしなく、その興味とお金がないとのこと。
興味はともかくお金貯めれば買えそうな気がする。月に5000円位ずつ貯めて行けば、ITXのフルメモリの環境を一年手に入るのだが。
そのお金も貯められないらしい。それでももちろん1年に1台位のペースは普通あるいはハイペースだと思う。

先輩は呑みを終えた後、残念ながら私は緊急に処理しなければならない仕事があったのでそこで解散した。

仕事中、SMSがにお題が入って来た。そのお題とは?
Western Diital社製のハードディスクドライブに搭載されているAFTの対応方法は?
ググれば出て来そうな気がするが、自作PCをやっている人ってそういう話題の食いつきはいいが、
基本的なハードの教育を受けていないため、解析が矛盾していたり、情報が足りなかったりするケースがあるのでwebの情報を鵜呑みに出来ない。

ハッキングの内容らしく、ちょっとその情報を記載しておこうと思う。ただし、Linuxの。
AFTで問題なく使うためには、ubuntu 10.10でマウントしてフォーマットしてから使う。また、あまり古いディストリビューションでは
使わないこと。
ちなみに、私のディスクの情報は、以下。近頃のLinuxは完全にGPTパーティションをサポートしている。
ベンチマークも取ってみたが正常でした。ただ、ubuntu10.10のインストーラでパーティションを切っただけ。

# fdisk -lu /dev/sda

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sda: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Device Boot Start End Blocks Id System
/dev/sda1 1 3907029167 1953514583+ ee GPT

# parted
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: ATA WDC WD20EARS-00M (scsi)
Disk /dev/sda: 2000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number Start End Size File system Name Flags
1 1049kB 2097kB 1049kB bios_grub
2 2097kB 258MB 256MB ext2
3 258MB 2000GB 2000GB lvm


Conflicting modification on December 30, 2010 12:50:04 PM:
先日、以前いた会社の先輩と一杯やった。
当時は先輩がWindows,私はUnix/LinuxのQAリードで今は何の因果か分からないがエンタープライズのサポートをそれぞれ別の会社でやっている。お互い仕事を同じくしていると不平不満や愚痴の場所は似通っている。まぁそんな話は軽いジャブであった。

そう、その先輩は、自作PCを組み立てている真っ最中らしい。近頃の人はもうパソコンの自作なんてしないらしい。興味とお金がないとのこと。興味はともかくお金貯めれば買えそうな気がする。月に5000円位ずつ貯めて行けば、ITXのフルメモリの環境を一年手に入るのだが。それでももちろん1年に1台位のペースは普通あるいはハイペースだと思う。

先輩は呑みを終えた後、その自作PCの組み立てに入ったらしい。残念ながら私は緊急に処理しなければならない仕事があったのでそこで解散した。

仕事中、SMSがにお題が入って来た。そのお題とは?
Western Diital社製のハードディスクドライブに搭載されているAFTの対応方法は?
ググれば出て来そうな気がするが、自作PCをやっている人ってそういう話題の食いつきはいいが、基本的なハードの教育を受けていないため、解析が矛盾していたり、情報が足りなかったりするケースがあるのでwebの情報を鵜呑みに出来ない。

まぁこんな夜中に調べる必要も無いのだが、夜は仕事の邪魔が入りにくいので集中できるのかもしれない。幸い先輩はコンタクト先がアジアなので確かに夜は静か。捗る。結果はあっけない事で解決したようだ。

ふとお金がないと言う事で思い出した。夜毎日のように呑みに行けば確かにお金も無くなるが、時間も無くなる。
だから若い人は、自作PCなんて作る時間が無い。そうお金よりも時間。先輩、上司もその様な感覚が薄れて来ている。少なくとも新橋呑みをやってる限り。

12/31/2010

Ubuntu 10.10ではまっていること

KVM用のubuntu 10.10 server editioを2カ所に構築中なのだが、いくつかハマっえいることを列挙。

1.自動サスペンドレジュームスクリプトのうち、停止時つまりサスペンドのスクリプトが読まれない。手実行なら成功するのだが。。。

2. シリアルコンソールとCRT両方にコンソールを出しているのだが、シリアルコンソール側にgrub2のメニューが出ない。

3. コンソールのスクリーンセーバーの停止方法が不明。
setterm -blank 0 -powerdown 0 をrc.localに書くしかない。パッケージを追加しないとオシャレな方法はないらしい。
だってハングっていたときにコンソールのメッセージを見たいんだもん。

4. Intel ICHに搭載されているハードウェアウォッチドッグの動作確認方法がわからない。watchdogプロセスを強制停止してもリブートしない。

お分かりの方、コメントをお願いします。


- Posted using BlogPress from my iPad

12/12/2010

KVM box (Intel Core i3/DH57JG マザー)

ついにボーナスシーズンですね。

社会人になってボーナスをもらうようになってから年々ボーナスの金額が少なくなっていっている。景気の
せいなのかもしれない。1年でいくらというような給与体系であれば気にしないのですが。一方円高なのでPCのパーツが安い。特にメモリは、8GBで8000円を切っている。

みなさんは、ボーナスをもらったら、まずどうしますか?以前、周りでアンケートを取ったところ、だいたい以下のような答えが返ってきた。賛否両論があるが。

1。親や家族にごちそうをする
2。貯金
3。自分のための投資(お稽古や習い事、趣味)
4。欲しい物を単に買う
5。上司へおごる。

私は、3の項目の習い事への投資ってちょっとびっくりしたのだが、自分への投資というのは4に属するのではないかと思っていた。
5。はあり得ないなのだが、少なからずこのような人たちもいる。どこかの若手営業の人たちだったと記憶している。会社が養っているんだから会社からもらったお金は会社に還付してほしいとのことなので会社としても特に文句を言わないらしい、むしろ推奨しているくらいだと当人は話していた。当人曰く、全てのボーナスがそれで無くなったというが、一体何のために働いているの?と聞きたくなった。現代の蟹工船の世界?そういった環境には、労働組合も無いし。昔、労働組合の専門部員をしていたのでこういう話はとても気になるんよ、私。

文化レベルとお金の使い方は相関関係があるような気がする。文化レベル(といって良いのかわからないけど)が低いと情報が入らない。たとえば、PCのパーツを安く手に入れたい。となると、PCを持っていてネットで検索して、価格や店舗を調べ、買いにいく。つまり、PCのパーツを買いに行くには、パソコンがないと安く買いに行けない。いきなり秋葉原へ行っても買えない。もしくは、詳しい友達と行くことになるが、そもそも、そのような友達がいるかどうかも文化レベルに関連しそうな。

良い土壌(友達や環境)良い種(ツール)を巻いていい結果を得ることになるのではないかと。少なくとも良い土壌は、自分たちの気持ち次第でお金をかけずに出来るのだからここから始めてほしいと思った。良い種に投資をする人は沢山いるのだが、良い土壌に投資する人は少ない。

閑話休題
で私は、そろそろ自分のための投資をしてもいいと思った。最初はMAC Book Proを買おうと思ったんだが、Ubuntu Desktopでかなりの部分を代用できる。クラウド関連の人は近頃MAC Book Proの人が多い。
(と書くと私の部署以外で配布されそうな感じだが。)
また、外回りをしているとほとんどのクラウド事業者は、新規の事業ではKVMを採用している。もはやXenはAmazonくらい。Xenの準仮想化は確かに魅力的だが、カーネルが専用であるということを考えると必ずしも使いやすい訳ではなく、動的な構成変更も仮想マシンを増やしたり減らしたりする方法でクリアができる。また、動的変更ができるOSがあまりにも少ない。

一方、KVMは、普通のOSが改造なしに使える上、仮想マシン、ストレージ、ネットワークの揃い方のバランスがいい。そして、ハイパーバイザー型の仮想マシンイメージのほとんどから移行が可能。

Xenも決して悪くはないのだが。Citrix Xen Serverのように、Xenの事をほとんど知らない人間でも使える環境もあるし。(Xenの素人具合は、Dom0を「ホスト」として理解しているかどうかで分かる。全部ゲスト、というか仮想マシンなんだけどー。)
KVMは、まだ、素人用の環境が出てこないので、研究の余地があるかなと。

2回目の閑話休題
で、揃えた機材。一人で持って帰れた。総額4.5万くらい。

●CPU Intel Corei3 540
マザーとセットだと8000円くらいで買えた。サポートしているCPUでもっといいのがあったが、所詮2core
CPUが瞬時にクロックアップする機能が付いていても、所詮2coreである。Hyperthreadingもあまり効果はないし。
ちょっとびっくりしたのが、Fanの高さが小さいこと。これを知っていれば、ケースは買わなかった。。。

●Memory Super Talent DDR3 4GBx2
はっきり、言って安い。このご時世スロットを開けておくのはもったいない。マザーが対応する最大メモリ搭載。これで0.5core/2GBメモリの仮想マシンが3台くらい立てられそう。構成はもう少し検討の余地がありそうだが。

●Mother Intel DH57JG (ITXマザー)
いろいろ付いているのだが、選択理由は純正インテルということで。純正インテルということは、実はSuper Micro製か?さらにポイントとしては、オンボードのNICがIntel製。蟹じゃなくて。ただし、もうRGBもPS2も廃止なのね。。。

●HDD Western Digitalの2TB
Vista用でフォーマットしてあるとのことだが、Linuxで使えるのか?特に気にしないで買ってみたHDDなので型番割愛
<追記> もともと、GPTパーティションテーブルになっていたが、使えた。fdiskでは、もう使えないというか、そもそも、fdiskをもう今は使っていないのでOK。

●DVD SonyOptiarcのDVDマルチ
DVDマルチで3000円以内ということで購入。LG電子のがさらに安かったが、昔LGのドライブが付いた某社のデスクトップを300万円分くらい(10台)買ったことがあるのだが、全部壊れていた。正確には、Gold Masterイメージ(CDをプレス工場に送る直前のメディア)を作成すると必ず、チェックサムエラーが発生する。イメージの作成ミスは数10億の損害に繋がるので、そのPCメーカにクレームを言ったところ、全部Sonyのドライブになって返ってきた。つまり実績がいいということで選択。これも型番割愛

●Case KEIAN KT-CUBU-ITX01
格安のケース。デカイけど、静か。300W電源。あと、がわの入れ方にコツがいる。

OSは、どうするのか?
候補としては、Ubuntu 10.10 64bit Serverか? Appstartの起動の速さには感動。
しかし、商用のクラウドでは、圧倒的にRedhat系なんですよね。

9/05/2010

RealtekのNICをLinuxで使う場合の注意点

ちょっとした覚え書き
RealtekのNICを Linuxで使う場合、できれば、realtekのサイトから最新のドライバーを落として使う。
なので、gccとかkernel sourceをあらかじめ入れておく必要がある。
/lib/modules//buildの下にkernel sourceがあることを確認してから、コンパイルする。
とここまではなんて事は無い話だが、これでも実は、動かないときがある。
いくつか例を挙げるとするならば、bondingとか、Xen。ネットワークインタフェースを制御する物は障害を起こすらしい。理由は、MAC AddressがなぜかNICから取れていない。なので、適当な値を上書きして教えてあげる必要がある。
Redhat系の場合
/etc/sysconifig/network-script/ifcfgXXX
に以下の行を追加する。
MACADDR=<適当なMAC Address> <-Reaktekの割当のMAC Address空間を使ってください。
また、
HWADDRの行はコメントアウトするか削除する。
そして、ネットワークを再起動する。

ちなみに、Xenの場合、Xen Kernel 用のドライバをコンパイルすることを忘れずに。。。

Debian系の場合は、どうするのだろうか?多分MAC Address を上書きする方法があるはずだが。。。

9/04/2010

pxeサーバ

自分の環境にpxeサーバがあるとかなり便利。
VMwareの仮想マシンや、Xenなども実は、PXE bootに対応していたりしている。
もっぱらは、CD/DVDのメディアをごそごそするのが面倒なのが、発端なんだが。。。

環境の事前準備として、まず、ルータのDHCPサーバを停止させて、サーバ内にDHCPサーバを立てる必要がある。なぜなら、家庭用のルータは、PXEサーバに対応していないから。
また、ちゃんと、DHCPサーバを立てれば、NTPサーバとか微妙に忘れやすい情報もばらまいてくれる。
さらに、面倒くさがりの方は、DHCPサーバにDNSを同居させ、Dynamic DNSを使えるようにすると、指定したホスト名でDNSまで登録してくれるので、検証環境の作成がものすごく便利になる。電源オン->PXEで起動してOSインストール、自分で付けたホスト名がローカルのゾーンに登録。速い、上手い、お手軽の三拍子が揃った環境になる。
家庭用のルータもDHCPにDynamic DNSへ渡す機能(DynDNSとかじゃなくて、ローカルのDNSね。)とPXEのブートイメージを持つサーバを登録できたら便利なんだけど。いっその事、dhcpd.confを書かせてくれるといいのだが。DD-WRTだとできるのかしら?

手順は、DHCPの設定とtftpの導入、それに各種OSの起動イメージと設定ファイルの作成。
ざっくり、肝の部分だけを書くと
dhcpd.confに以下の記述を追加
  next-server <tftpサーバが動作しているマシンのIPアドレス>;
  filename "pxelinux.0などのファイルパス";

tftpサーバをインストール
 tftpdだと、たまにしくるときがあるので、atftpdをインストールした。気がする。。。
/tftpboot <-設定によっては、他のディレクトリかも に、各種OSの起動イメージと設定ファイルの作成。面倒なのでテストで以下をtftpbootディレクトリの下に解答して放り込んでおく。
http://archive.ubuntu.com/ubuntu/dists/lucid/main/installer-i386/current/images/netboot/netboot.tar.gz
ubuntu/debian のこれらの設定は、お手軽!ちょっといじると32bit/64bitセレクタブル環境ができる。できた。
起動メニューの書式は、pxelinux形式。syslinux/isolinux/exlinuxというか、みんな同じ書式らしい。Citrix XenServerでも使われている形式なので覚えておいても損はないかも。
こういった新しいかつ、標準化された内容ってLPICで出るのかしら?調べてみたらisolinuxが201で触れられるくらい?いきなり常識的になってしまうと、LPICerだと追いつけないか?だから資格!という人の知識は、すぐにペタンとなる。。。

話は、反れたが、後は、ネットワークブート出来るパソコンで試してみる。

超ざっくりとして書いたけど、だいたいこんな感じ。時間があれば、詳細に書き直すかもしれないけど。

pxeブートが出来ると、いろいろなOSが起動できたり、X端末やThin ClientのようなOSが起動できたり、何げにローカルディスクが不要になる。20年くらい前は、ディスクが高いから1つのディスクを作り込んで、ネットワークブートしていたものだが、こういった技術は今でも陳腐化してない。さらに、tftpでネットワークブートって昔からある技術(昔過ぎる)ので実はあんまり資料がなかったりするんですが、また揃ってきた。

さらに便利なのが、WindowsパソコンのWindowsパーティションを一切いじらずに、他のOSを起動させることができるといった、浮気ができる。


自分の検証環境を作れ!と言っているけど周りで持っている人はほとんどいない。特に若い人間は、会社に付いていくのがせいぜいで、検証環境を作る時間とお金が、お付き合いとお酒に消えている。逆に検証環境を作ったりして勉強したり、効率化して時間を余らせてから、そっちに注力すればいいのだがと思うのだが。だから残業も沢山ある。お客さんマター以外の残業は、本来は身から出た錆なんだが。。。

8/30/2010

Debian LennyでWebcamが動作しない場合

エレコムのWebcam(UCAM-DLF30HBK )を格安で入手したのだが、Debian Lennyに含まれるwebcam-serverでは、使えない。というか、カーネルがアクセスした結果を処理するためにライブラリが足らない。ちょっと頭を使う必要がある。
簡単に言えば、backportsから、v4lのライブラリを入手して、PRELOADして使う必要がある。

以下、具体的な手順
1)backports の登録
# echo "deb http://www.backports.org/debian lenny-backports main contrib non-free" >> /etc/apt/sources.list
# apt-get update
# apt-get install debian-backports-keyring

2)video4linuxのインストール
# apt-get -t lenny-backports install libv4l-0

3)webcam-serverのインストール
# apt-get install web-camserver
4)PRELOADをさせるためのシェルを作成
# cat /usr/local/bin/webcam.sh
#!/bin/bash
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so /usr/bin/webcam-server -s

# chmod +x /usr/local/bin/webcam.sh

5)起動させてみる
# /usr/local/bin/webcam.sh
http://localhost:8888
にアクセスして、映像が映れば成功。
ダメな場合は、/dev/video*があるかの確認とdmesgやlsusbを確認。
もしくは/var/log/webcam_server.log を確認する。



うーん、それにしてもこんな事したのは、netscape 4.0の日本語化以来だな。。。というか12、3年ぶり。

本来は、俺ん家に設置するはずだったデバイスが動いてしまったので、追加購入しなければ。。。

8/23/2010

どうしてもCentOSのバージョンを固定しておきたい。。。

どうしてもCent OSのバージョンを固定しておきたいという、大人の事情があるあなたへ。
http://mirror.centos.org/centos/5.4/へアクセスすると、readmeがぽつんと一つ。
どうすればいいのか、中の英語を読めばいいのですが。。。
おわり

とすると話にならないので、見てみると

you should use /5/ and not /5.4/ in your path.
ようするに、5.4ではなく、5のディレクトリへアクセスしてくれと。

If you know what you are doing, and absolutely want to remain at the 5.4
level, go to http://vault.centos.org/ for packages. Please keep in mind that 5.4 no longer gets any updates
また、
「もし、何をしているのかわかっていて、絶対に5.4のままにしたいのであれば、
http://vault.centos.org/
へいってパッケージをとってこい。ただし、5.4はもうアップデートしないから」
と書かれている。
つまり、 http://vault.centos.org/からお取り寄せ。
アクセスしてみると、最新以外は、そろっている。

yumの設定のURLとrelease versionを必ず、vault.centos.orgとバージョンを明記しておくこと。
これを忘れて、updateかけたら、最新になっちゃうからね。
逆を言うと、一切のセキュリティアップデートも無いから、要注意。(メンテナンスしなくてもいい!ともとれるが、そうではない。。。)
最新のupdateから入れるという方法もあるが、入れ子の状態はお勧めしない。何が起きるか誰も
判らない。
最新バージョンが絶対安心といっている人がいるが、最新バージョンは、セキュリティをFIXしたとも
とれるけど、人柱スイッチがオンにもなっている。最新のベンダーパッケージをダウンロードして、change logを確認して、セキュリティFIXがなされているものを使ったほうが、検証も取れていて安心なのだが。。。やっぱし、英文が壁になるのか。

ちなみに、こういったことが必要なのは、私の周りでは、Citrix Xen Server以外ないなぁ。
Xen Serverは、バージョン固定を要求するけど、相当注意しないと使えないな、こりゃ。

9/12/2009

xen hypervisor と dom0の関係

今のxenは、x86_64やi386 PAEが真っ盛り。i386のサポートはされなくなる方向なのか。
Pentium Mは、もうどうあがいてもxenで動かない。なざならPAEをサポートしていないからだ。
まぁ、今のCPUはx86_64のコードが動作するから問題はないけど。ただし、x86_64のOSってi386のバイナリとライブラリもインストールされるディスクの消費が多いのではと思う。
そこで、以下の構成を考えてみた。
xen x86_64
dom0 i386
domU i386 or x86_64
SUSEのドキュメントによると動作可能らしい。SUSEではやったことがあるが、Centでは??

インストールの方法としては、まず、Centを32bit版でインストールし、hypervisorだけ64bit版をインストールする。これだけ。
やってはいないがどうでしょうか。

少なくとも32bitでインストールするのと、64bitでインストールするのでは、600MB以上差が出る。


結果。。。
見事NGでした。これをやりたければ、素直にSUSE Linux を使いましょう。

9/08/2009

Atom ITEマザー に CentOS 5.3をインストール

私が使っているマザーは、FOXCONN R11S4MI-BA(45CTD)のもの。多分Intelのマザーでも適用できるはず。

1.まずCent OS 5.3をインストールする。
2. とりあえず、yum update
yum update
reboot

3.elrepoを追加
rpm -Uvh http://elrepo.org/elrepo-release-0.1-1.el5.elrepo.noarch.rpm
rpm --import http://elrepo.org/RPM-GPG-KEY-elrepo.org

4.nicのドライバとlm_sensorsのインストール
yum --enablerepo=elrepo install kmod-r8168  kmod-it87 lm_sensors

/etc/sysconfig/network-scripts/ifcfg-ethX
HWADDRをコメントアウトし、本来のMAC addressを以下のように記載
MACADDR=<本当のMAC ADDRESS>
注意 MAC Addressがどうしても分からなかったので以下のように記載
 00:20:18:00:00:01
 00:20:18:00:00:02
意味が分かっていないならあきらめてWindowsに刺して調べてください。

5.その他微調整
vi /etc/smartd.conf
/dev/sda -a -d sat

vi /etc/sysconfig/lm_sensors
MODULE_1=i2c-isa
MODULE_2=eeprom

lm_sensorsの設定

sensors-detect
 質問は全てEnterで答える


/etc/sensors.confのファイル末尾に以下を追加
chip "it8718-*"
# Voltages
label in0 "VCore"
label in1 "VDDR"
label in2 "+3.3V" # VCC3
label in3 "+5V" # VCC
label in4 "+12V"
label in5 "-12V"
label in6 "-5V"
label in7 "5VSB" # VCCH
label in8 "VBat"

compute in3 ((6.8/10)+1)*@ , @/((6.8/10)+1)
compute in4 ((30/10)+1)*@ , @/((30/10)+1)
compute in5 (1+232/56)*@ - 4.096*232/56 , (@ + 4.096*232/56)/(1+232/56)
compute in6 (1+120/56)*@ - 4.096*120/56 , (@ + 4.096*120/56)/(1+120/56)
compute in7 ((6.8/10)+1)*@ , @/((6.8/10)+1)

# If vid (nominal CPU voltage) isn't correct, hardcode the correct value
# instead.
set in0_min 1.00
set in0_max 1.35
set in1_min 1.8 * 0.95
set in1_max 1.8 * 1.05
set in2_min 3.3 * 0.95
set in2_max 3.3 * 1.05
set in3_min 5 * 0.95
set in3_max 5 * 1.05
set in4_min 12 * 0.95
set in4_max 12 * 1.05
set in5_max -12 * 0.95
set in5_min -12 * 1.05
set in6_max -5 * 0.95
set in6_min -5 * 1.05
set in7_min 5 * 0.95
set in7_max 5 * 1.05

# The chip does not support in8 min/max
# Temperatures
# If you are lucky, the BIOS has set the proper sensor types for you.
# If your temperature readings are completely whacky you probably
# need to change the sensor types. Adujst and uncomment the
# appropriate lines below.
#
# 2 = thermistor; 3 = thermal diode; 0 = unused
# set sensor1 3
# set sensor2 3
# set sensor3 3

# If a given sensor isn't used, you will probably want to ignore it
# as well (see ignore statement right below).
# The CPU sensor can be any of temp1, temp2 or temp3 - it's motherboard
# dependent. Same for the motherboard temperature.
label temp1 "M/B Temp"
label temp2 "CPU Temp"
ignore temp3

set temp1_over 50
set temp1_low 10
set temp2_over 70
set temp2_low 10

# Fans
# The CPU fan can be any of fan1, fan2 or fan3 - it's motherboard
# dependent. Same for the case fan.
label fan1 "CPU Fan"
ignore fan2
ignore fan3
ignore fan4

set fan1_min 1000
# set fan2_min 2000


5.xen 環境の構築
yum groupinstall Virtualization
yum --enablerepo=elrepo install kmod-r8169-xen.x86_64 kmod-it87-xen.x86_64
echo 'options loop max_loop=255' > /etc/modprobe.d/loop.local

FOXCONNのマザーはオンボードの100Mを認識させるにはこれもいる
yum --enablerepo=elrepo install kmod-r8101-xen kmod-r8101
/etc/sysconfig/hwconfで調べて
vi  /etc/modprobe.conf
alias eth1 r8101

vi /boot/grub/menu.lst
default=0 <--Xen kernelが起動するようにする。

6.dag
rpm -Uhv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS//rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
むやみに読み込まれないようにするため
/etc/yum.repos.d/rpmforge.repo
enabled = 0
 
・hddtempをテストで入れてみる
yum --enablerepo=rpmforge install hddtemp
vi /etc/sysconfig/hddtemp
HDDTEMP_OPTIONS="/dev/sda --syslog=300 -l 127.0.0.1"
 
chkconfig hddtemp on
service hddtemp start

iPhoneでもモニタリングが出来るようにする
rpm -ivh http://istatd.googlecode.com/files/istatd-0.5.4-1.el5.rych.x86_64.rpm
chkconfig istatd on
service istatd start

最後にyum のキャッシュをクリーンナップ
yum clean all

複数のNICでxen bridgeを認識させるには、以下
vi /etc/xen/scripts/network-mybridge
#!/bin/bash
/etc/xen/scripts/network-bridge $1 vifnum=0 bridge=xenbr0 netdev=eth0
/etc/xen/scripts/network-bridge $1 vifnum=1 bridge=xenbr1 netdev=eth1

chmod 755 /etc/xen/scripts/network-mybridge
 /etc/xen/scripts/network-mybridge stop
 /etc/xen/scripts/network-mybridge start

自動起動させるには
vi /etc/xen/xend-config.sxp
(network-script network-bridge) -> (network-script network-mybridge)


確認
brctl show


xenゲストを作るには以下のスクリプトを作る。
前提 xen のイメージは、lvmで作成
virt-install -n xen01  -r 512 -f /dev/xenvg/xen01 --nographics --bridge=xenbr1 
-l ftp://ftp.riken.go.jp/Linux/centos/5.3/os/i386

作成したら以下のdagのレポジトリの設定は行っておく。

9/04/2009

ntpの時刻合わせ

気になったこと
ntpを使って時刻合わせを行うが、たまに勘違いをしているケースがある。
正しく設定するには、以下の手順で行う。

1. ntpdate で時刻合わせ
2. ntpdの起動(ntpd.confにちゃんと、ntpサーバを指定しておく)
3. ntpのキューの確認

少なくとも、redhatでは、ディストリビューションの言うとおりに指定すれば、このように動いているはず。
cronとかで、ntpdateの時刻合わせを行うと、ドリフトタイムの計算がなされないので狂いやすくなる。
ドリフトタイムとは、PCのクロックのズレ傾向です。

また、ntpdが動作しているときには、ntpdateが使えないのでntpdを落とす必要があります。
理由はポート番号がバッティングしているから。

ntpのキューはたまに確認するとよいです。起動直後はなかなか安定しないので同期に時間がかかります。10分くらい。

今日の一言でした。

iPhoneでサーバ監視

今日、社長に言われたのだが、
iPhoneでサーバ監視ができるのか?

結論からすると難しい。なぜならiPhoneからPingとか、ポート監視ができるのだが、
ずーっとアプリが動いている訳ではなく、あくまでも「元気かな」という思いで見に行かなければ分からない。まるで買ってきた熱帯魚を水槽に入れて毎日見に行くようなものである。見に行かなければ、多分熱帯魚は死んで浮かんでいるであろう。

アクティブに考えると、やはり障害検知のメールを受信して、2次的な対処としてアプリを起動するのが一般的と考える。

で、サーバエンジニアとしては、以下の構成をお勧めする。

1.メールの受信は、yahoo.comとi.softbank.jpの両方に飛ばす。
   i.softbank.jpのメールは、SNS経由でメール受信をお知らせしてくれるし、yahoo.comは、なぜか振動で教えてくれる。アクティブな通知はこの2つだけで、かつ、それぞれ通知の方法が違う。さらに、softbank.ne.jpと違って普通のメールで後でPCで確認ができる。

2. Push notify使うアプリを入れておく。例えばNimbuzzなど。
理由は、メールの通知がさらに速くなるという噂があるのと、いざとなったらメッセンジャーを起動し、知り合いにヘルプを頼むことができる。

3.導入するアプリを選定する。
コンソール系
  SSHコンソール TouchTermなど
  SCPクライアント ezShare
  FTPクライアント ezShare
  Telnetクライアント MTelnet
  VNCクライアント jaaduVNCなど
  RDPクライアント WinAdminなど

ポート監視アプリ系
  TCPinger マルチでポート監視が可能

ネットワーク監視系
  Net utility 一通りのネットワークコマンドが打てる

DNS系
  Lookup   nslookupができる
  iDig        digコマンドが打てる

MySQL/PostgreSQL
  iMy MySQLクライアント
  MobileCan PostgreSQLクライアント

監視アプリ
  iStat istatdをLinux/Solarisにインストールするとモニタができる

その他
  IP Port List ポートのリスト表示
  MacLookup Mac Addressを調べられる
  IP Calc サブネット計算
  iAdviceMe セキュリティ情報を調べる

iPhoneを初期化してしまったので、まだ入れるべきアプリがあるかもしれない。

また、サーバ監視ではないが、iPhoneでサーバ構築も可能。
iAwsManagerをインストールするとなんとAmazon EC2のゲストの作成ができる。

6/01/2009

Debian古いバージョン

Debianの古いリリースは、日本だと以下にあります。
●Repository
http://ftp.riken.jp/Linux/debian/debian-archive/
/etc/apt/sources.lstの編集をしてください。

●CD/DVD Image
http://ftp.riken.jp/Linux/debian/debian-cdimage/archive/

5/06/2009

apache に webdav 

debian etchだと以下のコマンドでmod_encoding対応のWEBDAV環境の作成ができる。
# aptitude install libapache2-mod-encoding apache2-mpm-prefork

5/03/2009

ドメイン登録費用だけで、サーバ構築

1.まず、ドメインを取得
どこの業者からでもいいから好きなドメインを取得しておく。その際ネームサーバの入力が必要だが、後で、項目2で判った情報を入れておく。

2.無料でDNS管理をしてくれるサイト
https://www.xname.org/
新規ユーザ登録して、マスターとスレーブのDNSゾーンの作成を行い、1.で取得したドメインのネームサーバを登録しておく。

3.Google Apps
http://www.google.com/apps/intl/en/business/collaboration.html
ここでも新規登録をする。
その際、DNSのゾーンを2.のxname.orgに登録をしておく。
Google Appsは、メールやカレンダー、webが設定できる。

4.オプション
Googlge Webマスターツール
https://www.google.com/webmasters/
でアカウントを作成して、WEBのステータスをトラッキングする。


ドメイン取得、維持手数料以外、0円(サーバ費用、ホスティング費用、回線、構築、保
守、電気代)で作成ができる。

ftpとかでWEBのアップロードはできないっぽいが、メールとWWWだけならば、一番格安かもしれませんね。

4/26/2009

Domain Technologie Control

cpanelのオープンソース版らしい

12/20/2008

PPTP ファイアーウォール

覚書!

1723/TCP
プロトコル番号
47(GRE)
らしい。

12時間奮闘したこと。
debian 4.0でpptpをいろいろ調べたが、中からはつながる(意味ねー!)
外からつながらない。
tcp wrapper?

Bingoooooo!
/etc/hosts.allowに以下を記述
pptpd: ALL: ALLOW

疲れた。。。
設定は、ほかのWEBで記載されているのでOKでした。。。
みんな使ってないのねtcp_wrapper。

セキュリティの基本で、セキュリティの一番弱いところはどこか。
それは、各種セキュリティを鎖に見立てて引っ張ってみる。
一番弱い鎖が壊れる。

この場合、一番強いところが壊れなかったわけで。逆も真なり。