システムのバックアップ
自分の作業用PCと社内サーバのバックアップを取りました。PCはAcronis True Imageを、サーバはmkisofsを使いました。
自分の作業用PCと社内サーバのバックアップを取りました。PCはAcronis True Imageを、サーバはmkisofsを使いました。
- グループcvsを作成し、CVSを使うユーザーにグループを登録
- /var/cvsをrootで作成し、グループをcvsにし、g+rwsにする
- rootでcvs -d /var/cvs initを実行(CVSROOTディレクトリができる)
- Webminでcvsをセットアップ
+ モジュール設定で「CVS root directory」を/var/cvsに設定
+ CVS userに登録されたユーザーは、ここで設定したパスワードで認証。登録されていないユーザーはUNIXパスワードで認証。
+ 「Create top-level CVS directories」は「はい」にする?
+ rootでcvsを起動
外部から使うには、.bash_profileに「export CVSROOT=":pserver:kimoto@server.domain:/var/cvs"」を指定する。最初にcvs loginする。
Wikiなど、CGIにより動的に生成されるコンテンツは、バックアップしたデータ単体では内容を見ることができません。仮に、ネットワーク情報といった復旧に必要な情報がWiki上にあり、Wikiを動かしていたサーバがクラッシュしてしまった場合を考えてみましょう。バックアップデータだけでは内容が見れず、サーバを再構築してCGIなどが動くようにしてデータやソフトウェアをリカバリしてはじめて、ネットワーク情報が見れることになります。手順的に不可能ではありませんが、いろいろ不便です。
そこで、データをバックアップするときに、Wikiのミラーを作成し、同時にバックアップするようにしてみました。wgetを使用すると、以下の方法でミラーが作れます。Wiki以外へのリンクはそのまま残ります。なお、ミラー単体ではWikiのリカバリはできませんので、オリジナルのデータもバックアップする必要があります。
[kimoto@localhost wikimirror]$ wget -r --restrict-file-names=windows -I /wiki/ -E -k -nH http://localhost/wiki/
[kimoto@localhost wikimirror]$ du -k
44 ./wiki/skin
148 ./wiki/image
29156 ./wiki
29164 .
これを定期的にCD-Rにバックアップしておけば、適当なPCにCD-Rを入れてブラウザで開くことで、コンテンツにアクセスすることができます。Windowsマシンで開くことを考えて、ファイル名はWindowsルールに設定しています。
試してみた範囲では、日本語ファイル名がmkisofsでエラーになるようですので、tar.gzなどでアーカイブするのがよいでしょう。アーカイブにした場合でも、そのままでは日本語の含まれるファイル名へのリンクがうまく開けないようなので、リカバリー時に使用しそうなページは英数字の名称にしておくのがよいと思います。
Synergy
http://journal.mycom.co.jp/column/yetanother/091/
OSSでこんなものがありましたのでご参考まで。
「複数のPCを1セットのキーボード、マウスから集中コントロール」
「TCP/IPを使った仮想的なPC切替機」
複数OS混在でもマルチディスプレイが可能で
クリップボードの共有までOK。
私のまわりではOSにアクセス管理があるにも関わらず、常にスーパーユーザー権限でログインしている人が多いようです。例えば以前いた会社でWindows版のアプリケーションのテストをおこなっていたとき、Administratorでないと使用できないという問題がなかなか見つかりませんでした。
外部ネットワーク(インターネットなど)につながるアプリケーションを多用する場合、アプリケーションはログイン中のユーザーの権限を引き継ぎますので、セキュリティーホールや操作ミスなどにより外部のプログラムにシステムの乗っ取りを許す危険が大きくなります。このようなリスクから防御する上でも、できるだけ低いユーザー権限で使用するのが望ましいです。
Windowsの場合、ユーザー登録の際に「制限ユーザー」という選択肢がありますので、こちらを選択するとそのユーザーは重大な影響を及ぼす操作ができなくなります。あるアプリケーションを一時的に他のユーザーとして実行したい場合は、アプリケーションのアイコンを右クリック(Windows2000の場合はシフト+右クリック)すると「別のユーザーとして実行」というメニューがありますので、これを選択してパスワードを入力します。また、アプリケーションのユーザー権限は起動元のユーザー権限を継承しますので、コマンドプロンプト(いわゆるDOS窓)をAdministratorで起動しておき、そこからコマンド名を入力して起動する方法もあります。例えば、Apacheのhttpd.confをメモ帳で開きたい場合などは、Administrator権限のDOS窓からnotepadを起動すれば、きちんと保存することができます。
Administrator権限でないと実行できないものとしては、以下のようなものがあります。
1. システムモニターを見る。 今どうなのか、というのが分かる。
2. top を実行する。 負荷を高くしている原因のプロセスが何か絞ることができる。
3. vmstat を実行する。 連続して確認したい場合は、vmstat 10 のように、 間隔を秒単位で指定できる。 負荷がディスクi/oなのか、ネットワークなのか、CPUなのか、 というような原因の切り分けができる。
新しいサーバーで named が起動しない。
/sbin/service named start
を実行すると、[失敗]となる。 /var/log/messages には、次のようなログが残っている。
avc: denied { dac_read_search } for pid=2686 comm="named" capability=2
scontext=user_u:system_r:named_t:s0
tcontext=user_u:system_r:named_t:s0
tclass=capability
dac_read_search で denied だから、 read の権限がないということが分かる。 /var/named の permission はこうなっている。
# ls -ld /var/named drwx------ 5 root root 4096 1月 19 23:03 /var/named
これでは named がこの下をアクセスできないので、 次のように修正する。
# cd /var # chgrp named named # chmod g+rx named # ls -ld /var/named drwxr-x--- 5 root named 4096 1月 19 23:03 /var/named
これで解決したのだが、 ジタバタしているときに、 もう一つ変更しているので、 こちらも影響しているかもしれない(多分していないと思うが)。 /var/named/chroot が最初このようになっていた。
# ls -lZ drwxr-xr-x named named system_u:object_r:named_conf_t dev drwxr-xr-x named named system_u:object_r:named_conf_t etc drwxr-xr-x root root user_u:object_r:named_conf_t proc drwxr-xr-x named named system_u:object_r:named_conf_t var
named が動いている他のサーバーを見ると、 proc の設定が違っていたので、 次のようにしてコンテキストを変更した。
chcon system_u:object_r:proc_t proc
現在はこの状態。
[root@crm1 chroot]# ls -lZ drwxr-xr-x named named system_u:object_r:named_conf_t dev drwxr-xr-x named named system_u:object_r:named_conf_t etc dr-xr-xr-x root root system_u:object_r:proc_t proc drwxr-xr-x named named system_u:object_r:named_conf_t var
新サーバーで smb が自動的に起動するようになっていなかった。 状態は、次のコマンドで確認できる。
# /sbin/chkconfig --list | grep smb smb 0:off 1:off 2:off 3:off 4:off 5:off 6:off
自動起動する設定ではない。 設定を変更する。
# /sbin/chkconfig smb on # /sbin/chkconfig --list | grep smb smb 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# /sbin/service smb start SMB サービスを起動中: [ OK ] NMB サービスを起動中: [ OK ]
複数のサーバを使用している環境では、ネットワーク上のサーバの状態が一覧表示できると、トラブルの解決に役立ちます。そこで、「エンジニアのための時間管理術」(オライリー・ジャパン)で紹介されていたnagiosを評価してみました。
Red Hat の話の続き。結論から言って、分からない。アカウントがあるので問い合わせたらいい所だが、もう一度 update のツール(GUIの方)を起動したら、なぜかうまく接続できる。ハードウェアの情報を送ってもいいか、というような画面が出ているので、もちろんokとして、activate は無事終わったような感じである。
ただ、メッセージには、update するものはありません、というように出ている。本当なのだろうか? プリインストールしたものを購入しているのだから、update までしておいてくれてもよさそうなものだが、activation の前にそういうことができるのか?
ということで、何となく root で yum update してみたら、
Install 11 Package(s)
Update 400 Package(s)
何か大量に釣れるような。ともあれこれで最新版になったような気がする。
送ったメールの内容を他のpcから盗み見るという設定で、簡単にやっていたようだが、見た感じは社内のLANでパケットモニターしているような方法のように見えた。これが簡単なようで意外と難しい。
LANのデータは二点間をパケットが流れるイメージだが、この経路以外のpcから盗み見ようとしても、最近はハブは殆どスイッチングハブなので、まず他のpcからは見えない。見るためには、スイッチングハブを特殊なものにしてモニターできるようにするか、ゲートウェイやルーターの所にトラップをかけて一網打尽にするか、そういった工夫をしなければならない。これも下手をすると大量のログが残って盗み見る側が破綻する。
以前、どうも外に出て行っているパケットが不審なので、社内から社外に出るパケットをゲートウェイになっているpcの所でトラップしたことがあったが、その時はモニター機能の付いたスイッチングハブをわざわざ購入して入れ替えて対応した。
subversion サーバーにしていた pc が動かなくなった。DELL の PowerEdge SC430 である。完全に操作不能なので電源を強制的に切って、再起動すると、Uncorrectable memory error と表示されている。
よく分からないのだが、F1 を押して起動させてみると、とりあえず動作した。subversion のレポジトリを全部コピーして、gzip で圧縮しようとしたら、ここで応答がなくなった。何も対策していないのだから当たり前なのだが、どうも本当にメモリーが壊れたような感触だ。
本体内に掃除機をかけてみたり、メモリを抜き差ししてみたが改善されない。
このpcは、256MBのメモリが4枚の構成になっている。ならば、2枚抜いてみて、それがエラーの原因になっているメモリだったら解決するのではないだろうか? もしエラーが再現するのなら、抜いたものと入っているものを入れ替えてみればよい。
ということで、半分の512MBのメモリ構成にしてみたら、その後はフリーズしないので、ビンゴだったようである。subversion のサーバーという用途であれば、このメモリ量でも十分だ。