2012年2月7日火曜日

ソフトウェアRAID(MD)とgrubの備忘録

要するに、ソフトウェアRAID(RAID1構成)で、ディスクが1本死んだ時の対応のハナシ


珍しく、mdとか使ったので備忘録。
環境はCentOS 6.2。SATA接続のsdaとsdbというDISKが刺さっています。

ま、ミラクル・リナックスさんの「ブートディスクをソフトウェア RAID 1 (ミラーリング) に構成する場合、2本目のディスクに GRUB を手動でインストールしなければなりません。
インストールしない状態でもしも1本目のディスクが壊れた場合、2本目のディスクには GRUB が入っていないため、システムが起動しません。
」って話です。リンク先見てしまえば、下記はおまけみたいなものです。。。

まず、Kickstartで下記のようなスライスを切りました。

clearpart --all --initlabel

part raid.1 --size 100 --ondrive=sda
part raid.2 --size 100 --ondrive=sdb
part raid.3 --size 2048 --ondrive=sda
part raid.4 --size 2048 --ondrive=sdb
part raid.5 --size 30720 --ondrive=sda
part raid.6 --size 30720 --ondrive=sdb

raid /boot --fstype ext4 --level 1 --device md0 raid.1 raid.2
raid swap --fstype swap --level 1 --device md1 raid.3 raid.4
raid / --fstype ext4 --level 1 --device md2 raid.5 raid.6

これだと、sdbにgrubがなくて、sdaが死んだ時に、再起動してもあがってこないというちょっとだけ困ったことになるので、Kickstartに以下の記述を追加しました。

cat </grub/raid1.grub
root (hd1,0)
setup (hd1)
quit
EOF

grub --batch < raid1.grub


grubコマンドでsdbにもインストールしてあげればよいわけですな。めでたしめでたし。
試しに、sdaを抜いてテストしたところちゃんとsdbにて、bootしてきました。

あと、DISKを抜き差ししたときに、


mdadm --manage /dev/md2 --add /dev/sdb1


とかしようとしたら、「mdadm --zero-superblock /dev/ほげほげ しなされ」みたいに怒られたので


mdadm --zero-superblock /dev/sdb1

とかちゃんとしてあげないといかんらしいです。

ちなみに、新品のDISKの場合は、ちゃんとスライス切ってあげないといけないのは言うまでもありませんねー。

2012年1月10日火曜日

WEBサービス各社のノウハウ本

これ、ただのぼくの書棚の備忘録です。
なので、世の中すべては網羅してません。
当たり前ですけど、扱ってる分野はバラバラです。
Google本は溢れているので抜いてあります。

サイバーエージェント


MySQLによるタフなサイトの作り方




はてな/Klab


[24時間365日] サーバ/インフラを支える技術




[Web開発者のための]大規模サービス技術入門




Flickr


スケーラブルWebサイト




キャパシティプランニング




livedoor


4Gbpsを超えるWebサービス構築術




mixiプラットフォーム上の運用ノウハウ集(カヤック等)


mixiアプリ開発&運用コンプリートブック




米ヤフー


ハイパフォーマンスWebサイト




続・ハイパフォーマンスWebサイト ―ウェブ高速化のベストプラクティス


2011年12月31日土曜日

「さぁ、才能に目覚めよう」を読んでみた



最初に言っておくと、自分は自己啓発的なものにほとんど関心が無く、基本ビジネス書も読まなければ(自伝等は好き)、自己啓発本も読まず(もしドラすら読んでない)、ふだんはこんなタイトルの本読まないのです。

ただ、たまたま普段読んでいる、ロケスタ社長日記で
サービス作るなら自分の性格にあったものにしよう!


これからサービスをやろうという人は、「これが流行りそう」だったり「これがお金儲かりそう」でやるのもいいんですが、やっぱり自分の強みとマッチしたものをやるほうがうまくいくんじゃないかと思っています。


っていう文脈のなかでこの本が紹介されていたので、思わずぽちってしまったのでした。

別にサービスやろうとしてるとかはないんですが、そもそも自分の強みってなんだろう(そもそもあるの?)っていうのはずーっと考えていたことではあるんですよね。

