スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


スポンサー広告 | --:--:--
原発の事故調査報告書を読んだことある?

事故調査報告書とは?

福島第一原発の事故発生後、早い段階で事故調査・検証委員会が設けられ(2011年7月に動き始めた)、事故調査報告書は1年後の2012年の7月にまとめられています。

報告書は今でも事故調査・検証委員会のサイト (http://www.cas.go.jp/jp/seisaku/icanps/)からダウンロードできます。

当時の情報と知見に基く報告書なので、事故の解説としては今となっては不十分な面もありますが、報告書で出された提言については今でも色あせていないと思います。その後どうなったかを考えれば、(ちょっと残念な面もありますが)そこで指摘された事故の本質は正しかったことが判ります。

個人的には原発を再稼働させる前に、事故対応の報告書もまとめて欲しいと思うのですが・・・。

事故は他人事なのか?

事故の原因から発生にいたる細かい経緯に違いはあっても、事故の(たいていは複数ある)要因とその構造やパターン、本質的な部分には共通的なものが見られます。同じ物理法則に従った世界で生きているわけですし、事故を生み出す人間の考え方や行動パターンは同じなので当然と見るべきでしょう。(自分だけは違うという人はきっと願望からくる思い込みでしょう)

よく「経験したことがないので・・・」と言い訳する人がいますが、それでは文明は進歩しません。「私は何度も事故を繰り返して成長してきた」なんて言う人は本人以外からすれば迷惑な話でしょう。周囲や過去の事例を研究したり、経験者からノウハウを学んで研鑽すべきでしょう。

事故にいたる前の前兆を見逃してはいけないし、深刻なトラブルになる前に対策することが必要となります。そのためには事故の構造や本質/要因とは何かを理解することが必要となってきます。

でも、何もない所から考えるのは難しいので、過去の他者の事故を例に自分がどうあるべきか?組織がどうあるべきか?を考えてみるのは有益なはずです。

犯人を探して事故を他人のせいにすれば、心情的にスッキリするかもしれませんが、世の中はなかなか良くなっていきません。それよりも事故を教訓に自分や周囲や社会が少しでも良くなるにはどうすべきか?を思案すべきだと私は考えています。

総括と提言だけでも読むことをお勧めします

報告書の内容は膨大ですが、VI章の「総括と提言」に要約的にまとめられていて、それを読めば大多数の人にとっては十分だと私は思っています。それでも90ページ近くありますが・・・。

固有名詞を自分の身近な単語に置き換えると、それって「同じじゃん!」と言いたくなるはずです。

ここでは最後の「委員長所感」の結びの記述を引用しておきます。この最後の一言が本当に伝えたかった事だと私は思うからです。

我々は、この事故を通じて学んだ事柄を今後の社会運営に生かさなければならない。
この事故は自然が人間の考えに欠落があることを教えてくれたものと受け止め、
この事故を永遠に忘れることなく、教訓を学び続けなければならない。


スポンサーサイト
雑記 | 13:58:14 | トラックバック(0) | コメント(0)
Fedora 22 の Open vSwitch が機能しなくなった

Fedora 22 の Open vSwitch が突然機能しなくなった顛末。原因不明だけど、暫定対処の方法までは判っているので書いておく。

突然 Open vSwitch が動作しなくなった

Fedora 22 のデスクトップマシンの Open vSwitch で構成されたネットワークが突然動作しなくなった。(もちろん再起動しても解決したりはしない)

ovs-vsctl show で Open vSwitch の設定は存在するのに、ip link show で見ると、Open vSwitch のブリッジが存在しない。

# ip link show      
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: p3p1:  mtu 7000 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 00:a0:b0:xx:xx:xx brd ff:ff:ff:ff:ff:ff
3: em1:  mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 00:27:0e:yy:yy:yy brd ff:ff:ff:ff:ff:ff
4: p2p1:  mtu 7000 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 00:1b:21:zz:zz:zz brd ff:ff:ff:ff:ff:ff

network の状態を確認すると、どうも Open vSwitch のインタフェースを認識できていない

# systemctl status -l network
* network.service - LSB: Bring up/down networking
   Loaded: loaded (/etc/rc.d/init.d/network)
   Active: active (exited) since Sat 2015-09-05 18:33:38 JST; 9min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 914 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=0/SUCCESS)

