« March 2009 | Main | May 2009 »

April 30, 2009

WEBブラウザーに表示されている画面を直接編集する方法

とあることを調べていてこんな機能を知りました。WEBブラウザーで適当なホームページを表示させた後WEBブラウザーのアドレスバーに以下を1行で入力してみてください。

javascript:document.body.contentEditable='true'; document.designMode='on'; 
void 0

するとWEBブラウザーに表示されている画面を直接編集できるようになります。

| | Comments (2) | TrackBack (0)

April 23, 2009

LVS+ldirectorを使ってMySQLをロードバランスをしてみる

今回はLVSを使ってMySQLのslaveサーバをロードバランシングする方法を記してみます。LVSは単に振り分けしかやってくれませんので、リアルサーバの生存確認やLVSの作動管理のためにldirectorも導入しています。

LVSだけだとLVSの設定を入れ込まなければなりませんが、ldirectorを使うとldirectorの設定ファイルに書いておくことでLVSの設定をldirectorが自動生成して反映してくれるので楽ちんです。

※世の中にはLVS+keepalivedの組み合わせが多いようですが、検証してみたところldirectorのほうが導入も運用も簡単なのでこちらを採用しました。

前提条件

VIP: 10.0.2.10
DB1: 10.0.0.101
DB2: 10.0.0.102

ロードバランサーとなるサーバへのインストール方法

【インストール】

# yum install ipvsadm
# yum install heartbeat
# yum install heartbeat-ldirectord


【ldirectorの設定】

$ sudo vi /etc/ha.d/ldirectord.cf

  checktimeout=5
  checkinterval=10
  autoreload=no
  logfile="/var/log/ldirectord.log"
  virtual=10.0.2.10:3306
        real=10.0.0.101:3306 gate
        real=10.0.0.102:3306 gate
        checktype=negotiate
        protocol=tcp
        checktype=connect
        scheduler=lc
        netmask=255.255.255.255


【VirtualIPアドレスの設定】
※本当はheartbeatサービスの設定で行いますが、今回LVSを冗長化せずheatbeatサービスを使わないのでこの方法でお茶を濁します。

% sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0:0

  DEVICE=eth0:0
  IPADDR=10.0.2.10
  NETMASK=255.255.255.255
  NETWORK=10.0.2.10
  BROADCAST=10.0.2.10
  ONBOOT=yes


リアルサーバ側の設定方法

【ループバックIPアドレスの設定】

% sudo vi /etc/sysconfig/network-scripts/ifcfg-lo:0

  DEVICE=lo:0
  IPADDR=10.0.2.10
  NETMASK=255.255.255.255
  NETWORK=10.0.2.10
  BROADCAST=10.0.2.10
  ONBOOT=yes
  NAME=loopback:0

【ループバックデバイスに割り当てられたip addressに対するarpに反応しないように設定(重要!)

% sudo vi /etc/sysctl.conf

  # Resolving the arp problem for LVS and ldirector.
  net.ipv4.conf.eth0.arp_ignore = 1
  net.ipv4.conf.eth0.arp_announce = 2

$ sudo sysctl -p

$ sudo sysctl -a | grep net.ipv4.conf.eth0.arp

メンテナンスの方法

【ldirectorの起動(=LVSの起動)】

% sudo service ldirectord start

【リアルサーバの追加】

% sudo vi /etc/ha.d/ldirectord.cf

    real=10.0.0.101:3306 gate
    real=10.0.0.102:3306 gate

の要領で追加し、

% sudo service ldirectord reload

【接続状況の確認】

% sudo ipvsadm -Ln

  IP Virtual Server version 1.2.1 (size=4096)
  Prot LocalAddress:Port Scheduler Flags
    -> RemoteAddress:Port         Forward Weight ActiveConn InActConn
  TCP 10.0.2.10:3306 lc
    -> 10.0.0.101:3306                Route 1 0         0
    -> 10.0.0.102:3306                Route 1 0         0


(付録) もしldirectorを使わずに手作業でLVSの設定をするとしたら

●VIP追加 (lcオプションは最小コネクション(lc) でリアルサーバにバランスする)