更に言えば、最近向いてないことを仕事にしてもしょうがないだろうと思っていて、じゃあ向いていることってなんなのさっていうのもモヤモヤ考えたりしたわけです。

さて、簡単にいってこの本はWEBテストのおまけみたいな感じです。
最初から読むのが途中で面倒になり、まずWEBテストを受けてみたのですが、自分は以下の点が強みとされました。


  • 原点思考

  • 最上志向

  • 個別化

  • 収集心

  • 自我



このテストは、全部で34の強みの中から、あなたの強み上位5つはこれだよ。って教えてくれるものなんですね。で、じゃあ強みとは何で、どう生かせるか、みたいなことが本には書かれています。

個人的には、「原点志向」「個別化」「収集心」あたりが、あーあるかも、って感じでしたね。

それぞれの解説は結構長ったらしいので、まぁ興味のある人は本を読んでいただくとして。結構、自分の中で答えのでないことをモヤモヤ考えるよりは、こうやって外のモノサシを適用してみるのもいいんではないかな、と思った年の瀬です。

2011年12月19日月曜日

Wi-Fi WALKER DATA08W 買いました

Wi-Fi WALKER DATA08W買いました。

Wi-Fi walker

写真の黒い子が、Wi-Fi WALKER DATA08Wです。
ここ数ヶ月、上の赤い子(WiMAX AtermWM3500R)を使っていたのですが、WiMAXonlyだと、とにかく屋内の電波が悪い
というわけで、この子は、WiMAXと3G(新800MHz帯)を使用しているので、まぁなんとかなるのではないかなと。
ぼくが感じたメリットは以下になります。

  • WiMAXは転送量制限がない(3Gのほうは、たしか月間5GBまで)

  • 電波の悪いところだけ3Gという使い方ができる

  • 月額料金が他社と比べて普通



使ってみてだめだったら、またブログ書きますね(´・ω・`)

2011年12月18日日曜日

rpmのマクロの定義 その2

前に、マクロの定義ファイルの位置の話を書きましたけど、rpm --eval %hogehoge で、でてくるんです。

$ rpm --eval %configure

CFLAGS="${CFLAGS:--O2 -g -march=i386 -mtune=i686}" ; export CFLAGS ;
CXXFLAGS="${CXXFLAGS:--O2 -g -march=i386 -mtune=i686}" ; export CXXFLAGS ;
FFLAGS="${FFLAGS:--O2 -g -march=i386 -mtune=i686}" ; export FFLAGS ;
./configure --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu \
--program-prefix= \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--sysconfdir=/etc \
--datadir=/usr/share \
--includedir=/usr/include \
--libdir=/usr/lib \
--libexecdir=/usr/libexec \
--localstatedir=/var \
--sharedstatedir=/var/lib \
--mandir=/usr/share/man \
--infodir=/usr/share/info


それはいいのですが、%setupマクロについては、同じように処理の内容とか出てきてくれるといいなーと思ったんですが、そうは行かないようです。

しょうがないので、rpmの公式サイトにこんなドキュメントがあったのでチラ見してるんですけど、なんとかならないものなんですかねぇ。

ドラゴンクエスト展いってきました

会社のひとたちと六本木ヒルズでやっていた、DQ展に行って来ました。
鳥山明の原画とか結構むねあつです。

DQ

2011年11月12日土曜日

rpmのマクロの定義

rpmとかつくってると、あんまり考えずにBuildRootとかに、%{_tmppath}とか書いちゃうんですけど、じゃあいったいこの辺りの組み込みマクロってどこで定義されてるのよっていうのとちょっと調べたメモ。
rpmbuildのmanより

FILES
rpmrc Configuration
/usr/lib/rpm/rpmrc
/usr/lib/rpm/redhat/rpmrc
/etc/rpmrc
~/.rpmrc

Macro Configuration
/usr/lib/rpm/macros
/usr/lib/rpm/redhat/macros
/etc/rpm/macros
~/.rpmmacros

つまり、/usr/lib/rpm/macros とかにずらーっとありましたとさ。