ようこそゲストさん

chibilog

メッセージ欄

2007年10月の日記

一覧で表示する

2007/10/30(火) 多忙・・・

はてブ情報 はてブに登録 はてブ数 2007/10/30 23:11 未分類

とにかく今、忙しいです・・・
全然時間が無いですが、来月になれば落ち着くことでしょう。
落ち着いたら、色々と日記を書くネタがあるので、がんばりますよ・・・
コメントのレスとか遅れてスマソ

とりあえず、軽く話しておくと、今月いっぱいで会社を辞めるんでつよ。
てか、明日で終わりか・・・
そんなわけで、ありがたいことに送別会の類のラッシュでつよ。
まぁ、何で辞めるとか、そもそも、おまいって働いてたの?とかも
そのうち書きますので、ちょっと待っててくださいYO。

あ、ちなみに11月からは、自宅警備員になりますw


1: POSE 『いらっしゃい、仲良くしようね♪』 (2007/10/30 23:59)

2: chibi 『ヤベー、仲間入りしちゃったYO!仲良くしたいような、したくないような・・・w』 (2007/10/31 26:35)

2007/10/22(月) kickstart で CentOS 5 を自動インストールする

はてブ情報 はてブに登録 はてブ数 2007/10/22 22:40 chibilog++

kickstart インストールの環境について

kickstart という仕組みを利用して、CentOS 5 を自動インストールしてみます。
この仕組みを使えば、CentOS に限らず、Fedora や RHEL などのディストリビューションも
自動でインストールすることが可能になります。

今回の kickstart で自動インストールにあたり、前回の記事で紹介した、
PXEサーバ経由で CentOS 5 をインストール
の環境が既に構築済みであるものとします。この環境ができていることを前提に話を進めていきます。

あと、以下に今回使用する環境と、必要なディレクトリやファイルをまとめておきます。
PXEサーバのIPアドレス192.168.1.50
PXEサーバで稼動させるサービスvsftpd, tftpd(xinetd), dhcpd
インストール対象のマシンのIPアドレス192.168.1.100
DVDイメージのマウント先/var/ftp/cent5
PXEに必要なファイル/tftpboot/cent5
kickstart ファイル/var/ftp/ks_cent5.cfg

kickstart ファイルの準備

kickstart ファイルを作成し、/var/ftp に配置します。
ks_cent5.cfg という名前で、以下の内容を保存してください。
install
url --url ftp://192.168.1.50//cent5
lang ja_JP.UTF-8
keyboard jp106
xconfig --startxonboot
network --device eth0 --bootproto static --ip 192.168.1.100 --netmask 255.255.255.0 --gateway 192.168.1.1 --nameserver 192.168.1.1 --hostname Cent.chibi.name
rootpw --iscrypted $1$hxgA33Vz$E/781by1lbNk1pz4Mh0Lc40
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --disabled
timezone Asia/Tokyo
bootloader --location=mbr --driveorder=hda --append="rhgb quiet"
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
clearpart --linux
part / --fstype ext3 --size=5120 --asprimary
part /home --fstype ext3 --size=10240
part swap --size=256
part /var --fstype ext3 --size=100 --grow

%packages
@base
@base-x
@core
@development-tools
@dns-server
@editors
@ftp-server
@gnome-desktop
@japanese-support
@legacy-network-server
@legacy-software-development@mail-server
@mysql
@ruby
@smb-server
@system-tools
@text-internet
@virtualization
@web-server

%post
なお、このファイルは手動で作らなくても、一度システムをインストールすると、
/root に、anaconda-ks.cfg というファイルが出来上がっています。
同じ構成であれば、このファイルをそのまま使用すれば、そのシステムと全く同じ構成で
インストールすることが可能になります。

とりあえず、kickstart を試すという場合には、最初は手動でインストールしておいて、
出来上がった anaconda-ks.cfg を kickstart ファイルに使用して、再度インストールし直すのがいいかもです。
なお、上記で紹介した kickstart ファイルの構成は、僕の環境で試したものそのものになるので、
適宜、変更してしまってください。

このファイルの内容についてですが、何度か CentOS などをインストールしたことがあれば、なんとなく分かると思います。
インストールで進めていく際に選択する事項を予め決めておき、このファイルに書いておくというというイメージになります。