Sep 05 18:33:33 xxx.home.yyy.net ovs-vsctl[1785]: ovs|00001|vsctl|INFO|Called as ovs-vsctl -t 10 -- --may-exist add-br ovsbr0
Sep 05 18:33:33 xxx.home.yyy.net network[914]: [  OK  ]
Sep 05 18:33:38 xxx.home.yyy.net network[914]: インターフェース em1 を活性化中:  [  OK  ]
Sep 05 18:33:38 xxx.home.yyy.net ovs-vsctl[1930]: ovs|00001|vsctl|INFO|Called as ovs-vsctl -t 10 -- --may-exist add-br ovsbr0
Sep 05 18:33:38 xxx.home.yyy.net network[914]: インターフェース ovsbr0 を活性化中:  エラー: [/etc/sysconfig/network-scripts/ifup-eth] デバイス ovsbr0 は存在しないようですので、初期化を遅らせます。
Sep 05 18:33:38 xxx.home.yyy.net network[914]: [  OK  ]
Sep 05 18:33:38 xxx.home.yyy.net ovs-vsctl[1965]: ovs|00001|vsctl|INFO|Called as ovs-vsctl -t 10 -- --may-exist add-br ovsbr1
Sep 05 18:33:38 xxx.home.yyy.net network[914]: インターフェース ovsbr1 を活性化中:  エラー: [/etc/sysconfig/network-scripts/ifup-eth] デバイス ovsbr1 は存在しないようですので、初期化を遅らせます。
Sep 05 18:33:38 xxx.home.yyy.net network[914]: [  OK  ]
Sep 05 18:33:38 xxx.home.yyy.net systemd[1]: Started LSB: Bring up/down networking.

openvswitch-nonetwork の状態を確認すると、モジュールのロードで失敗している

