« 2015年3月 | トップページ | 2015年7月 »

2015年4月

2015年4月17日 (金)

domU の orca サーバ 12.04 を 14.04 にアップグレード

まずは autoremove
$ sudo apt-get autoremove
しかる後にアップグレード。
$ sudo do-release-upgrade
jma-receipt は do-release-upgrade の対象ではないので,自動的に apt line がコメントアウトされる。
リポジトリ情報のアップデート
サードパーティが提供するリポジトリを使わない設定にしました
sources.list にあるサードパーティが提供するリポジトリを使わない設定にしました。アップグレード完了後、'ソフトウェアソース'
ツールもしくはパッケージマネージャーを使って再び利用可能な設定にすることができます。
続けるには [ENTER] キーを押してください
postgres もアップグレード後に設定し直す必要がある。
メジャーバージョン 9.1 はもはや使われません
PostgreSQL バージョン 9.1 は既に使われなくなっていますが、サーバおよびクライアント用パッケージがインス
  :
詳細は /usr/share/doc/postgresql-common/README.Debian.gz を参照してください。
アップグレードは dolphin サーバと同じく,postgres 関連のエラーで終了する。気にしないで新しいカーネルで再起動する。
処理中にエラーが発生しました:
  :
アップグレードは完了しましたが、アップグレード中にいくつかのエラーが発生しました。
続けるには [ENTER] キーを押してください
再起動後に,postgresql 9.1 を purge すると,自動的に postgres-9.3 が設定される。
$ sudo service postgresql stop
$ sudo aptitude purge postgresql-9.1
jma-receipt の apt line を修正する。precise → trusty の書き換えはしてくれないので,手動で書き換える必要がある。
$ cd /etc/apt/sources.list.d/
$ sudo sh -c "sed -e 's/^# //' jma-receipt-precise48.list | sed 's/#.*$//' | sed 's/precise/trusty/' > jma-receipt-trusty48.list"
$ sudo rm jma-receipt-precise48*
jma-receipt のアップグレード
$ sudo aptitude update
$ sudo aptitude upgrade
CLAIM モジュール不具合修正パッチ適用
$ wget https://ftp.orca.med.or.jp/pub/data/receipt/outline/update/claim_update.tar.gz
$ tar xvzf claim_update.tar.gz
$ sudo bash claim_update.sh
claim_update_.log.gzを作成しました。
データベースの初期化
$ sudo service jma-receipt stop
$ sudo jma-setup --noinstall
DBHOST:		OK (PostgreSQL:localhost)
DBUSER:		OK (orca)
DATABASE:	OK (orca)
DBENCODING:	OK (EUC-JP)
OK! データベースをリストア後再度 jma-setupを実行してください
データベースのリストア
$ pg_restore -Fc -d orca orca_db.dump
pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 5177; 0 0 COMMENT EXTENSION plpgsql
pg_restore: [archiver (db)] could not execute query: ERROR:  must be owner of extension plpgsql
    Command was: COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';

pg_restore: WARNING:  no privileges could be revoked for "public"
pg_restore: WARNING:  no privileges could be revoked for "public"
pg_restore: WARNING:  no privileges were granted for "public"
pg_restore: WARNING:  no privileges were granted for "public"
WARNING: errors ignored on restore: 1
もう一回 jma-setup
$ sudo jma-setup
BHOST:		OK (PostgreSQL:localhost)
DBUSER:		OK (orca)
DATABASE:	OK (orca)
DBENCODING:	OK (EUC-JP)
DBKANRI		OK (tbl_dbkanri)
UPDATE CHECK:	OK (online)
DBLIST:		OK (040800-1)
LIST DOWNLOAD:	OK (nothing)
DBVERSION:	OK (0408001)
データベース構造変更処理は終了しました
pg_hba.conf の設定
host   all   all   192.168.1.0/24   trust
postgresql.conf の設定
listen_addresses = '*'
リブート後,monsiaj でアクセスしてプログラム更新,マスタ更新,しかる後にスキーマチェック。
$ wget http://ftp.orca.med.or.jp/pub/etc/jma-receipt-dbscmchk.tgz
$ tar xvzf jma-receipt-dbscmchk.tgz
$ cd jma-receipt-dbscmchk
$ sudo bash jma-receipt-dbscmchk.sh
ubuntu 14.04 の orca 4.8 は 2017年の 9月までサポートされる予定。

2015年4月16日 (木)

domU の dolphin サーバ 12.04 を 14.04 にアップグレード

まずは autoremove
$ sudo apt-get autoremove
しかる後にアップグレード。
$ sudo do-release-upgrade
java 1.8 は PPA でインストールしていたので,do-release-upgrade の際には停止される。
リポジトリ情報のアップデート
サードパーティが提供するリポジトリを使わない設定にしました
sources.list にあるサードパーティが提供するリポジトリを使わない設定にしました。アップグレード完了後、'ソフトウェアソース'
ツールもしくはパッケージマネージャーを使って再び利用可能な設定にすることができます。
続けるには [ENTER] キーを押してください
postgres が 9.1 から 9.3 にアップグレードされるので,これも後で設定が必要になる。
メジャーバージョン 9.1 はもはや使われません
PostgreSQL バージョン 9.1 は既に使われなくなっていますが、サーバおよびクライアント用パッケージがインス
  :
詳細は /usr/share/doc/postgresql-common/README.Debian.gz を参照してください。
アップグレードは下のようなエラーメッセージを出して終了する
致命的なエラーが起こりました
dpkg: error processing package postgresql (--configure):
 依存関係の問題 - 設定を見送ります
処理中にエラーが発生しました:
 postgresql-client-9.3
 postgresql-9.3
 postgresql