このファイルの中で何点か設定についてピックアップすると、
url今回はFTPからイメージを取得するので、FTPサーバのIPアドレスとパスを指定
networkクライアントのIPアドレス情報やホスト名情報を指定
firewallとりあえず無効にしてインストールしてる
selinuxこれも無効にしてインストール
clearpart --linux現在のパーティション情報をクリアーにする
partパーティションの指定
%packagesインストールするパッケージの選択
%postこの記述の後ろにコマンドを書いておけば、インストール後に実行してくれる
更に上記について補足。
  • part
    • --asprimary はプライマリパーティションに指定のオプション
    • --grow は利用可能な最大容量を指定のオプション
  • %packages
    • 特定のパッケージが不要の場合は、-package のように先頭にマイナスを付けて記述しておく

kickstart の準備

上記のファイルが作成し終わったら、あとは /tftpboot/cent5/pxelinux.cfg/default ファイルの中身を
前回のPXEサーバ経由のインストールの時と若干変更するのみです。

以下みたいな感じに変更します。
# vi /tftpboot/cent5/pxelinux.cfg/default
default cent5

label cent5
kernel vmlinuz
append load initrd=initrd.img ksdevice=eth0 ks=ftp://192.168.1.50/ks_cent5.cfg  devfs=nomount
重要なのは、ks=.* の記述です。kickstart ファイルもイメージと同じくFTP経由で取得するので、
/var/ftp 以下に配置しました。ここでは、kickstart ファイルの場所の指定をします。

以上で、kickstart を使って自動インストールできる準備は整ったので、
インストール対象のマシンを、PXEブートさせてやってください。
自動でインストールが進んでいきます!パッケージインストール後の再起動ボタンを押すまで何もすることがありません。
ご飯でも食べながら気長にインストールが完了するのを待ちましょうw

2007/10/22(月) 5分で読む chibi 様の一週間

はてブ情報 はてブに登録 はてブ数 2007/10/22 21:58 未分類

5分で読む chibi 様の一週間日記ですよ。一週間といいながら3日分くらいの日記ですが。

金曜は、会社の同期と飲み会ですた。仕事帰りということもあって六本木で飲んでたのですが、
チェーン店みたいなとこだったので安かったー。いつもは凄い高いイメージだったんだけど、
このくらいの値段ならお手頃ですた。結構、飲んで食べてたんだけどねー。

しかし、みんな違う部署の香具師だったので、色々な話が聞けて面白かったYO。
やっぱ、定期的に飲み会はやらないとダメだねー。

土曜は、久しぶりに ちゃーしゅー屋 ってゆーラーメン屋に行ってきますた。
ここの 直火ちゃーしゅー が凄い大好物なんですよ・・・本当に美味しいんですよ。
そして驚いたのが、店が改装されてて凄い綺麗になってた!
しかも微妙に広くなってたし、食券になってたしw
暫く行ってない間に繁盛したのだね。本当に嬉しい限りですYO。

日曜は、牛角でご飯食べますた。
牛角とかすげー久しぶり過ぎ。やっぱあれだね、この店で頼むべきは、
ベーコンだね。肉とかいらないよ。ベーコンとライスだけでおk。

あとは、デスパレートな妻たち ってゆーシリーズの海外ドラマがつい最近まで
土曜の深夜にNHKで放送されてて凄い好きになってしまったので、
デスパレートな妻たち セカンドシーズン を借りてきました。
早いとこセカンドシーズンを見終わらないと!

今、空気読まずに 3 が放送始まっちゃってるからさ・・・ 2 を見てない僕には、
変化があり過ぎて、サッパリついていけないわけですよ。

そして今日の月曜。普通に仕事。そして月曜恒例の超寝不足。
僕とか土日で生活が崩壊するので、月曜とかいつも寝不足なわけですよ。


さて、今週~来週は飲み会やらが多そうですよ。


1: 『うちも土日はたまに夜更かしてとかして遊んでるけど、その分昼とか夕方に普段より余計に寝てストック溜めてるせいか月曜は逆に元気いっぱ...』 (2007/10/22 22:22)

2: chibi 『そうなのよ、僕も土日は昼とかにたくさん寝てるんだけど、そのせいなのか夜になると、みなぎってきちゃったね・・・全然眠くなくなっちゃ...』 (2007/10/22 23:42)

3: POSE 『昼も夜もたくさん寝れば解決じゃない?』 (2007/10/22 25:48)

4: chibi 『昼も夜も寝てるから、夜中に寝れなくなっちゃうわけだよ・・・やっぱ、1日20時間くらい寝ないと人間ダメだと思うんだ。』 (2007/10/25 9:22)

5: 『一日20時間とか寝すぎで逆に疲れるよwwwそっちのがある意味ダメ人間になっちゃうおwうちは普段でもちまちま寝るほうだからかなぁw...』 (2007/10/26 23:12)