# systemctl status -l openvswitch-nonetwork.service
* openvswitch-nonetwork.service - Open vSwitch Internal Unit
   Loaded: loaded (/usr/lib/systemd/system/openvswitch-nonetwork.service; static; vendor preset: disabled)
   Active: active (exited) since Sat 2015-09-05 18:33:29 JST; 10min ago
  Process: 690 ExecStart=/usr/share/openvswitch/scripts/ovs-ctl start --system-id=random $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 690 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/openvswitch-nonetwork.service
           |-851 ovsdb-server: monitoring pid 852 (healthy)                                                                                                                                                                                                                                                                                                                                                          
           `-852 ovsdb-server /etc/openvswitch/conf.db -vconsole:emer -vsyslog:err -vfile:info --remote=punix:/var/run/openvswitch/db.sock --private-key=db:Open_vSwitch,SSL,private_key --certificate=db:Open_vSwitch,SSL,certificate --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert --no-chdir --log-file=/var/log/openvswitch/ovsdb-server.log --pidfile=/var/run/openvswitch/ovsdb-server.pid --detach --monitor

Sep 05 18:33:29 xxx.home.yyy.net systemd[1]: Starting Open vSwitch Internal Unit...
Sep 05 18:33:29 xxx.home.yyy.net ovs-ctl[690]: Starting ovsdb-server [  OK  ]
Sep 05 18:33:29 xxx.home.yyy.net ovs-vsctl[853]: ovs|00001|vsctl|INFO|Called as ovs-vsctl --no-wait -- init -- set Open_vSwitch . db-version=7.6.2
Sep 05 18:33:29 xxx.home.yyy.net ovs-vsctl[858]: ovs|00001|vsctl|INFO|Called as ovs-vsctl --no-wait set Open_vSwitch . ovs-version=2.3.2 "external-ids:system-id=\"9a378e72-d03e-4c2c-ab46-4e21333026b0\"" "system-type=\"Fedora\"" "system-version=\"22-TwentyTwo\"" 
Sep 05 18:33:29 xxx.home.yyy.net ovs-ctl[690]: Configuring Open vSwitch system IDs [  OK  ]
Sep 05 18:33:29 xxx.home.yyy.net systemd[1]: Started Open vSwitch Internal Unit.
Sep 05 18:33:29 xxx.home.yyy.net ovs-ctl[690]: Inserting openvswitch module [FAILED]
Sep 05 18:33:29 xxx.home.yyy.net ovs-ctl[690]: Enabling remote OVSDB managers [  OK  ]

lsmod で確認すると確かにモジュールが読み込まれていない

# lsmod | grep openvswitch

問題の切り分け

モジュールが読み込まれれば問題は解消するのか?ということで、起動後にモジュールを手動で組み込んで、サービスを再起動させてみると Open vSwitch は正常に動作するようになった。

# modprobe openvswitch
# lsmod | grep openvswitch
openvswitch            94208  0
libcrc32c              16384  1 openvswitch
# systemctl restart openvswitch-nonetwork.service
# systemctl status -l openvswitch-nonetwork.service [D
* openvswitch-nonetwork.service - Open vSwitch Internal Unit
   Loaded: loaded (/usr/lib/systemd/system/openvswitch-nonetwork.service; static; vendor preset: disabled)
   Active: active (exited) since Sat 2015-09-05 18:48:41 JST; 11s ago
  Process: 3431 ExecStop=/usr/share/openvswitch/scripts/ovs-ctl stop (code=exited, status=0/SUCCESS)
  Process: 3535 ExecStart=/usr/share/openvswitch/scripts/ovs-ctl start --system-id=random $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 3535 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/openvswitch-nonetwork.service
           |-3647 ovsdb-server: monitoring pid 3648 (healthy)                                                                                                                                                                                                                                                                                                                                                         
           |-3648 ovsdb-server /etc/openvswitch/conf.db -vconsole:emer -vsyslog:err -vfile:info --remote=punix:/var/run/openvswitch/db.sock --private-key=db:Open_vSwitch,SSL,private_key --certificate=db:Open_vSwitch,SSL,certificate --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert --no-chdir --log-file=/var/log/openvswitch/ovsdb-server.log --pidfile=/var/run/openvswitch/ovsdb-server.pid --detach --monitor
           |-3657 ovs-vswitchd: monitoring pid 3658 (healthy)                                                                                                                                                                                     
           `-3658 ovs-vswitchd unix:/var/run/openvswitch/db.sock -vconsole:emer -vsyslog:err -vfile:info --mlockall --no-chdir --log-file=/var/log/openvswitch/ovs-vswitchd.log --pidfile=/var/run/openvswitch/ovs-vswitchd.pid --detach --monitor

Sep 05 18:48:41 xxx.home.yyy.net systemd[1]: Starting Open vSwitch Internal Unit...
Sep 05 18:48:41 xxx.home.yyy.net ovs-ctl[3535]: Starting ovsdb-server [  OK  ]
Sep 05 18:48:41 xxx.home.yyy.net ovs-vsctl[3649]: ovs|00001|vsctl|INFO|Called as ovs-vsctl --no-wait -- init -- set Open_vSwitch . db-version=7.6.2
Sep 05 18:48:41 xxx.home.yyy.net ovs-vsctl[3654]: ovs|00001|vsctl|INFO|Called as ovs-vsctl --no-wait set Open_vSwitch . ovs-version=2.3.2 "external-ids:system-id=\"9a378e72-d03e-4c2c-ab46-4e21333026b0\"" "system-type=\"Fedora\"" "system-version=\"22-TwentyTwo\"" 
Sep 05 18:48:41 xxx.home.yyy.net ovs-ctl[3535]: Configuring Open vSwitch system IDs [  OK  ]
Sep 05 18:48:41 xxx.home.yyy.net ovs-ctl[3535]: Starting ovs-vswitchd [  OK  ]
Sep 05 18:48:41 xxx.home.yyy.net ovs-ctl[3535]: Enabling remote OVSDB managers [  OK  ]
Sep 05 18:48:41 xxx.home.yyy.net systemd[1]: Started Open vSwitch Internal Unit.

