ソフトウェアRAIDでファイルサーバーを立てて見たくなったので、RAID用のディスクだけ追加して手持ち部品を組み立ててみる。
OSは、最近Debianについて調べる事があったので今回はDebian 4.0 etchをインストールする事にする。まあ、大体以下の感じでセットアップする。
- NETINSTのISOイメージをインターネットから入手
- インストールCDを作成
- CDブートしてブート用ディスクにインストール。データディスクのみRAIDを適用する。
- デスクトップは、KDE環境にする予定だが、標準がGnome環境なので一旦Gnomeでセットアップ
- WEBサーバー(apache2)もセットアップ
- ファイルサーバー(samba3.0)は必須
- 印刷サーバー(CUPS)は特に必要ないが、新しいプリンタを繋いでみたいのでこれもセットアップ
- データベース(PostgreSQL7.4)は、Windowsからの接続を試したいので、これもインストール。
以前Sargeをインストールした時には問題だらけだったが、etchになってからハードウェアの認識も割合良くなったので、用意したPCで特に問題なくインストールは進んだ。
コマンドライン入力をなるだけ行わずに操作する事を考え、KDE環境をインストールする。上手く行けば、設定はほとんどコントロールセンターからできてファイル操作もWindowsライクにできるようになるハズ。
一旦基本的なセットアップができたら、KDE環境をセットアップする。
aptitudeコマンドでKDEをセットアップするにはコマンド一発で、後は待つだけ。# aptitude install kde kde-i18n-jpインストールが終わったら一旦ログオフして再度ログオン。好みでコントロールセンターからフォントサイズを変更。
基本的なインストールはできたので設定を変更する前に、システムのアップデートチェックを実行。
これまたKDEメニューからアップデートマネージャを実行するだけ。アップデートを保留する事は考えていないが、アップデート内容を軽くチェックしてアップデート実行。後は待つ。固定IPアドレス設定
CDから、ほぼデフォルトでインストールしたのでIPアドレスはDHCPで取得するようにセットアップされている。これをLAN環境に合わせて固定IPに設定変更。
KDE環境のコントロールセンターからネットワーク設定で変更。日付・時刻設定
日付設定もインターネットから取得できるように設定。
KDE環境のコントロールセンターからntp使用を指定。samba設定
まあ、個人使用ならデフォルトで特に問題ないけど以下項目を適当に設定。
workgroup設定
security=user/share
unix charset=UTF-8
dos charset=CP932
display charset=CP932/EUC_JP/UTF-8
wins support=yes/no
preferred master=yes/no
domain master=yes/no/auto
local domain=yes/no
os level=20
public=yes/no
データ交換場所の設定は後でRAIDを指定するが、一旦ブートディスクの一部を指定。
msdfs関連をコメントアウト(有効にしておくとクライアントからブラウズ出来なくなるみたい)
smbfsでのマウント動作確認(自分自身がクライアントで接続)困った事にロングファイルネームの扱えない16ビットアプリがあるとsambaのバージョンが問題になる。
3になるとショートネームに互換性が無くなって しまうので、そのようなアプリを使っている場合は、仕方ないが2にバージョンダウンすることになる。
日本語対応版ソースを落としてきてconfigure/makeとしてみると警告だらけだった。
一応実行はできるバイナリができるようだが、もっと古い環境では警告は出なかったと思うのでgccのバージョンを落としてみると3.3で警告 は出なくなる様子。
これでmakeしてインストールしても取り敢えず動作しているらしい。
500GBHDD×2増設でsambaで共有するRAIDを構成してみる。
まずは、物理的にHDDを増設し、BIOSで認識を確認。
OSのブート後、Synapticを起動し、mdadmを選択してインストール。
端末ウィンドウからfdiskで増設したHDDにRAID用パーティション作成(type fd)。
mdadmコマンドでRAIDデバイスを作成。# mdadm --create /dev/md0 --level=raid1 --raid-devices=2 /dev/xxxx /dev/yyyy一旦、デバイスの状態を確認。
# mdadm --detail /dev/md0RAIDデバイス(/dev/md0)にファイルシステムを作成。
# mkfs -t ext3 /dev/md0適当にマウントしてアクセスできる事を確認。
# mount /dev/md0 /mnt/raid起動時にマウントされるように設定(fstabに追加)
/dev/md0 /mnt/raid ext3 defaults 0 2RAIDドライブのマウント先(/mnt/raid)をsambaで共有設定。
ディスクを交換する場合は、多分次の手順になる。
アンマウントしてRAIDの停止(多分、その時は既に機能していないと思うが)
# mdadm --stop /dev/md0ホットスワップ可能ならばそのまま交換できるかもしれないが、一旦電源OFF。
障害ディスクの交換を物理的に行って、fdiskで新ディスクRAID用パーティション作成(type fd)してRAIDに追加
# mdadm --manage /dev/md0 --add /dev/xxxxrebuild処理が実行されるので終了を待つ。
# mdadm --detail /dev/md0で状況確認と、簡単に書いたがリビルドは大体時間がかかるモノだと思う(数時間で終わらないかも)し、処理中はあまり書き込まない方が良いように思えるので、いつ実行するか(/できるか)は・・・。
別環境のデータディスクがあるので、同期もとってみるべくrsyncをインストール
Synapticでrsyncインストール指定
一覧を見るとgrsyncというGUIフロントエンドもあるが、まあ今回は見送り。旧システムのEUC-JPのsamba共有ディスクをリモートマウント(今回のDebian 4.0はデフォルトUTF-8)
mount -t smbfs -o username=xxxx,iocharset=utf8,codepage=cp932 //共有ホスト名/共有名 /mnt/eucsamba旧システムの共有ディスクの内容をRAIDディスクにコピー
rsync -avz --delete /mnt/eucsamba /mnt/raid時間はかかるが、データの同期は終了。
WindowsのNTFSパーティションのマウント
Windowsマシンのデータも一部持って来たかった為、NTFS形式のUSB接続ハードディスクを接続。
# mount -t ntfs -o iocharset=utf8,umask=0222 /dev/xxxx /mnt/ntfsdisk後は、コピーして移行。
Canon iP4300があるので、これを追加する。
Synapticでalienをインストール。
Canonのサイトからrpmパッケージのドライバーをダウンロード。
rpmパッケージをalienコマンドでdebに変換。# alien -c cnijfilter-common-2.70-1.i386.rpm # alien -c cnijfilter-ip4300-2.70-1.i386.rpm出来上がったdebパッケージをインストール。
# dpkg -i cnijfilter-common-2.70-1.i386.deb # dpkg -i cnijfilter-ip4300-2.70-1.i386.debKDEコントロールセンターからプリンター追加。
が、自宅のiP4300では上手く行かなかった。
インターネットでちょっと調べて同じDebianベースのUbuntuでの導入実績を参考にパッケージ/リンクを追加してみる。
追加インストール
libxml1
libpng12-0
libpng12-dev
libgtk1.2-common
リンクの作成# ln -s /usr/lib/libtiff.so.4 /usr/lib/libtiff.so.3 # ln -s /usr/lib/libpng.so /usr/lib/libpng.so.3 # ln -s /usr/lib/libxml2.so.2 /usr/lib/libxml.so.1 # ldconfigCUPSの再起動
# /etc/init.d/cupsys restartこれでプリンターを一旦削除して再登録すると取り敢えず印刷可能になった。
UPSは一般的なAPC製品(Smart-UPS 750)が手元にあるので、これを使用する事を考える。
まずは多すぎるパッケージから探して見ると、あっさりapcupsdというのが見つかる。
Synapticでインストールすると設定ファイルも/etc(/etc/apcupsd/apcupsd.conf)に作ってくれるのでケーブルの種類(UPSCABLE)を標準のsmartにしたままUPSを接続してみる。
コマンドで状態を表示させると充電状態とかも取れている様子。
おもむろにUPSのコンセントを抜いてみる。
とバッテリーに切り替わって動作している。シャットダウンを早めにして放っておくと勝手にシャットダウンも実行される。
設定ファイルのBATTERYLEVELとMINUTESを適当に調整して様子を見る。
GUIもある(gapcmon)ようなのでそれもインストール。初回の実行では監視対象が登録されていないのでローカルを登録するとコマンドで確認した内容が表示される。
監視対象が複数ある時は確認用に良いかも。