サーバダウン時の対応
- 二重化は難しそうなのでしていない。
- 毎日診療終了後,メインマシンの Xen の仮想サーバ(dom-U)をバックアップマシンに丸ごとバックアップしている。
- メインマシンが故障した場合,バックアップマシンで dom-U を立ち上げると,昨日診療終了時の状態でサーバが立ち上がり,クライアント側では設定変更をせずに,すぐに診療を続けることができる。クライアント側で一切設定変更をしなくて済むのがこの方式の利点。
- 一度,メインマシンのメモリが壊れたが,その時は壊れたまま1日の診療を終了できた。そして,翌日新しいメモリを手に入れて交換するまで,バックアップマシンを使用した。幸い,データ喪失なしにメインマシンの故障に対応できた。
- しかし,診療途中にメインマシンが故障してバックアップに切り替えた場合,その日の診療開始から故障するまでの診療内容の記録は失われてしまう。
- 多分,その日の診療終了後に時間をかけて復旧すれば,データを救い出せるとは思うが,ハードディスクがどうやっても全く読めない最悪の事態もあり得る。
- データを救い出せない場合,失われたデータは入力し直しになるが,その際,受付ノートと処方箋があれば,問診票や過去カルテを見ながら診療内容を思い出して再現できる自信はある。
- そこで,処方箋と領収書を打ち出す際に,pdf ファイルとしてバックアップマシンにコピーを保存するように設定した。これで,メインマシンのハードディスクが全く読めないという事態になっても,サブマシン側に処方箋と領収書は残る。
印刷時に pdf ファイルをバックアップマシンにコピーする
- lp ユーザの $HOME を調べて,.ssh を作成し,公開鍵認証でバックアップマシンとパスワードなしで通信できるように設定しておく。
root@orca # su - lp lp@orca $ echo $HOME (lp のホームディレクトリを確認) /var/spool/lpd lp@orca $ exit root@orca # mkdir /var/spool/lpd/.ssh root@orca # cp 秘密鍵 /var/spool/lpd/.ssh (秘密鍵の設定) root@orca # chmod 600 /var/spool/lpd/.ssh/秘密鍵 root@orca # chown -R lp:lp /var/spool/lpd/.ssh (.ssh ディレクトリを lp がアクセスできるように設定) root@orca # su - lp lp@orca $ slogin -i .ssh/秘密鍵 -l backup backup-machine The authenticity of host '[backup-machine]: ([192.168.1.xxx]:22)' can't be established. RSA key fingerprint is 5b:46:eb:d1:b8:f9:8f:f7:71:95:0a:11:6d:58:a6:dc. Are you sure you want to continue connecting (yes/no)? yes Linux backup 2.6.18-6-686 #1 SMP Tue Jun 17 21:31:27 UTC 2008 i686 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Fri Aug 22 05:11:42 2008 from 192.168.1.xxx backup@backup-machine $
- /usr/lib/cups/backend/pdf を作る。実行属性を与えるのを忘れずに。
#!/bin/sh # # lp が書き込みできるディレクトリ,何でもいい PDFDIR=/var/spool/cups-pdf/ANONYMOUS # pdf ファイルの名前 PDFNAME=`date +%Y%m%d-%H%M%S` # ps ファイルを pdf に変換するコマンド PS2PDF="/usr/bin/ps2pdf -sPAPERSIZE=a5" # pdf ファイルをコピーするマシン BACKUPDIR="backup@backup-machine:pdf" # 公開鍵認証 KEY=/var/spool/lpd/.ssh/秘密鍵 # ここの設定が,cups でプリンタ登録する際にデバイス欄に現れる # pdf1 のところを pdf2 などとして別ファイルを作ればプリンタを増やせる if [ $# -eq 0 ]; then echo "direct pdf1:/ \"customized backend\" \"PDF Writing\"" exit 0 fi # まず,実際の印刷処理を行う lp -d lp1 $6 (領収書,処方箋は lp1 で印刷している) # ps ファイルを pdf に変換 $PS2PDF $6 $PDFDIR/$PDFNAME.pdf chmod 666 $PDFDIR/$PDFNAME.pdf # 出来上がった pdf をバックアップマシンに転送 scp -i $KEY $PDFDIR/$PDFNAME.pdf $BACKUPDIR # 転送終了後消去 rm $PDFDIR/$PDFNAME.pdf exit 0
- cups にアクセスして,pdf という名前でプリンタを新しく作る。デバイスは PDF Writing,モデル/ドライバは何も選択せずにプリンタの追加をクリック,メーカーは Raw,モデルは Raw Queue (en) を選択。
- ORCA の「出力先プリンタ割り当て情報」(システム管理マスタ)で,出力先を,上で登録したプリンタ名 pdf にする。
« TreeCellEditor 設定 | トップページ | コードヘルパー »
「サーバ」カテゴリの記事
- サーバの CPU アップグレード(2023.02.11)
- 業務用マシンを ubuntu 20.04 にアップグレード(2023.02.10)
- 自宅サーバのアップデート (2)(2023.02.08)
- 自宅サーバのアップデート (1)(2023.02.07)
- OwnCloud 10.9.0 へのアップグレード(2021.12.23)