インタフェースの状態を確認すると問題なさそうなので、ネットワークを再起動する。

# ip link show
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: p3p1:  mtu 7000 qdisc fq_codel master ovs-system state UP mode DEFAULT group default qlen 1000
    link/ether 00:a0:b0:xx:xx:xx brd ff:ff:ff:ff:ff:ff
3: em1:  mtu 1500 qdisc fq_codel master ovs-system state UP mode DEFAULT group default qlen 1000
    link/ether 00:27:0e:yy:yy:yy brd ff:ff:ff:ff:ff:ff
4: p2p1:  mtu 7000 qdisc fq_codel master ovs-system state UP mode DEFAULT group default qlen 1000
    link/ether 00:1b:21:zz:zz:zz brd ff:ff:ff:ff:ff:ff
5: ovs-system@NONE:  mtu 1500 qdisc noop state DOWN mode DEFAULT group default 
    link/ether f2:1f:bc:ww:ww:ww brd ff:ff:ff:ff:ff:ff
6: ovsbr0@NONE:  mtu 7000 qdisc noop state DOWN mode DEFAULT group default 
    link/ether 00:1b:21:zz:zz:zz brd ff:ff:ff:ff:ff:ff
7: bond0@NONE:  mtu 1500 qdisc noop state DOWN mode DEFAULT group default 
    link/ether e6:dd:87:vv:vv:vv brd ff:ff:ff:ff:ff:ff
8: ovsbr1@NONE:  mtu 1500 qdisc noop state DOWN mode DEFAULT group default 
    link/ether 00:27:0e:yy:yy:yy brd ff:ff:ff:ff:ff:ff
# systemctl restart network

これでネットワークが正常に復帰することが確認できた。

暫定対処

問題のモジュール組込みNG の処理は /usr/share/openvswitch/scripts/ovs-ctl の insert_mod_if_required 関数の中にある。以下はその抜粋。

insert_mod_if_required () {
    # If openvswitch is already loaded then we're done.
    test -e /sys/module/openvswitch -o -e /sys/module/openvswitch_mod && \
     return 0

    # Load openvswitch.  If that's successful then we're done.
    action "Inserting openvswitch module" modprobe openvswitch && return 0

ここでモジュールの読み出しに失敗してしまう理由がよく判らない。

考えられる要因は当たってみたが、どうにも見当がつかないので、ひとまず暫定対処をすることにした。

起動時に openvswitch モジュールが読み込まれるように設定する。以下のようにモジュール組込みを記述して再起動すると、

# cat /etc/modules-load.d/openvswitch.conf 
# load module before openvswitch service
openvswitch

ネットワークの初期化は正常に動作するようになった。

# systemctl status -l network
* network.service - LSB: Bring up/down networking
   Loaded: loaded (/etc/rc.d/init.d/network)
   Active: active (exited) since Sat 2015-09-05 19:31:40 JST; 12min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 944 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=0/SUCCESS)

