Recently in Linux Category
VMwareにはOSを稼働させたままに物理サーバ間を移動できるVMotionという機能がある。Xenでもまもなくリリースするバージョンで同じ事ができるようになるのだが,すぐ名前を忘れてしまうので,メモをする。
Live Migration
前提はSANなどの共有ディスクによるOSイメージの共有と,サーバ間の速いネットワーク。
とあるところでVMotinoのデモを見たが,サーバの移動にかかる時間は1分強だった。もちろんサーバは無停止。
メモリの搭載量を確認するのを忘れたが,1年ほど前の話なので,1GByte程度だろうか。イーサネットが1Gbpsだったのでオーバヘッドとか処理の時間と考えると妥当なのか?
メモリが増えると当然時間もかかるようになる。そろそろ10Gbpsがサーバファームで必要になりそうな時期が来たようだ。
本来オンメモリーで動作するが,Compact Flash や ハードディスクにもインストールすることができる。今回は,ハードディスクへのインストール。
今まで動いていたハードディスクを新しい物へ取り替えする
firmwareの更新
ついでに最新にアップデートしておく。
http://www.plathome.co.jp/support/labo/obs266/index.html#1
から最新のファームをダウンロード
2005-01-19のバージョンをダウンロード
INITボタンを押しながら電源を入れる
ROMで立ち上げて,rootでログイン
ifconfig eth0 192.168.0.64/24
/etc/ftpuser を編集
リモートのftpでzImageを転送
/usr/sbin/flashcfg -f zImage.initrd.treeboot-product
しばらく待つ
doneとでたらおわり
新しいハードディスクへの換装
flashcfg -c initrd
起動デバイスの変更
rootでログインしてパーティションの作成
fdisk /dev/hda
/ で 2048M~
swap で 256M~
/home で残り
Command (m for help): pDisk /dev/hda: 20.0 GB, 20003880960 bytes
255 heads, 63 sectors/track, 2432 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id System
/dev/hda1 1 250 2008093+ 83 Linux
/dev/hda2 251 282 257040 82 Linux swap / Solaris
/dev/hda3 283 2432 17269875 83 Linux
とりあえず,/と/home用
mke2fs /dev/hda1
tune2fs -j /dev/hda1
ROMにはmke2fsしかないので,フォーマット後にext3に変換(ジャーナルを作る)
# mke2fs /dev/hda3
mke2fs 1.35 (28-Feb-2004)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
2162688 inodes, 4317468 blocks
215873 blocks (5.00%) reserved for the super user
First data block=0
132 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000Writing inode tables: done
Writing superblocks and filesystem accounting information: doneThis filesystem will be automatically checked every 30 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
# tune2fs -j /dev/hda3
tune2fs 1.35 (28-Feb-2004)
Creating journal inode: done
This filesystem will be automatically checked every 30 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
以上でできあがり。
# mkswap /dev/hda2
Setting up swapspace version 1, size = 263204 kB
no label, UUID=acba8122-f69a-491e-8b29-6a167636307d
# swapon -a
swapも上記のように作っておく
ssdlinuxのインストール
ダウンロード
http://www.plathome.co.jp/support/labo/ssdlinux/
からssdlinuxをダウンロード
0.2系と0.3系がある。
0.2系はglibcが2.3.1なのでsamba3.0を入れる際にiconvのバージョンが低くて不都合が出る。glibcが2.3.2以降なら問題ない。0.3系のssdlinuxはglibcが2.3.3
0.2はstableで最終リリースは0.2-STABLE-20050723ということで2005-07-23
0.3は開発用で,0.3-20050826が最新。毎週末リリースされる
今回はsamba3.0も使ってみたいので0.2系を選択する
ftp://ftp.plathome.co.jp/pub/ssdlinux/0.3-LATEST/powerpc-obs266/binary/
に入りsrc.tgz以外を入手
MD5のファイルがあるので,ダウンロード後に念のためチェック
ハードディスクのマウント
mount -t ext3 /dev/hda1 /mnt
ファイルの展開
ftpでバイナリを転送
/mnt内で展開
tar zxvf base.tgz
tar zxvf etc.tgz
tar zxvf comp.tgz
tar zxvf man.tgz
残りの contrib.tgz と kern.tgz はとりあえず保留
デバイスファイルの作成
cd /mnt/dev
./MAKEDEV generic
各種設定
/etc/defaults/rc.confで
sshdとnamedとntpdをYESにしておく
gloria modprobe: modprobe: Can't open dependencies file /lib/modules/2.4.20/modules.dep (No such file or directory)
というエラーが出る。
/lib/modules/に 2.4.20が無いので,2.4.20を作っておく
家でサーバを動かしていますが,PlathomeのOpenBlocks266という手のひらサーバ。通称OBS266です。こいつのOSがLinuxなんですが,独自ディストリビューションのSSDLinuxというものです。このディストロがかなり変態的で,アップデートにいつも苦労します。RedHatのようなパッケージ管理システムなど存在せず,昔懐かしなUNIXといった感じです。さらにコンフィグやディレクトリ構造がBSDライクだったりと苦労させられます。でも面白い。BSDなんて触ったのは大学の頃以来なので余り覚えていません。
SuSE Linux 10.0 を使っていて,/etc/rc.local にコマンドを追加しようとして驚いた。
/etc/rc.local がありません。どうやら,/etc/init.d/{before,after}.local がそれに相当する。
私が最近使っているLinuxのディストリビューションにCentOSやOpenSuSEがありますが,これらのLinuxはセキュリティの強化されているSE Linuxが採用されています。いままでのUNIX系OSで使われているファイルのパーミッション以外に,プロセスごとにアクセスできるファイルが厳密に定義されているようです。
で,今日,はまったのが,ApacheのDocumentRootの設定。最近のディストリビューションは/var/www/htmlなどにDocumentRootが設定してあることが多く,/varは別パーティションにしていてあまり大きな容量を割り当ててありません。で,よくやるのがシンボリックリンクなんですが,SE Linux で厳密にファイルアクセスが設定してあるので,シンボリックリンクしても403エラーでみれません。
SE Linuxを正確に理解すればいいのでしょうけど,かなり難しいので今のところできそうにありません。SE Linuxの機能を殺すのが一番いいようです(^^;(いいのか?)
インストールしてみました。
CDでインストールした分は問題ないですが,オンラインアップデートではまります。デフォルトで設定されているアップデートサーバのkddilabが落ちているのか,アップデートはおろかソフトウェア管理までうまく動きません。「インストールするソースを変更する」から別のサイトを登録しないといけません。
とりあえず,http://ftp.jaist.ac.jp/pub/Linux/SuSE/suse/update/10.1/ を入れておきました。