いろいろ

2017年2月 9日 (木)

9年目の運用まとめ

9年目はクライアントの結構大きな改造,OS X Sierra へのアップグレード, Retina iMac の購入プリンタの更新などがあった。トラブルとしては,Orca がメモリ不足で止まったのが最大のトラブルだったが,downtime は5分くらいで済んだ。あとは Ethernet が突然つながらなくなったり,iMac のヒンジが折れたりしたが,診療には影響がなかった。
いよいよ今月から OpenDolphin 運用 10年目に突入である。

  • データベースの PatientModel の件数
    dolphin=# select count(*) from d_patient;
     count
    -------
     26879
    (1 row)
    
  • データベースの ModuleModel の件数
    dolphin=# select count(*) from d_module;
     count
    --------
     1023447
    (1 row)
    
  • Dolphin サーバの df。used が 14G→15G に増加。
    Filesystem      Size  Used Avail Use% Mounted on
    udev            971M  4.0K  971M   1% /dev
    tmpfs           200M  196K  200M   1% /run
    /dev/xvda1       46G   15G   30G  33% /
    none            4.0K     0  4.0K   0% /sys/fs/cgroup
    none            5.0M     0  5.0M   0% /run/lock
    none            997M     0  997M   0% /run/shm
    none            100M     0  100M   0% /run/user
    
  • Orca サーバの df。used が 12G → 19G に増加。
    Filesystem      Size  Used Avail Use% Mounted on
    udev            3.0G  4.0K  3.0G   1% /dev
    tmpfs           601M  228K  601M   1% /run
    /dev/xvda1       46G   19G   25G  43% /
    none            4.0K     0  4.0K   0% /sys/fs/cgroup
    none            5.0M     0  5.0M   0% /run/lock
    none            3.0G     0  3.0G   0% /run/shm
    none            100M     0  100M   0% /run/user
    
  • データベースの dump ファイルのサイズ。
    dolphin_db.dump.gpg 2,046,631,802 
    orca_db.dump.gpg 101,284,291
    
  • 作成したスタンプ数。CodeHelper の改造に伴って,スタンプを整理したため,昨年の 2104 から減少した。
    $ grep -c stampInfo stamp.xml 
    1984
    

2017年1月20日 (金)

OS X Sierra

本日から Sierra (10.12.2)で診療開始。今のところ何も問題なし。

2016年7月 9日 (土)

プリンタ更新

処方箋を印刷していた HL-5450DN が,印刷後に用紙の角がカールするようになったり,文字がにじんでしまったりするようになっていた。何とか使えるレベルではあったが,さらに,時々紙送りに失敗してエラーを出して止まってしまうようになったため,そろそろ限界と考えて,新しいプリンタを買った。ページカウントは 54,578。

当院の初代プリンタ HL-5250DN は14万ページの名機だったが,2代目の HL-5450DN は1台目は9万ページ,今回の2台目は5万ページでの交代となった。既に HL-5450DN は廃番になっていたため,3代目プリンタとして HL-L5100DN を購入した。30万ページの高耐久性をうたっているが,どれくらいがんばってくれるか楽しみである。

Photo 2 3
初代 (HL-5250DN) 2代目 (HL-5450DN) 3代目 (HL-L5100DN)
2008年〜2013年 2013年〜2016年 2016年〜

2016年2月 5日 (金)

8年目の運用まとめ

8年目はサーバの rest 化,orca 4.8,java 1.8, el capitan へのアップグレードなどがあったが,大きなトラブルもなく過ごすことができた。ハードウェアでは,サーバ の HD を,メイン・バックアップ共 SSD (512G) にした。
トラブルでは,プリンタ故障→交換があったが,診療が止まるようなトラブルにはならなかった。

  • データベースの PatientModel の件数
    dolphin=# select count(*) from d_patient;
     count
    -------
     24422
    (1 row)
    
  • データベースの ModuleModel の件数
    dolphin=# select count(*) from d_module;
     count
    --------
     930690
    (1 row)
    
  • Dolphin サーバの df。去年から used が全然増えていないのは,多分,HD 交換でログが整理されたから。
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/xvda1       46G   14G   30G  32% /
    none            4.0K     0  4.0K   0% /sys/fs/cgroup
    udev            971M  4.0K  971M   1% /dev
    tmpfs           200M  184K  200M   1% /run
    none            5.0M     0  5.0M   0% /run/lock
    none            997M     0  997M   0% /run/shm
    none            100M     0  100M   0% /run/user
    
  • Orca サーバの df。7.4G → 12G に増加。
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/xvda1       46G   12G   32G  28% /
    none            4.0K     0  4.0K   0% /sys/fs/cgroup
    udev            469M  4.0K  469M   1% /dev
    tmpfs            99M  220K   99M   1% /run
    none            5.0M     0  5.0M   0% /run/lock
    none            495M     0  495M   0% /run/shm
    none            100M     0  100M   0% /run/user
    
  • データベースの dump ファイルのサイズ。
    dolphin_db.dump.gpg 1,883,168,267 
    orca_db.dump.gpg 90,200,961
    
  • 作成したスタンプ数。
    $ grep -c stampInfo stamp.xml 
    2104
    