Sep 05 19:31:25 xxx.home.yyy.net ovs-vsctl[1762]: ovs|00001|vsctl|INFO|Called as ovs-vsctl -t 10 -- --fake-iface add-bond ovsbr0 bond0 p2p1 p3p1 bond_mode=balance-slb lacp=off
Sep 05 19:31:25 xxx.home.yyy.net network[944]: インターフェース bond0 を活性化中:  ovs-vsctl: cannot create a port named bond0 because a port named bond0 already exists on bridge ovsbr0
Sep 05 19:31:26 xxx.home.yyy.net ovs-vsctl[1854]: ovs|00001|vsctl|INFO|Called as ovs-vsctl -t 10 -- --may-exist add-br ovsbr0
Sep 05 19:31:26 xxx.home.yyy.net network[944]: [  OK  ]
Sep 05 19:31:31 xxx.home.yyy.net network[944]: インターフェース em1 を活性化中:  [  OK  ]
Sep 05 19:31:31 xxx.home.yyy.net ovs-vsctl[2004]: ovs|00001|vsctl|INFO|Called as ovs-vsctl -t 10 -- --may-exist add-br ovsbr0
Sep 05 19:31:36 xxx.home.yyy.net network[944]: インターフェース ovsbr0 を活性化中:  [  OK  ]
Sep 05 19:31:36 xxx.home.yyy.net ovs-vsctl[2119]: ovs|00001|vsctl|INFO|Called as ovs-vsctl -t 10 -- --may-exist add-br ovsbr1
Sep 05 19:31:40 xxx.home.yyy.net network[944]: インターフェース ovsbr1 を活性化中:  [  OK  ]
Sep 05 19:31:40 xxx.home.yyy.net systemd[1]: Started LSB: Bring up/down networking.
# systemctl status -l openvswitch-nonetwork
* openvswitch-nonetwork.service - Open vSwitch Internal Unit
   Loaded: loaded (/usr/lib/systemd/system/openvswitch-nonetwork.service; static; vendor preset: disabled)
   Active: active (exited) since Sat 2015-09-05 19:31:22 JST; 13min ago
  Process: 704 ExecStart=/usr/share/openvswitch/scripts/ovs-ctl start --system-id=random $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 704 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/openvswitch-nonetwork.service
           |-849 ovsdb-server: monitoring pid 850 (healthy)                                                                                                                                                                                                                                                                                                                                                          
           |-850 ovsdb-server /etc/openvswitch/conf.db -vconsole:emer -vsyslog:err -vfile:info --remote=punix:/var/run/openvswitch/db.sock --private-key=db:Open_vSwitch,SSL,private_key --certificate=db:Open_vSwitch,SSL,certificate --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert --no-chdir --log-file=/var/log/openvswitch/ovsdb-server.log --pidfile=/var/run/openvswitch/ovsdb-server.pid --detach --monitor
           |-861 ovs-vswitchd: monitoring pid 862 (healthy)                                                                                                                                                                                      
           `-862 ovs-vswitchd unix:/var/run/openvswitch/db.sock -vconsole:emer -vsyslog:err -vfile:info --mlockall --no-chdir --log-file=/var/log/openvswitch/ovs-vswitchd.log --pidfile=/var/run/openvswitch/ovs-vswitchd.pid --detach --monitor

Sep 05 19:31:22 xxx.home.yyy.net systemd[1]: Starting Open vSwitch Internal Unit...
Sep 05 19:31:22 xxx.home.yyy.net ovs-ctl[704]: Starting ovsdb-server [  OK  ]
Sep 05 19:31:22 xxx.home.yyy.net ovs-vsctl[853]: ovs|00001|vsctl|INFO|Called as ovs-vsctl --no-wait -- init -- set Open_vSwitch . db-version=7.6.2
Sep 05 19:31:22 xxx.home.yyy.net ovs-vsctl[858]: ovs|00001|vsctl|INFO|Called as ovs-vsctl --no-wait set Open_vSwitch . ovs-version=2.3.2 "external-ids:system-id=\"9a378e72-d03e-4c2c-ab46-4e21333026b0\"" "system-type=\"Fedora\"" "system-version=\"22-TwentyTwo\"" 
Sep 05 19:31:22 xxx.home.yyy.net ovs-ctl[704]: Configuring Open vSwitch system IDs [  OK  ]
Sep 05 19:31:22 xxx.home.yyy.net ovs-ctl[704]: Starting ovs-vswitchd [  OK  ]
Sep 05 19:31:22 xxx.home.yyy.net ovs-ctl[704]: Enabling remote OVSDB managers [  OK  ]
Sep 05 19:31:22 xxx.home.yyy.net systemd[1]: Started Open vSwitch Internal Unit.


Linux | 20:06:42 | トラックバック(0) | コメント(0)
Windows 10 の Teaming

Windows 10 へのアップグレード後の問題

自宅のデスクトップ機を Windows 10 (Professional) に更新したが、更新後ネットワークインタフェースの Teaming が消失してしまっていた。ネットワークアダプタの設定等を確認してみたが、Teaming に使っていた2つの NIC はリンクアップしているものの、Teaming のインタフェースだけが消えている。

Windows 8.1 では Intel ProSet の Teaming 機能を使っていたのだが、当該設定が見当たらない。

Windows 10 では OS の Teaming が使えるようなので、これを試してみることにした。

Windows Power Shell による設定方法

まずはネットワークインタフェースの現状を確認する
PS C:\WINDOWS\system32> Get-NetAdapter

Name                      InterfaceDescription                    ifIndex Status       MacAddress             LinkSpeed
----                      --------------------                    ------- ------       ----------             ---------
イーサネット 3            Intel(R) Gigabit CT Desktop Adapter           7 Up           68-05-CA-xx-xx-xx         1 Gbps
イーサネット              Realtek PCI GBE Family Controller            10 Up           34-76-C5-xx-xx-xx         1 Gbps
イーサネット 5            Realtek PCIe GBE Family Controller            6 Up           68-05-CA-xx-xx-xx         1 Gbps

MACアドレスが壊れた Teaming のものに見うけられる。

以下のようなコマンドで Teaming を設定する

(コマンドの説明はリンク New-NetLbfoTeam 参照)

PS C:\WINDOWS\system32> New-NetLbfoTeam -Name "Teaming" -TeamMembers ("イーサネット 3", "イーサネット 5") -TeamingMode Static

Name                   : Teaming
Members                : {イーサネット 5, イーサネット 3}
TeamNics               : Teaming
TeamingMode            : Static
LoadBalancingAlgorithm : Dynamic
Status                 :

Teaming 設定後は以下のようになる

PS C:\WINDOWS\system32> Get-NetAdapter

Name                      InterfaceDescription                    ifIndex Status       MacAddress             LinkSpeed
----                      --------------------                    ------- ------       ----------             ---------
Teaming                   Microsoft Network Adapter Multiple...#3       4 Up           68-05-CA-xx-xx-xx         2 Gbps
イーサネット 3            Intel(R) Gigabit CT Desktop Adapter           7 Up           68-05-CA-xx-xx-xx         1 Gbps
イーサネット              Realtek PCI GBE Family Controller            10 Up           34-76-C5-xx-xx-xx         1 Gbps
イーサネット 5            Realtek PCIe GBE Family Controller            6 Up           68-05-CA-xx-xx-xx         1 Gbps

Teaming を生成すると、更新前の Teaming 設定(ネットワーク設定の方はそのまま残っていたらしい)でネットワークは正常に動作した。

備考等

モノが無いので Home エディションでも同じかどうか判らない。



続きを読む >>
Windows | 20:52:07 | トラックバック(0) | コメント(1)
Debian 8.0 へのアップグレード (part 2)

Debian 8.0 (Jessie) へのアップグレード後の諸々の処置

Apache2 が起動していない

アップグレード時に ssl.conf の上書きは(いろいろカスタマイズしていたのが理由で)スキップしたので、手作業で書き変えた。(後から思えば上書きして修正する方が楽だったかも)

起動するために書き換えたのは以下のパラメータでした。

  • SSLSessionCache
  • SSLMutex

あと、SSLCertificateChainFile の古い書式を受け付けなくなっていて、openssl x509 で以下のように再生成したところ、正常に読み込まれるようになりました。

# openssl x509 -in ca-cert.pem -out ca-cert-new.pem
# diff ca-cert.pem ca-cert-new.pem
1c1
< -----BEGIN TRUSTED CERTIFICATE-----
---
> -----BEGIN CERTIFICATE-----
23c23
< -----END TRUSTED CERTIFICATE-----
---
> -----END CERTIFICATE-----

Redmine が動作していない

Apache は動作しているが、Redmine が動作していない。見ると redmine の更新がうまくいっていない。

# dpkg -l | grep redmine
rc  redmine                                   1.4.4+dfsg1-2+deb7u1          all          flexible project management web application
ii  redmine-pgsql                             3.0~20140825-5                all          metapackage providing PostgreSQL dependencies for Redmine
# apt-get install redmine
# dpkg -l | grep redmine
ii  redmine                                   3.0~20140825-5                all          flexible project management web application
ii  redmine-pgsql                             3.0~20140825-5                all          metapackage providing PostgreSQL dependencies for Redmine

それでも動かないので、passenger の状態を確認すると、空っぽで Redmine の登録がうまくいっていないように見える。

# passenger-status 
Version : 4.0.53
Date    : 2015-04-27 09:37:53 +0900
Instance: 28134
----------- General information -----------
Max pool size : 6
Processes     : 0
Requests in top-level queue : 0

----------- Application groups -----------

まずは Passenger のログレベルを変える。Passenger の設定ファイル(/etc/apache2/mods-enabled/passenger.conf)の PassengerLogLevel を 2 にする。

Redmine の設定が見当たらなかったので VirtualHost の中に Redmine の設定を記述する。

        <Directory /var/www/redmine>
                RailsEnv production
                RailsBaseURI /redmine
                PassengerResolveSymlinksInDocumentRoot on
                AllowOverride all
                Options -MultiViews
        </Directory>

こんどは Passenger が動作したが、エラーとなっている。

Permission denied @ rb_sysopen - /etc/redmine/default/database.yml (Errno::EACCES)
  /usr/share/redmine/Gemfile:54:in `read'
  /usr/share/redmine/Gemfile:54:in `eval_gemfile'
  /usr/lib/ruby/vendor_ruby/bundler/dsl.rb:32:in `instance_eval'
  /usr/lib/ruby/vendor_ruby/bundler/dsl.rb:32:in `eval_gemfile'
  /usr/lib/ruby/vendor_ruby/bundler/dsl.rb:10:in `evaluate'
  /usr/lib/ruby/vendor_ruby/bundler/definition.rb:25:in `build'
  /usr/lib/ruby/vendor_ruby/bundler.rb:154:in `definition'
  /usr/lib/ruby/vendor_ruby/bundler.rb:117:in `setup'
  /usr/lib/ruby/vendor_ruby/bundler/setup.rb:17:in `'
  /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
  /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:263:in `block in run_load_path_setup_code'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:366:in `running_bundler'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:261:in `run_load_path_setup_code'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:100:in `preload_app'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:158:in `'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:28:in `