アップグレードが完了しました
アップグレードは完了しましたが、アップグレード中にいくつかのエラーが発生しました。
続けるには [ENTER] キーを押してください
=== Command detached from window (Sun Apr  5 09:03:08 2015) ===
=== Command terminated with exit status 1 (Sun Apr  5 09:03:08 2015) ===
ここで,ESC キーを押して
Press x to destroy or r to resurrect window
x でぬけて,新しい kernel で再起動する。 再起動したら,まず postgresql-9.1 を削除する。postgresql-9.1 を削除すると,postgresql-9.3 の設定も行われる。
$ sudo service postgresql stop
$ sudo aptitude purge postgresql-9.1
データベースを pg_upgradecluster でアップグレードしようとすると,ものすごく時間がかかってしまうので,dump から戻すようにする。(pg_upgradecluster では1時間以上たっても終わらなかったが,dump から戻したら 10分で終了した) なお,dump を戻すときは posgresql.conf で fsync = off にしておくと時間の節約になる。
$ sudo -u postgres createuser --super dolphin
$ createdb dolphin
$ psql -c "alter user dolphin with password ''"
$ pg_restore -Fc -d dolphin dolphin_db.dump
java 1.8 の apt line を再有効化する。 /etc/apt/sources.list.d/webupd8team-java-precise.list のファイルネームを変更し,先頭の # を除去して有効化する。*.distUpgrade は削除する。
$ cd /etc/apt/sources.list.d/
$ sudo mv webupd8team-java-precise.list webupd8team-java-trusty.list
$ sudo rm webupd8team-java-precise.list.distUpgrade
$ sudo vi webupd8team-java-trusty.list
$ sudo aptitude update
$ sudo aptitude upgrade
$ sudo update-alternative --config java
以上で ubuntu 14.04 へのアップグレードは完了。

2015年4月15日 (水)

サーバの dom0 を ubuntu 14.04 にアップグレード

勢いで,サーバを ubuntu 12.04 から 14.04 にアップグレードした。

不要なカーネルの削除

アップデート前に,たまった不要なカーネルを削除する。アップグレードの度にきちんと削除していればよかったのだが,めんどくさいのでそのままにしていたら,結構な数の古いカーネルが /boot にたまってしまっていた。 apt-get autoremove をすると初代と最新2つを残して,不要なカーネルを削除してくれる。
$ sudo apt-get autoremove
この時,1つカーネルを削除する毎に,update-grub 処理が入るので,その度に mac os x や xen domU が入っている全てのパーティションをスキャンしに行って,ものすごい時間がかかってしまった。これを避けるには /etc/default/grub に
GRUB_DISABLE_OS_PROBER="true" 
を追加するとよい。

アップデート方法

最近の OS 起動は,MBR ではなく GPT (GUID Partition Table)+ UEFI (unified extensible firmware interface) というシステムに変わってきているらしく,ubuntu 14.04 は新規インストールだと UEFI ブートでインストールすることができる。自宅サーバの mac mini (mid 2011) は UEFI の起動パーティションを持っており,UEFI ブートに対応できる。
$ sudo mount -t msdos /dev/sda1 /mnt
$ ls -l /mnt/efi
合計 1
drwxr-xr-x 4 root root 512  7月  9  2011 apple/
試しに ubuntu 14.04 を新規インストールしてみたら,確かに rEFIt を使わなくてもそのまま ubuntu を起動することができた。しかし,Xen をインストールしたところ,ACPI BIOS Error というのが出て,CPU のコアが 1つしか認識されなかったり,USB が使えなかったりした。
[    0.000000] ACPI BIOS Error (bug): A valid RSDP was not found (20140424/tbxfroot-211)
$ lsusb
unable to initialize libusb: -99
どうやら,ubuntu 14.04 では Xen の UEFI ブートはまだちゃんとサポートされていないらしい (Upstream Linux Kernel will have Xen dom0 EFI support from 3.17-rc1)。当面はMBR 起動で使うことにして, do-release-upgrade でアップグレードすることにした。
$ sudo do-release-upgrade
  :
SSH経由で実行していますが、続けますか? ...
続行する[yN] y
  :
予備のsshdを開始します...
続けるには [ENTER] キーを押してください
  :
アップグレードを開始しますか?...
続行する[yN]  詳細 [d] y
  :
Configuring libc6...
Restart services during package upgrades without asking?
<Yes>
  :
変更された設定ファイル...
設定ファイル /etc/default/xen の新しいバージョンが利用可能ですが、現在インストールされているバージョンは、ローカルで変更されています。 
パッケージメンテナのバージョンをインストール                                
  :
grub-pc を設定しています ...
現在インストールされているローカルバージョンを保持
(GRUB_DISABLE_OS_PROBER の設定の違いのみなので「ローカルバージョンを保持」)
  :
サポートが中止された(あるいはリポジトリに存在しない)パッケージを削除しますか?
 続行する[yN]  詳細 [d] y
  :
システムのアップグレードが完了しました。
再起動が必要です
無事アップグレードされた
$ uname -a
Linux ubuntu 3.13.0-48-generic #80-Ubuntu SMP Thu Mar 12 11:16:15 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

xen の変わったところ

  • xm コマンドが xl コマンドに変わった。
    $ sudo xl list
    Name                                        ID   Mem VCPUs	State	Time(s)
    Domain-0                                     0  7878     8     r-----     120.6
    
  • これまでは /etc/grub.d の番号を変えて xen を優先起動していたが /etc/default/grub.d/xen.cfg で xen の優先起動ができるようになった。
    XEN_OVERRIDE_GRUB_DEFAULT=1
    
  • cfg ファイルの disk の書き方が変わった
  • /etc/xen/auto に cfg ファイルのリンクを入れておくと,dom0 起動時に一緒に起動するようになった。

« 2015年3月 | トップページ | 2015年7月 »