2015年10月23日 (金)

El Capitan に移行

El Capitan に移行した。
  • El Capitan に移行したところ,プログラムはいじってないのに monsiaj の GUI 部品のデザインがフラットに変わった。Apple の java 用の L&F 部分が変わったということだろうか。
    YosemiteEl Capitan

    D01old

    D01new


  • OpenDolphin は,機能的には問題なく移行できたが,何カ所か GUI 部品の調整が必要になった。
    • デフォルトボタン,選択ボタンの色が青地に白になったために,ウインドウ状態,pressed / armed 状態,selected かどうか等で text の色を調整しなくてはならなくて,結構面倒くさかった。
    • JTextField の focus ring や文字の表示位置の調整をした。
El Capintan 移行に合わせて,Magic Trackpad を Magic Trackpad 2 に換えた。古い Magic Trackpad はクリックが難しい(上の方でクリックすると,てこの原理でものすごく力がいる)ので,タッチでクリックするように設定していたが,2 の方はどこでも軽くクリックできるので,普通にクリックで使えるようになった。クリック感がとてもよくて気に入っている。

2015年7月17日 (金)

java 1.8.0_51 で全角スペースが入力できない

os x で java 1.8.0_51 にアップデートしてみたら,全角スペースが入力できなくなった。
クリップボードから全角スペースをペーストすると入力できるが,キーボードから入力すると半角スペースになってしまう。標準の日本語入力でも ATOK でも同じだった。
1.8.0_451.8.0_51
キーボードから半角スペースを入力2020
キーボードから全角スペースを入力300020
クリップボードから全角スペースをペースト30003000
キーボードから「あ」を入力30423042
public class Test51 {
    public static void main (String[] argv) {
        JFrame frame = new JFrame();
        JTextField tf = new JTextField();
        tf.addActionListener(e -> {
            String text = tf.getText();
            int code = (int) text.charAt(0);
            System.out.printf("%x%n", code);
        });
        frame.add(tf);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setVisible(true);
    }
}
java version "1.8.0_51"
Java(TM) SE Runtime Environment (build 1.8.0_51-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)

追記
java version "1.8.0_66" でも入力できない
java version "1.8.0_72" でも入力できない
java version "1.8.0_92" で入力できるようになった

2015年3月23日 (月)

ownCloud 8.0.2 にアップグレード

自分用のクラウドとして ownCloud を使用している。これまで ownCloud のアップデートは普通に aptitude update → upgrade で問題なかった。しかし,今回 7.0.4 → 8.0.2 のアップデートではひと手間必要だった。

PPA の導入

ownCloud 8.0.2 では php 5.4 以上が必須であるが,ubuntu 12.04 では,そのままでは使用できないので,PPA(personal package archive)を使う。
$ sudo aptitude install python-software-properties
$ sudo add-apt-repository ppa:ondrej/php5
$ sudo aptitude update
$ sudo aptitude upgrade
現時点では php 5.5.22,apache2 2.4.12,owncloud 8.0.2-5 がインストールされた。その後,ブラウザで ownCloud にアクセスするとアップデートが完了する。

追加の設定

apache2 のバージョンが 2.4 になり,owncloud.conf が conf.d ではなく conf-available / conf-enabled で管理されるようになった。これに合わせて,今まで使っていた owncloud.conf を移動した。
$ sudo cp /etc/apache2/conf.d/owncloud.conf /etc/apache2/conf-available/
$ sudo rm -rf /etc/apache2/conf.d
ブラウザでアクセスして admin を見ると,以下のワーニングが出ていて,設定が必要であった。
  • .htaccess
    PHP charset is not set to UTF-8. This can cause major issues with non-ASCII characters in file names. 
    We highly recommend to change the value of 'default_charset' php.ini to 'UTF-8'.
    
    owncloud/.htaccess に以下の1行を加える。
    <IfModule mod_php5.c>
    php_value upload_max_filesize 513M
    php_value post_max_size 513M
    php_value memory_limit 512M
    php_value mbstring.func_overload 0
    php_value always_populate_raw_post_data -1
    php_value default_charset UTF-8
    
  • config.php
    If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. 
    To avoid these problems, please set the "overwrite.cli.url" option in your config.php file to the webroot path of your installation (Suggested: "/owncloud")
    
    owncloud/config/config.php に以下の1行を加える。
    'overwrite.cli.url' => '/owncloud',
    

