2013年4月12日金曜日
【Linux】RAID1が縮退運転しおった
やられたぜ・・・・
/dev/md0:
Version : 1.2
Creation Time : Mon Dec 3 17:39:14 2012
Raid Level : raid1
Array Size : 97590144 (93.07 GiB 99.93 GB)
Used Dev Size : 97590144 (93.07 GiB 99.93 GB)
Raid Devices : 2
Total Devices : 1
Persistence : Superblock is persistent
Update Time : Fri Apr 12 00:31:47 2013
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 0
Spare Devices : 0
UUID : 84c532e6:58e0cc48:c30029c5:37eb4163
Events : 731
Number Major Minor RaidDevice State
0 0 0 0 removed
1 8 18 1 active sync /dev/sdb2
交換用のHDD買うか・・・・
とりあえず買ってみたものの、sdbのgrubが起動しない。
環境はこんなかんじ
Ubuntu 12.04
md0: sda2 sdb2
md1: sda3 sdb3
md2: sda4 sdb4
grubのOS選択画面で再起動がかかり、BIOS画面と行ったり来たりする。
grubの設定を変更してもだめ、grubシェルでlsしようとしたり、insmodしようとして、補完でTABキー打つと再起動する。
意味分かんない。
旧sdaから新sdaを全部コピーしてみたらできたので、物理的に新しいHDDにした状態で上の状態になった。
あとはmdadm /dev/md0 -a /dev/sda2とかしてリビルドして完了。
なぜか1パーテーションがビジーって言われたけど、再起動したら無問題だった。
よかったよかった。
2013年4月4日木曜日
【CakePHP】$this->renderとbeforeRenderの関係
今日はまった出来事。
権限によってviewを変更しようと思って、どこで調整しようかなーと考えてて、
beforeRenderならひと通りできそうだしいいじゃね?!と思ってやってみたらダメだった。
やろうとしている人が居られたら注意を。
■環境
・CentOS 6.5
・PHP 5.3
・CakePHP 2.3.1
なんでかなーと思って調べました。
Controllerの順序は↓な感じだと思う。
beforeFilter
(action)
beforeRender
(view)
afterFilter
使ってる人はご存知の通り、Controller中で$this->renderを使用したタイミングでviewへ処理が移行してしまい、Controllerでの処理が続行できない。
これは、autoRenderが働くためと思われる。詳細は調べてないのです。
$this->outputを呼び出しているせいで、その時点でview用のデータがセットされてしまうとのこと。
んで、重要なのはbeforeRenderと$this->renderのタイミング。
どうやら、beforeRenderはこの$this->outputを呼び出したあとに処理される模様。
普通に考えてみりゃそりゃそうだ。
プレフィックスルーティングもだるいし、viewだけディレクトリ切って各権限毎に振り分ける場合とかどうしたらいいんだべ?
今回は諦めてctpファイルを調整することにします。
権限によってviewを変更しようと思って、どこで調整しようかなーと考えてて、
beforeRenderならひと通りできそうだしいいじゃね?!と思ってやってみたらダメだった。
やろうとしている人が居られたら注意を。
■環境
・CentOS 6.5
・PHP 5.3
・CakePHP 2.3.1
なんでかなーと思って調べました。
Controllerの順序は↓な感じだと思う。
beforeFilter
(action)
beforeRender
(view)
afterFilter
使ってる人はご存知の通り、Controller中で$this->renderを使用したタイミングでviewへ処理が移行してしまい、Controllerでの処理が続行できない。
これは、autoRenderが働くためと思われる。詳細は調べてないのです。
$this->outputを呼び出しているせいで、その時点でview用のデータがセットされてしまうとのこと。
んで、重要なのはbeforeRenderと$this->renderのタイミング。
どうやら、beforeRenderはこの$this->outputを呼び出したあとに処理される模様。
普通に考えてみりゃそりゃそうだ。
プレフィックスルーティングもだるいし、viewだけディレクトリ切って各権限毎に振り分ける場合とかどうしたらいいんだべ?
今回は諦めてctpファイルを調整することにします。
登録:
投稿 (Atom)