Archive for the 'freebsd' Category

May
14

さくらの専用サーバに入っている FreeBSD 5.4-RELEASE を 6.3-RELEASE にリモートアップデートしてみた

現在、ジョグノートで借りている さくらインターネット のサーバで、古いものは FreeBSD の 5.x 系が入っています。
先日 7.0 がリリースされて、6.x シリーズも Legacy になったので、そろそろ 5.x 系も 6.x 系にアップグレードすることにしました。
基本的には handbook にある通りに作業をすればよいわけですが、物理的に完全に隔離された場所にサーバがあり、コンソールはおろか、リセットスイッチさえ押せないので、全ての作業をリモートから行う必要があります。
handbook の手順だと、一旦シングルユーザモードでの再起動が必要になりますが、リモートでアップグレードを行う場合には、そうするわけにはいきません。
マシンに接続されているキーボードにアクセスすることができないので、ブートマネージャにシングルユーザモードで起動する旨を伝えることもできないし、仮にさくらの人に何とかしてもらうことにして、シングルユーザモードで起動しても、telnet や ssh で中に入ることはできません。
シングルユーザモードですから、直接 root で作業をするしかないのです。
ということで、途中でシングルユーザモードでの再起動をしないで全ての作業を行う、というのが、今回のアップグレードの要になります。
さて、作業の手順です。
まずは cvsup を用いて最新版のソースを取ってきます。
/usr/share/examples/cvsup/standard-supfile あたりを参考に、次の内容でファイルを用意します。

*default host=cvsup2.jp.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_6_3
*default delete use-rel-suffix

src-all

余談ですが、host として指定した cvsup2.jp.FreeBSD.org は、実はYahoo! JAPANのサーバだったりします^^;
Yahoo! JAPAN は FreeBSD のヘビーユーザとしても有名ですね。

; <<>> DiG 9.3.4-P1 <<>> cvsup2.jp.FreeBSD.org
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: [...]

Mar
12

MogileFSをFreeBSD 6.2上にインストールする

MogileFSという分散ファイルシステムがあります。これは大雑把に言うと、ネットワーク上にある複数台のマシンをストレージとみなすことにより、分散ファイルシステムを実現したものです。MogileFS上に保存するファイルにはプライオリティをつけることができ、その重要度によって必要分だけMogileFS上にコピーが作成されます。各々のストレージマシンは取り外しが簡単にできるようになっていて、突然マシンが故障してファイルが取り出せなくなっても、そのマシンを使わないように設定すれば、他のマシンに保存してあったファイルを元に、また別のマシンに必要分だけコピーが生成されます。
MogileFSについてのもっと詳しい説明は、以下のページがとても参考になります。

Six Apart – Tech Talk Blog: 分散ファイルシステム MogileFS について
Six Apart – Tech Talk Blog: MogileFS のインストールと初期設定

ちなみに、MogileFSはmemcachedで有名なDanga InteractiveのBrad Fitzpatrickさんが開発したものです。
MogileFSはPerlで書かれており、CPANにも登録されているので、CPAN経由でインストールするのが楽そうです。
ですが、MogileFSについてよく知らないし、他の現在運用中の何かと競合してしまっても困るので、完全に独立したディレクトリにPerlをインストールして、そこにsvnから取ってきた最新のMogileFSをインストールすることにしました。
MogileFSのインストール方法は本家のwikiが参考になります。
また、MogileFSの司令塔であるTrackerは非root権限で動作させる必要があるので、MogileFSのための専用のアカウントを作成することにします。

% sudo groupadd mogile -g 60056
% sudo useradd mogile -u 60056 -g mogile -s /usr/sbin/nologin

ユーザmogileのホームディレクトリは /home/mogile になるので、/home/mogile 以下にMogileFS環境を構築していきます。
まずはPerlを /home/mogile/perl にインストールします。
CPANからPerlのソースを取ってきて展開します。

% sudo -u mogile mkdir /home/mogile/src
% cd /home/mogile/src
% sudo -u mogile wget ‘http://www.cpan.org/src/perl-5.10.0.tar.gz’
% sudo -u mogile tar zxvf perl-5.10.0.tar.gz
% [...]