'

パーミッションを確認すると、以下のように問題なさそうに見える。

# ls -l /etc/redmine/default/database.yml
-rw-r----- 1 root www-data 159 Aug 16  2014 /etc/redmine/default/database.yml
# ls -l /usr/share/redmine/config/environment.rb 
-rw-r--r-- 1 www-data root 586 Jul 11  2014 /usr/share/redmine/config/environment.rb

Passenger の設定に以下を追加してやると動作するようになった。

  PassengerUserSwitching on
  PassengerDefaultUser www-data


Linux | 03:24:02 | トラックバック(0) | コメント(0)
Debian 8.0 へのアップグレード (part 1)

Debian 8.0 (jessie) がリリースされたので、HP MicroServer Gen8 で動作している Debian サーバを更新した。

更新作業

更新作業はリリースノートに書かれている通りで、忘れずにバックアップを取ってから作業開始する。

openvswitch の更新で止まる

アップグレード手順(apt-get dist-upgrade)が以下で止まってしまった。

Setting up openvswitch-switch (2.3.0+git20140819-3) ...
Installing new version of config file /etc/init.d/openvswitch-switch ...
Installing new version of config file /etc/logrotate.d/openvswitch-switch ...
cat: /sys/module/openvswitch_mod/srcversion: No such file or directory
cat: /sys/module/openvswitch_mod/version: No such file or directory