% sudo ipvsadm -A -t 10.0.2.10:3306 -s lc


●削除したい時は以下

% sudo ipvsadm -D -t 10.0.2.10:3306


●VIPにひも付くリアルサーバのIPアドレス(RIP)を追加 (-gはDSR、-mはNAT)

% sudo ipvsadm -a -t 10.0.2.10:3306 -r 10.0.0.101 -g
% sudo ipvsadm -a -t 10.0.2.10:3306 -r 10.0.0.102 -g


●削除したい時は以下

% sudo ipvsadm -d -t 10.0.2.10:3306 -r 10.0.0.101
% sudo ipvsadm -d -t 10.0.2.10:3306 -r 10.0.0.102


●設定確認

% sudo ipvsadm -Ln

| | Comments (0) | TrackBack (0)

April 01, 2009

楽にいろいろな試験に合格するテクニック

実力のあるなしに関わらず、試験モノに強い人と弱い人の2種類のタイプがいるように見受けられます。私は学生時代勉強そっちのけで、どうやったら効率的に試験をパスできるかを研究していたクチなので他の人と比べて大した実力がない割には試験モノに強いようです。というわけで今回は当時考えた方法論を出し惜しみせず公開しちゃいます。(システム管理とはあまり関係ないですけど)

【1. 過去問を解く】
過去問は絶対に解いておきましょう。過去問を解いておかなければならない最大の理由は、試験問題がどのような形で出題されるか体感し、また各設問を解くのにどのように時間配分をしていけばいいのか作戦が立てられるからです。

よく「一度出題された問題は繰り返し出題されることはないはずだから意味ないのでは?」という人がいますが決してそんなことないです。


【2. 問題集を繰り返し解く】
かなり多くの人が問題集を1回解いて終わりにしてしまいますがそれだとあまり意味がないです。重要なのは「自分がどういった問題だと間違えやすい」のかを知り、その部分を重点的に繰り返し解くことです。そうすることで確実に苦手部分をつぶしていくことができます。


【3. 模擬試験を積極的に受ける】
何のために模擬試験を受けるか。もちろん模擬試験が的中して本番の試験で同じ問題が出るなどといったラッキーなこともあるかもしれませんがそういうのは単なる運なのであまり期待しないほうが良さそうです。

私はむしろ模擬試験は緊張した会場の空気に慣れることができる唯一の機会だというところが模擬試験を受ける最大のメリットだと思っています。よくありがちなのが、日々真面目にコツコツやるタイプなんだけどいざ試験会場に行くと緊張して実力を発揮できないというタイプ。こういうタイプの人こそ模擬試験をたくさん受けて試験慣れしておいたほうがよいと思います。

私は大学入試対策として1年間で20回近く模擬試験を受けました。2週間に1回のペースですね。これだけ模擬試験を受けたのでいざ本番では全くといっていいほど緊張しませんでした。ただまぁ今思えば20回はやりすぎだったかも。月1回くらいのほうが適度な緊張が保ててよかったかもしれないです。(苦笑)


【4. いざというとき捨ててもよい設問を考えておく】
設問の中には配点が少ないのに解くのに時間がかかるというものがたくさんあります。試験中時間が足りなくなったらそういった設問から切っていけるよう予め決めておきましょう。特に検定試験モノでは合格点に達すれば合格できるので無理に全問解ききらなくてもいいと思います。


【5. 最適な状態で本番をむかえられるよう準備をしておく】
当日忘れ物がないように前日までに揃えておく、交通機関の時間を事前チェックしておく(できれば下見まで行なえばさらに良し)、毎日朝ごはんを食べる、そして早めに家を出る、といったところでしょうか。


【まとめ】
試験にパスするためにはもちろん勉強することは必須ですが、それと同じくらい意識すべきことは本番で如何に効率よく得点を獲得していけるかということです。そのために試験会場の雰囲気に飲まれないために模擬試験で慣れておく、問題集で自分の苦手部分を把握して繰り返し解く、そして事前準備をしておくなどといったことが大切です。

| | Comments (0) | TrackBack (0)

« March 2009 | Main | May 2009 »