2015年2月12日 (木)

7年目の運用まとめ

7年目はハードの更新もなく,windows マシン1台でグラフィックボードが故障して交換した以外は特にシステムに変わったことはなかった。安定した1年だったと思う。

  • データベースの PatientModel の件数
    dolphin=# select count(*) from d_patient;
     count
    -------
     21958
    (1 row)
    
  • データベースの ModuleModel の件数
    dolphin=# select count(*) from d_module;
     count
    --------
     838591
    (1 row)
    
  • Dolphin サーバの df。1年で 12G → 14G に増加。
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/xvda1       46G   14G   31G  30% /
    udev            976M  4.0K  976M   1% /dev
    tmpfs           200M  172K  200M   1% /run
    none            5.0M     0  5.0M   0% /run/lock
    none            997M     0  997M   0% /run/shm
    
  • Orca サーバの df。5.9G → 7.4G に増加。
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/xvda1       28G  7.4G   19G  29% /
    udev            976M  4.0K  976M   1% /dev
    tmpfs           200M  208K  200M   1% /run
    none            5.0M     0  5.0M   0% /run/lock
    none            997M     0  997M   0% /run/shm
    
  • データベースの dump ファイルのサイズ。
    dolphin_db.dump.gpg 1,707,078,356 
    orca_db.dump.gpg 76,656,853  
    
  • 作成したスタンプ数。
    $ grep -c stampInfo stamp.xml 
    2045
    

2014年12月24日 (水)

Yosemite で Server.app (v4.0) の postgres を使う

OS X Server version 3.2.2 の postgres だけを無理矢理 Yosemite で起動することに成功していたが,やっぱりちゃんと新しい Server を買おうと思って,Server.app 4.0 を購入した。

ところが,起動して調べてみると・・・

$ sudo serveradmin status postgres
postgres:error = <62706c69 73743030 d4010203 04050618 19582476 65727369 6f6e5824 6f626a65 63747359 24617263 68697665 72542474 6f701200 0186a0a4 07081112 55246e75 6c6cd409 0a0b0c0d 0e0f1056 4e53436f 64655a4e 53557365 72496e66 6f584e53 446f6d61 696e5624 636c6173 73100180 00800280 035f1014 636f6d2e 6170706c 652e7365 72766572 6d677264 d2131415 165a2463 6c617373 6e616d65 5824636c 61737365 73574e53 4572726f 72a21517 584e534f 626a6563 745f100f 4e534b65 79656441 72636869 766572d1 1a1b5472 6f6f7480 0108111a 232d3237 3c424b52 5d666d6f 7173758c 919ca5ad b0b9cbce d3000000 00000001 01000000 00000000 1c000000 00000000 00000000 00000000 d5>
postgres:errorDescription = "The operation couldn’t be completed. (com.apple.servermgrd error 1.)"
postgres:errorCode = 1

起動していない? サービスのリストを確認すると,postgres がなくなっている!!

$ sudo serveradmin list | grep postgres
$

でも ps を見てみると

$ ps aux | grep postgres
/Applications/Server.app/Contents/ServerRoot/usr/bin/postgres_real -D /Library/Server/Wiki/Database.xpg/Cluster.pg -c log_line_prefix=%t -c log_lock_waits=on -c log_statement=ddl -c logging_collector=on -c max_connections=500 -c unix_socket_directories=/Library/Server/Wiki/PostgresSocket -c unix_socket_group=_teamsserver -c unix_socket_permissions=0770 -c log_connections=on -c listen_addresses= -c log_directory=/Library/Server/Wiki/Logs -c log_filename=postgres-%a.log -c log_rotation_age=1440 -c log_truncate_on_rotation=on

起動している。しかし,起動オプションをよく見てみると

-D /Library/Server/Wiki/Database.xpg/Cluster.pg

Wiki だけのために立ち上がっているようだ。どうやら,新しいサーバでは Server.app のサービスだけが postgres を使えるという仕組みになってしまったようだ。そんな・・・。仕方がないので,Server 3.2.2 と同じように postgres だけ立ち上げることにした。

インストールした OS X Server を,なかったことにする方法

  1. /Applications/Server.app を移動する
    $ sudo mv /Applications/Server.app ~/tmp/
    
  2. /Library/Server を削除する
    $ sudo rm -rf /Library/Server
    
  3. 再起動する
  4. Server.app を元に戻す
    $ sudo mv ~/tmp/Server.app /Applications/
    