止まったプロセスを調べてみると以下のようなプロセスが止まっていて、ovs-appctl が無応答になっていたためだった。

F   UID   PID  PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
0     0 53121 49661  20   0   4316   688 -      S+   pts/4      0:00 /bin/sh /var/lib/dpkg/info/openvswitch-switch.postinst configure 1.4.2+git2012
0     0 53129 53121  20   0   4316   708 -      S+   pts/4      0:00 /bin/sh /usr/sbin/invoke-rc.d openvswitch-switch restart
0     0 53146 53129  20   0   4316   784 -      S+   pts/4      0:00 /bin/sh /etc/init.d/openvswitch-switch restart
0     0 53169 53146  20   0   4448   820 -      S+   pts/4      0:00 /bin/sh /usr/share/openvswitch/scripts/ovs-ctl restart --system-id=random
0     0 53171 53146  20   0   4216   576 -      S+   pts/4      0:00 tee -a /var/log/openvswitch/ovs-ctl.log
1     0 53191 53169  20   0   4448   236 -      S+   pts/4      0:00 /bin/sh /usr/share/openvswitch/scripts/ovs-ctl restart --system-id=random
0     0 53192 53191  20   0  22388  1576 -      S+   pts/4      0:00 ovs-appctl version
0     0 53193 53191  20   0  13208   648 -      S+   pts/4      0:00 sed 1q