6: chibi 『いや、すでにダメ人間だから20時間寝れるんだってw確かに寝すぎで疲れるかも・・・疲れが取れないのはこのせいか・・・社会人になった...』 (2007/10/30 23:10)

2007/10/18(木) たこ焼き と DNSラウンドロビン

はてブ情報 はてブに登録 はてブ数 2007/10/18 20:46 未分類

江古田駅前に 「海のなかま」 ってゆー、たこ焼き屋さんがあるんですが、
ここのたこ焼きとか、今川焼きが凄い好きでね・・・
宣伝乙って感じだけど、本当に美味しいんだよww
ゲーセンとか朝から行ってる人は、昼はこの店でたこ焼きでも買って、
ゲーセンで食べるのがいいと思うよ。

ここの店のネックは、閉店が20時なとこかな・・・
仕事帰りに買うのがなかなか難しいんだよね。
今日はどうしてもたこ焼きが食べたかったから、ほぼ定時で帰ってきたけどw


さてと、たこ焼きの話はここまでにして、今日は1つ知ったことがあるのでカキコしますよ。
それは、DNSラウンドロビンについてです。いや、DNSラウンドロビン自体は知ってるんだけど、
その見落としていた点というか、「え?そうだったの?」ってゆーのがあったんですよ。

参考のページは、以下です。
チープなDNSラウンドロビンは高価なロードバランサの座を奪い返せるか

上記のページをちょっと引用しますね。

DNSラウンドロビンの欠点は、分散先のサーバが障害で停止しているとしても
そのIPアドレスを返してしまうのを避けられないことだ。
したがって、壊れているWebサーバのIPアドレスをDNS問合せ結果のリストの
最初として返されてしまった運の悪いWebブラウザはWebページを見れないことになる。


と、まぁ僕もこの通りだと思ってたんですよ。
でも実際は違うみたいで・・・

あまり知られていないことかもしれませんが、DNS があるホスト名に対して
複数の IP アドレスを返した場合、多くのウェブブラウザは、その全てのアドレスに対して
接続を試みます (接続に成功するまで)。

みたいなんですよ。

なるほど、ブラウザって凄いのね・・・
これだと、そのIPアドレスが振られてるサーバが落ちてて、接続できない状態だったら
次のIPに接続を試みて・・・って、ちゃんと接続が成功するまで試みてくれると。

僕はてっきり、最初に引用した通りだとずっと思ってたので、
これを知ったときは驚きだったんですが、常識っすかね・・・

と、まぁ、そんなわけで、たこ焼きでも食べますよw


1: Resent 『本当はTips的な内容なのですが・・・っChibiさんのサーバ(メイン&お遊び機)って大体どれぐらいのスペックしてるのでしょうか...』 (2007/10/21 25:42)

2: chibi 『うちのはPCはそんなにスペックは無いですよー。メインサーバが、CPU: Celeron 2.40GHz, Memory: 256...』 (2007/10/22 21:48)

3: Resent 『えっと…じゅーーぶんですよ!スペック。うちのマシンの10倍以上…(どちらも)これどちらも不自由なく動いていますか?電気代は実際に...』 (2007/10/23 27:23)

4: chibi 『おお、十分でしたか・・・普段仕事で使ってるスペックのせいで、麻痺してましたwうちのマシンは何も問題無く動いてますねー。遊びサーバ...』 (2007/10/25 9:25)

5: Resent 『月額の電気代を気にするか、一時のサーバ購入代を気にするか…は永遠の課題ですよねwCore2Duoは純粋に高い、Pentium-M...』 (2007/10/26 20:12)

6: chibi 『やっぱり自宅サーバって余ったPCを使ってってパターンが多いと思うので、スペックは気にせず、電気代も気にせずってのがいいかもですね...』 (2007/10/30 23:07)

7: Resent 『今思えば、うちの初代サーバもノートでした。ノートPCは、”バッテリーが生きてる”と非常に便利ですよねw ただUPSの役割を果たせ...』 (2007/11/04 11:23)

2007/10/14(日) サーバに接続できなくなった件

はてブ情報 はてブに登録 はてブ数 2007/10/14 17:46 未分類

さてと、うちの環境でもちょっとお話しますよ。

うちの机には、何体ものフィギュアが設置されてます。そして、机の正面の壁には、
アルカディアの何月号かに付いてきた、IIDX GOLDの絶対領域モエスなお姉さんの
ポスターが貼っておりますよ。

こんな環境のお話ではなく・・・

今って、このブログだとかは自宅サーバで動いてるんだけど、
このサーバってのが実家に設置してあるものなんですよ。
それで、僕は今は実家に住んでないとw 実家サーバってやつですな。