あとは,/Library/Server/PostgreSQL/Data フォルダを作って,3.2.2 と同じように設定する。postgres のバージョンは 9.3.5 になっていた。

$ sudo -u _postgres psql -U dolphin dolphin
psql (9.3.5)
Type "help" for help.

dolphin=>

・・・多分 Server.app の使い方としては間違っている。

2014年12月22日 (月)

Yosemite で Server.app (v3.2.2) の postgres を起動する

Yosemite にアップグレードしてふと Application フォルダを見てみると・・・

Server

Server.app が使えなくなっていた。もともと,Server.app は dolphin server を mac で起動するのに postgres が必要だったために購入したものなので,とりあえず Server.app 内の postgres だけ動かすことにした。

まず,postgres がどうなったか調べてみると

$ sudo serveradmin status postgres
postgres:state = "STOPPED"
$ sudo serveradmin start postgres
postgres:error = "CANNOT_START_SERVICE_TIMEOUT_ERR"

当然,postgres は起動しない。そこで,直接 Server.app 内の postgres を起動してみる。

$ sudo -u _postgres /Applications/Server.app/Contents/ServerRoot/usr/bin/postgres -D /Library/Server/PostgreSQL/Data -k /var/pgsql_socket/
FATAL:  database files are incompatible with server
DETAIL:  The data directory was initialized by PostgreSQL version 9.2, which is not compatible with this version 9.3.4.

postgres のバージョンがいつの間にか 9.2 から 9.3.4 に上がってしまっていた。仕方がないので,一旦データベースを消去して作り直すことにする。

$ sudo rm -rf /Library/Server/PostgreSQL/Data
$ sudo mkdir /Library/Server/PostgreSQL/Data
$ sudo chown -R _postgres:_postgres /Library/Server/PostgreSQL
$ sudo -u _postgres /Applications/Server.app/Contents/ServerRoot/usr/bin/initdb -D /Library/Server/PostgreSQL/Data

The files belonging to this database system will be owned by user "_postgres".
This user must also own the server process.

The database cluster will be initialized with locale "ja_JP.UTF-8".
The default database encoding has accordingly been set to "UTF8".
initdb: could not find suitable text search configuration for locale "ja_JP.UTF-8"
The default text search configuration will be set to "simple".

Data page checksums are disabled.

fixing permissions on existing directory /Library/Server/PostgreSQL/Data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
creating configuration files ... ok
creating template1 database in /Library/Server/PostgreSQL/Data/base/1 ... ok
initializing pg_authid ... ok
initializing dependencies ... ok
creating system views ... ok
loading system objects' descriptions ... ok
creating collations ... ok
creating conversions ... ok
creating dictionaries ... ok
setting privileges on built-in objects ... ok
creating information schema ... ok
loading PL/pgSQL server-side language ... ok
vacuuming database template1 ... ok
copying template1 to template0 ... ok
copying template1 to postgres ... ok
syncing data to disk ... ok

WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.

Success. You can now start the database server using:

    postgres -D /Library/Server/PostgreSQL/Data/ -k /Library/Server/PostgreSQL/Data/
or
    pg_ctl -D /Library/Server/PostgreSQL/Data/ -l logfile -o "-k /Library/Server/PostgreSQL/Data/" start

これで postgres が起動するようになる。

$ sudo -u _postgres /Applications/Server.app/Contents/ServerRoot/usr/bin/postgres -D /Library/Server/PostgreSQL/Data -k /var/pgsql_socket/
LOG:  database system was shut down at 2014-12-22 11:09:41 JST
LOG:  database system is ready to accept connections
LOG:  autovacuum launcher started

dolphin データベースをバックアップから復旧する

$ sudo -u _postgres createuser dolphin
$ sudo -u _postgres createdb -O dolphin dolphin
$ sudo -u _postgres /Applications/Server.app/Contents/ServerRoot/usr/bin/pg_restore -Fc -d dolphin dolphin_db.dump
pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 1409594; 0 0 ACL public postgres
pg_restore: [archiver (db)] could not execute query: ERROR:  role "postgres" does not exist
    Command was: REVOKE ALL ON SCHEMA public FROM PUBLIC;
REVOKE ALL ON SCHEMA public FROM postgres;
GRANT ALL ON SCHEMA public TO postgres;
...
WARNING: errors ignored on restore: 1

psql で確認してみる

$ sudo -u _postgres psql -U dolphin dolphin
psql (9.3.4)
Type "help" for help.

dolphin=> \d
 public | d_admin            | table    | dolphin
 public | d_admin_comment    | table    | dolphin
 :

無事 postgres だけ起動できるようになった。

その他のカテゴリー