停止していたのはスクリプト(/usr/share/openvswitch/scripts/ovs-ctl)の以下の箇所で、原因は突き止めていないが、バージョンの不一致による誤動作だろう。

    292 save_ofports_if_required () {
    293     # Save ofports if we are upgrading from a pre-1.10 branch.
    294     case `ovs-appctl version | sed 1q` in
    295         "ovs-vswitchd (Open vSwitch) 1."[0-9].*)
    296             action "Saving ofport values" ovs_save save-ofports \
    297                 "${script_ofports}"
    298             ;;
    299     esac
    300 }

待てばいつかタイムアウトするのかもしれないが、それほど待つ時間もないので、ovs-appctl のプロセスを kill して先に進んでもらった。

シリアルコンソールが動作しない

シリアルコンソール(iLOのVSP)が動作しなくなっていた。理由は簡単で inittab で指定していた getty 設定が sytemd では動作しないせいだ。以下のように systemd の設定を行うことで VSP 用の getty が起動した。

# ln -sf /lib/systemd/system/serial-getty\@.service /etc/systemd/system/getty.target.wants/getty\@ttyS1.service 
# systemctl start getty\@ttyS1.service

起動後にネットワーク(Open vSwitch)が動作しない

なぜか、起動後にネットワーク(Open vSwitch)が動作しなくなっていた。起動後に service networking restart で再起動させれば動作するようになる。

openvswitch のログ (/var/log/openvswitch/ovs-vswitchd.log) に以下のように気になる警告を発見した。

2015-04-26T14:34:52.948Z|00037|dpif|WARN|system@ovs-system: failed to add eth0 as port: Device or resource busy
2015-04-26T14:34:52.948Z|00038|dpif|WARN|system@ovs-system: failed to add eth1 as port: Device or resource busy
2015-04-26T14:35:39.016Z|00039|dpif|WARN|system@ovs-system: failed to add eth0 as port: Device or resource busy
2015-04-26T14:35:39.016Z|00040|dpif|WARN|system@ovs-system: failed to add eth1 as port: Device or resource busy

busy という事は、Open vSwitch の初期化の前に何か動いていると推測して、ネットワークの設定を見直す。このマシンは元々通常の bonding 構成から Open vSwitch 化していて、旧 bonding の設定が残っていたので、それらをきれいに消してやるとネットワークは起動するようになった。

Open vSwitch の bonding を使うので、bonding モジュールは無効化してあるが、ゴミ設定が残っていると悪さをしてしまうようだ。

しかしまだ、なぜか bonding の経路でパケットが届かないケースがあり、またネットワークの起動で以下のように非常な時間がかかっている。

# systemd-analyze blame | head -3
         43.257s networking.service
          3.328s postgresql@9.1-main.service
          2.850s postgresql@9.4-main.service

ちょっと待て、postgresql が2つ見えるぞ!



続きを読む >>
Linux | 19:31:35 | トラックバック(0) | コメント(0)
次のページ

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。