なので、このサーバをメンテナンスしたりだとかする時は、今の僕のお住まいから
SSH で接続してあれこれやるわけですが、SSH が接続できなくなってしまったのですよ・・・
マジで頼みの綱が SSH しか無いもんだから、これで接続できなくなると
実家に戻って、直接キーボードとディスプレイを刺して(ry って感じなわけですよ。
まぁ、徒歩2分くらいのとこなんで何ら苦ではないのですが・・・
これが実家がアメリカにあるだとかになると大変なお話ですよ。

それで、まぁ今回接続できなくなったのですが、とりあえずやったことと言えば、
sshd_config の設定を若干修正して、sshd をリスタートしたくらい。
その直後に接続不可ですよ。あれ・・・設定ファイルの書式とかでも間違えたかな・・・
確かに寝ぼけながらやった作業だから、ありえると言えばありえますが、
でも、やった作業って確か、「yes」 → 「no」 に変更するだけだったから、
いくら僕でも間違えないと思ったわけですよ・・・

それで、このサーバからは定期的に、ログの一部の貼り付けだとか、
現在動いてるサービスだとかの情報がメールで届くわけですが、それを見てみると、
確実に sshd は起動してない状態ですた。

ただ、注意深くログを見てみると原因が分かったのですよ。
sshd のリスタート直後くらいに以下のようなログが出てたんですよ。


sshd[21122]: fatal: Cannot bind any address.
sshd[20991]: Received signal 15; terminating.

ソケットにポートを割り当てられなくて(bind() が失敗して)、糸冬了って感じかな?

どうやら流石の僕も、「yes」 → 「no」 に変更する処理で間違いは無かったということですよ。
今回は設定ファイルは特に問題無し。

そして思い出しましたよ・・・この sshd をリスタートする前にやっていたことを・・・

耐久テストみたいなのをやってて、このサーバの FTP だとか HTTP だとか SSH に
コネクションを貼りまくってたんですよね・・・
それで、ソケットディスクリプタを使い切ってる状態で、タイミング良く、sshd を
リスタートしたものだから、bind() が失敗して、sshd の起動失敗。
それで、SSH での接続が出来なくなったというわけね。

まぁ、なんだタイミングが悪いというか何というか・・・
てか、ソケットディスクリプタ(ファイルディスクリプタ)の数を増やしておくわ・・・

とりあえず、上記のような原因と分かったので、単純にssh さえスタートし直せば、
上がることが分かったので、徒歩2分歩くのが面倒臭かったので、
お母様に電話して、このサーバをリブートしてもらいました。
リブート後はちゃんと sshd もスタートしてくれて、今は無事に接続できております。


さて、今回みたいに、単純に設定ミスもなく、sshd が落ちてた時に、
お母様の力を借りずに sshd をスタートさせたいと思ったのです。
なので、以下みたいなスクリプトを作成して、cron に登録しておきました。

このスクリプトは、sshd が起動しているか確認し、起動しているなら特に何もせず、
sshd が起動してないようなら、sshd を起動させるという単純なスクリプトです。
これを 3時間置きくらいに実行するように、cron に登録しておきました。
これで万が一、今回みたいに sshd が落ちても cron で実行してくれて復旧でつ。

このスクリプトの名前は、dead_or_alive.pl としてみますた。
あの水着のお姉さんたちがビーチバレーとかやるゲームですな。


#!/usr/bin/perl
use strict;
use warnings;

my $lsof = '/usr/sbin/lsof -nPi:';
my $service = 'sshd';
my $port = "22";

open IN, "${lsof}$port |" or die "Can't exec lsof: $!";
my $result = <IN>;
close IN;

unless (defined($result)) {
    system "/etc/init.d/$service start";
}


1: POSE 『お母様クソワラタwwwwwwwww今度chibiたんの部屋に突撃するわwwwwwwww』 (2007/10/15 15:17)

2: chibi 『ちょwwww笑うとこないwwwwお母様使うの基本だってwwwうちに突撃とか!!早く来なよwベランダにダンボール用意して待っててや...』 (2007/10/16 23:15)

3: POSE 『え、chibiたんのブログとか基本笑いながら観るものでしょ?つーか又ベランダかよwwwww僕が通してもらえる場所はベランダしか無...』 (2007/10/17 20:22)

4: chibi 『えええええええ、今回のは凄く真面目な日記だよwwwそのなんだ、トラブル集というか何というか・・・ベランダじゃダメなのかよwwんじ...』 (2007/10/18 20:25)