2009年4月30日木曜日

【仮想化】Xen(主にCitrix XenServer)を調査

社長にも言われたけど)Xenを調査したので、そのメモ。

Xenはオープンソースで開発されている仮想化ソフトウェア。詳しくはwikipedia

それをテストし、あるいはコードを修正し企業向けに商用化したのがシトリックス・システムズ社のXenServer。製品ページ

XenServerはXenとは違うものですか?

このEnterprise Editionが2009年2月に無償化された。

Citrix XenServerが無償化(XenCenter、XenMotion、Resource Pools、ストレージ管理機能を搭載)

VMware ESXiより多機能。これは試す価値あり。

ダウンロードはここから。ハードウェアの互換リストもリンクから行ける。

XenとVMwareとHyper-V。

今後も仮想化ソフトウェアのシェアの奪い合いが続きそう。

2009年4月23日木曜日

動物占い

自分は黒ひょうだと思ってましたが、調べてみたらでした。

動物占い

確かに占い結果を見ると私は黒ひょうではない。

オシャレでもないし、飽きっぽいということもない。夕飯は3つの献立がループしてるし・・・。

wikipediaを見ると動物占い関連の本がいろいろ分かるので読んでみるのもおもしろそう。

2009年4月22日水曜日

Microsoft PowerPointを別ウィンドウで起動したい

Microsoft PowerPointで作業をしていると、別のpptファイルを見ながら作業したいときがあるので(2ディスプレイだし)、別ウィンドウで起動できないかと調べたメモ。

調べた結果。基本的にPowerPointのアプリケーションを2つ起動するのはできないらしい。

でも強引に実行する方法はここ。別ユーザのインスタンスとして実行するとできるらしい。

それ経由でコマンドラインでrunasというコマンドを使えば違うユーザとして実行できることを発見。ここ

頑張ってスクリプトを書けばPowerPointを2つ起動するのを簡単にできるかもしれない。スクリプトを書こうと思ったけど止めた。

VBScript から Run メソッドでコマンドを実行するときの注意(括りに使う二重引用符)

並べて表示したいならOpenOfficeを使って開けばよい。コピーと貼り付けがうまく連動してくれないけど、これで十分。

ちなみにデュアルディスプレイでPowerPointを編集する場合は「スライドショーの設定」で「スライドショーの実行」を別ウィンドウにすると実行しながら編集できるので便利。

2009年4月21日火曜日

favicon.ico(ファビコン)を作ってみる

faviconを作る機会があったのでメモ。

特殊な技術がなくても作成した画像をここのサイトでfavicon.icoに変換してくれる。透過処理もチェックをつけるだけで生成可能(デフォルトは付いてない)。

 

< 2015/11/16 Modified >
WordPressに下記サイトにあるプラグインを設置するのが使いやすい。

 

< 2015/07/21 Modified >
画像から変換して確認するには下記サイトが使いやすかった。

 

作成されたfavicon.icoを編集する場合は@icon変換を使う。

HTMLに埋め込む場合はheadタグに

<link rel="shortcut icon" href="favicon.ico" />

を記述する。

ちなみにWindowsのアイコンや綺麗なアイコンを作成したい場合は下記のリンクが参考に。

2009年4月20日月曜日

【Subversion】TortoiseSVNの1.6だと共有フォルダの更新・コミットが遅い

Tortoise SVNのバージョンを1.6に上げてみたら、Windows共有フォルダ経由で更新・コミットすると異常に遅くなってしまった。

耐えれないくらい遅いので、なんとかするやり方を調査。

1.5系に戻すのは却下。1.6系で一回更新してしまうとそのリポジトリは1.5系では更新できなくなるし、社内では1.6系。

対策は共有フォルダをネットワークドライブに割り当てて、そっちで更新、コミットするとローカルと同じ速さで完了する。

ネットワークドライブの割り当ての方法はここを参照。

コマンド・プロンプトでやる場合は

C:> net use x: \\vm-test\share

という感じ。

2009年4月17日金曜日

【Linux】ネットワークストレージをCentOSでマウントする

NASで公開されているWindows共有フォルダをマウントしてアクセスする方法をメモ。

環境はCentOS5

調べてみると、smbfsというファイルシステムでマウントするというのが出てくるけど、これがCentOSにない。代わりにcifsというファイルシステムを使うらしい。参考

# yum install samba-client
# mount -t cifs -o user=,password= //192.168.0.100/aurora /mnt/LS-QL49D

アンマウントするときは
# umount /mnt/LS-QL49D/

2009年4月16日木曜日

【Linux】再起動すると/devの下にあるファイルがリセットされる

ここの記事でfaxの設定をしたけど、マシンを再起動すると設定した内容が元にもどってしまうので、調査したメモ。

環境はCentOS5

設定したコマンドは
# chmod 666 /dev/ttyS0
# ln -sf /dev/ttyS0 /dev/modem

再起動すると/dev/ttyS0の権限が660になってしまい、lnで作成したシンボリックリンクもなくなる。参考になったのがここ

デバイス関連のファイルは起動時にパーミッションを設定されてしまうらしい。シンボリックリンクが削除されてしまうのは謎。

起動時にデバイスを初期化ルールを記述したファイルを修正して対応。

# vi /etc/udev/rules.d/50-udev.rules

#KERNEL=="tty[A-Z]*",  NAME="%k", GROUP="uucp", MODE="0660"
KERNEL=="tty[A-R]*",  NAME="%k", GROUP="uucp", MODE="0660"
KERNEL=="ttyS*",      NAME="%k", GROUP="uucp", MODE="0666"
KERNEL=="ttyS0",      SYMLINK+="modem"
KERNEL=="tty[T-Z]*",  NAME="%k", GROUP="uucp", MODE="0660"

udevの書き方とSYMLINKについてはここを参照。

2009年4月15日水曜日

【レビュー】Jabra BT530と携帯(P906i)でハンズフリー

そろそろiPod touch+bluetoothもしくはiPhone+bluetoothの環境で無線(ハンズフリー)で音楽と通話が快適にできるんではないかと調べていたら、今の携帯(P906i)でも似た環境が構築できることに気付いた。

携帯への音楽転送はMTPモードでPC繋げて、Windows Media Playerを使うと簡単にできる。ドライバなしでWMPが勝手に認識してくれるのでちょっと感動。

ハンズフリーで音楽+通話を行うためのヘッドセットは迷ったけど、Jabra BT530に決定。価格.comやGoogle先生を使って機能や評判など入念にチェック。

9dd3352858ec059b10ee9eb6d18cf0c6-1 9dd3352858ec059b10ee9eb6d18cf0c6-2
【耳フックなし(イヤーピース輪付き)】 【耳フックあり(イヤーピース輪なし)】

決め手は

  • 評判がいい
  • 小さい(持ち運びに便利、付けていてもあまり目立たない)
  • 2台マルチポイントで携帯とPCで切り替えて使用できる(携帯2台でもOK)
  • ノイズキャンセルで通話も快適

携帯との接続は簡単にできる。プロファイルはHFP(ハンズフリープロファイル)とA2DP(オーディオ用プロファイル)を選ぶ。プロファイルの詳細はwiki参照。

HSP(ヘッドセットプロファイル)とHFP(ハンズフリープロファイル)の違いはHFPがHSPの上位みたいなのでHFPで接続できれば問題なし。HFPが駄目ならよりシンプルなHSPを使うという感じ。

実際HSPで接続していてもBT530の電源をOFFにしてONにすると、自動的にHSPサービスに接続してくれなかったのでHFP推奨。

付属しているのはUSB経由で充電可能なコードとAC電源ケーブル。

付け心地は悪くない。

耳フックもついているけど、輪がついているイヤーピースに変えれば軽く回転させるだけでしっくりとはまる。いくつか大きさの違うイヤーピースが付属しているので自分の耳に合わせてセレクト。

以下、使い方をメモ(P906iでのみ確認)。基本的にマニュアルを参照する。

▼携帯と通信していない状態(発信)

音声発信 通話・終了ボタンを1秒長押しで音声発信モードに。登録してある名前(アドレス帳とは別に登録が必要)を呼ぶことで携帯を使わなくても電話をかけられる。
リダイヤル 通話・終了ボタンを素早く2回押す。最後にかけた相手にリダイヤル
バッテリー確認 +か-を押す。黄→赤の順で減っていく。 緑は充電完了
充電時間は約2時間
ペアリング 5秒長押しでペアリング待機モード

▼電話に出る(受信)

電話に出る 通話・終了ボタンを押す
保留 (できない?)→携帯のサイドボタンで操作
拒否 通話・終了ボタンを1秒長押し

▼電話中

通話終了 通話・終了ボタンを押す
ミュート +と-を同時押し。解除するときは+か-を押す
保留 通話・終了ボタンを素早く2回押す。再度通話・終了ボタンを押すと再開。キャッチホン用?
通話切替 携帯で話し中にBT530の通話・終了ボタンを押すとBT530に切り替わる。携帯の「電話に出るマーク」を1秒長押しすると携帯に切り替わる(携帯画面のBluetoothマークが消える)。

▼オーディオプレーヤー再生中(A2DP)

音量調整 +か-
掛かってきた電話に出る 自動で切り替わるので、「電話に出る」の操作をする
次の曲へ、前の曲へ (できない?)→携帯のサイドボタンで操作
再生、停止 (できない?)→携帯のサイドボタンで操作

▼その他

携帯で電話を掛けてBT530に切り替える場合は、相手が電話に出てから通話・終了ボタンを押さないと駄目。相手が出る前に通話・終了ボタンを押すと電話を切ってしまう。

この場合は、携帯で電話を掛けてすぐ切り、BT530とのBluetooth通信(携帯画面のBluetoothマークの点滅)が終わってから、通話・終了ボタンをダブルクリックしてリダイヤルすると掛けられる。唯一の不満点。

2009年4月14日火曜日

【CentOS】LVMでディスク容量を拡張(VMwareのHDD容量を増やす)

VMwareのハードディスク容量を増やそうとして調査をしているうちにLVMという技術を知った。

一度パーティションを切ったら専用ソフトを使わないとハードディスク容量を拡張できないと思っていたのでショック。あまりに無知。

前にVMwareのHDD容量を増やす方法を書いたけど、ここに書いてあるやり方がスマートで簡単。

LVMでファイルシステムを構成しておくと後でディスク容量を増やそうと思ったときに簡単にできる。LVMについて詳しくしりたい場合はwikipediaを読んだり、Google先生に聞いてみる。

CentOSの場合はデフォルトでLVMのファイルシステムを構成してくれるので楽。Ubuntuの場合はインストール時に明示的に選択しないと駄目みたい(今度確認しときます)。

以下、さっきのリンクを参考に自分で実行したコマンドをメモ。

まずはVMwareの場合はディスク容量を追加するコマンドをホストで打つ。物理マシンの場合はハードディスクを追加する。
現在の容量と合わせて40GBに拡張したい場合のコマンドはこれ。
# vmware-vdiskmanager -x 40Gb vdisk.vmdk

2GBでsplitしてあって拡張できない場合はvCenter Converterを使って1つに結合したりする。参考記事。vmware-vdiskmanagerを使ってもできるらしい

あとは追加した(仮想)マシン側で作業。

fdiskでlvm用のパーティションを作成。
# fdisk /dev/sda

コマンド (m でヘルプ): p

Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2610    20860402+  8e  Linux LVM

コマンド (m でヘルプ): n
コマンドアクション
   e   拡張
   p   基本領域 (1-4)
p
領域番号 (1-4): 3
最初 シリンダ (2611-5221, default 2611):(リターン)
Using default value 2611
終点 シリンダ または +サイズ または +サイズM または +サイズK (2611-5221, default 5221):(リターン)
Using default value 5221

コマンド (m でヘルプ): p

Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2610    20860402+  8e  Linux LVM
/dev/sda3            2611        5221    20972857+  83  Linux

コマンド (m でヘルプ): t
領域番号 (1-4): 3
16進数コード (L コマンドでコードリスト表示): 8e
領域のシステムタイプを 3 から 8e (Linux LVM) に変更しました

コマンド (m でヘルプ): p

Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2610    20860402+  8e  Linux LVM
/dev/sda3            2611        5221    20972857+  8e  Linux LVM

コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。

警告: 領域テーブルの再読込みがエラー 16 で失敗しました: デバイスもしくはリソースがビジー状態です。
カーネルはまだ古いテーブルを使っています。
新しいテーブルは次回リブート時に使えるようになるでしょう。
ディスクを同期させます。

fdiskが終了するので再起動
# reboot

LVM物理ボリュームを作成
# pvcreate /dev/sda3

ボリュームグループ確認
# vgs

ボリュームグループに物理ボリュームを割り当てる
# vgextend VolGroup00 /dev/sda3

論理ボリュームを増加させる
# lvextend -L +20Gb /dev/VolGroup00/LogVol00
# lvextend -l +100%FREE /dev/VolGroup00/LogVol00

ファイルシステムサイズの再認識
# resize2fs /dev/VolGroup00/LogVol00

容量が増えたか確認
# df -m
# df -h

LVMって便利だね。今まで「VMware hdd 拡張」というキーワードで訪れてくれた人に申し訳ない。

2009年4月13日月曜日

【PostgreSQL】pgpool-Ⅱでレプリケーション、インストールと設定

PostgreSQLでレプリケーションするにはpgpool-Ⅱというミドルウェアで簡単にできるということなのでインストールと設定をメモ。

参考になるサイトは下記

【データベース夏の陣】PostgreSQLには絶対!pgpool-II

pukiwiki:pgpoolAdmin/install

(仮タイトル)pgpool-IIによるレプリケーションとオンラインリカバリ

まずはPostgreSQLをインストール。やり方は前の記事を参考に。

pgpoolはここからダウンロード。

解凍とコンパイル
# tar xzvf pgpool-II-2.2.tar.gz
# cd  pgpool-II-2.2
# ./configure
# make
# make install

オンラインリカバリのためのライブラリもインストール
# su postgres 
$ cd /opt/software/pgpool-II-2.2/sql/pgpool-recovery/
$ make
$ make install
$ psql -c "\i /usr/local/pgsql/share/contrib/pgpool-recovery.sql" template1

make installで権限がない場合は/usr/local/pgsqlの権限をまるっと変える
# chown postgres –R /usr/local/pgsql

設定ファイルをコピーする
# cd /usr/local/etc/
# cp pgpool.conf.sample pgpool.conf
# cp pcp.conf.sample pcp.conf

pcp.confに記述するパスワードを取得(pgpoolAdminのログインパスワード)
# pg_md5 –p
password: (パスワードを入力)

pcp.confに取得したバスワードを記述する
# vi pcp.conf

pgpool管理ツールpgpoolAdminをここからダウンロードする。

解凍
# tar xzvf pgpoolAdmin-2.2.tar.gz

解凍したディレクトリをweb公開しているディレクトリに配置しても良し。apacheの設定ファイルに新たにエイリアスを記述しても良し。

#
#pgpoolAdmin
#
Alias /pgpool_admin "/opt/software/pgpoolAdmin-2.2"
<Directory "/opt/software/pgpoolAdmin-2.2">
   AllowOverride All
   Order allow,deny
   Allow from all
</Directory>

apache(lampp)を再起動
# /etc/rc.d/init.d/lampp restart

権限を設定
# cd pgpoolAdmin-2.2/
# chown apache conf/pgmgt.conf.php
# chmod 664 conf/pgmgt.conf.php

設定ファイルの権限を設定
# cd /usr/local/etc/
# chown apache pgpool.conf pcp.conf
# chmod 644 pgpool.conf pcp.conf

これで設定は完了。ブラウザでインストールディレクトリにアクセスする

http://<サーバ名>/pgpool_admin/install/index.php

テンプレートディレクトリを作る
# mkdir templates_c
# chmod 777 templates_c

インストールが完了したらinstallディレクトリを削除する。
# cd /opt/software/pgpoolAdmin-2.2/
# rm -rf install/

これでトップページへ移動して「pgpool起動」を押すとpgpoolが起動・・・すると思いきや。起動せず。

pgpool start failed. pgpool.pid not found

とエラーがでる。

pgpool.pidを作成するときに権限がなくてエラーになっているみたいなので、権限を設定する
# cd /var/run/
# mkdir pgpool
# chmod 777 pgpool

pgpool.conf設定で設定可能な「pidファイルの名前」を/tmp/pgpool.pidに変えてもいけると思うけど、これで解決。

次はレプリケーションの設定

「pgpool.conf設定」にアクセスしてBackendsの「追加」をクリック。

new backend_hostname : localhost
new backend_port : 5432
new backend_weight : 1
new backend_data_directory : /usr/local/pgsql/data

で更新。もう一度追加を押してもう一つのPostgreSQLを指定

new backend_hostname : 192.168.0.32
new backend_port : 5432
new backend_weight : 1
new backend_data_directory : /usr/local/pgsql/data

その他の設定

listen_addresses : *
replication_mode : true
reset_query_list : DISCARD ALL
replication_stop_on_mismatch : true

PostgreSQL 8.3以上ではreset_query_listをDISCARD ALLにしておくのがおすすめらしい。参考

replication_stop_on_mismatchをonにすると、同期ができていなくてもとりあえず動く。どっちかが死んでも動き続けてほしいのでtrueに。

これでトップページへ移動してpgpool再起動。ノード情報が出ていれば問題なし。

試しにpsqlでアクセスしてsql文を発行してみる。
# psql –p 9999

・・・とここで、

psql: server closed the connection unexpectedly
        This probably means the server terminated abnormally
        before or while processing the request.

と怒られた。レプリケーションモードでは認証モードがmd5を利用できないらしい。参考

localhostのpg_hba.confを次のように変更。

#host    all         all         127.0.0.1/32          trust
host    all         all         127.0.0.1/32          password

別サーバのpg_hba.confは次のように変更。

host    all             all     192.168.0.0/24          password
host    all             all     192.168.1.0/24          password

PostgreSQLのサーバとpgpoolを再起動。

試しにcreatedbしてみる。
# createdb -p 9999 testdb

できた。

PgAdmin3で接続するときは、もちろんポートは9999。ファイヤーウォールをあけておくのを忘れずに。参考

例:pg_dumpしたデータを戻すとき

# psql -p 9999 -e testdb < /tmp/testdb20090410.sql

データベースは同じデータが書き込まれているけど、PgAdmin3でアクセスすると下記のエラーが。

ERROR:  kind mismatch among backends. Possible last query was: "SET DateStyle=ISO;SELECT oid, pg_encoding_to_char(encoding) AS encodin
message contents do not agree with length in message type "E"
server closed the connection unexpectedly
    This probably means the server terminated abnormally
    before or while processing the request.

うまくマスタとスレーブで同期がとれなくなっているみたい。

これを解決するためにオンラインリカバリ(PostgreSQLを止めることなく破損したDBを同期してリカバリ)を設定。

今回はマスタ(192.168.0.31)→スレーブ(192.168.0.32)の場合のみ

マスタ(192.168.0.31)で作業。archive_modeを有効にする
# su postgres
$ cd /usr/local/pgsql/data
$ mkdir archive_log
$ vi postgresql.conf

archive_mode = on
archive_command = 'cp "%p" /usr/local/pgsql/data/archive_log/"%f"'

サーバ再起動
$ exit
# /etc/rc.d/init.d/postgresql restart

スレーブ(192.168.0.32)にアクセスして受け入れ準備
# mkdir /usr/local/pgsql/data/archive_log
# chown postgres -R /usr/local/pgsql/

マスタ(192.168.0.31)で作業。さっきも書いたここを参考にオンラインリカバリ用のシェルスクリプトを用意。

$ vi /usr/local/pgsql/data/recovery_1st_stage.sh

#! /bin/bash

PSQL=/usr/local/pgsql/bin/psql

MASTER_BASEDIR=$1
RECOVERY_HOST=$2
RECOVERY_BASEDIR=$3

# ベースバックアップの開始 
$PSQL -c "SELECT pg_start_backup('pgpool-recovery')" postgres

# リカバリ先用のrecovry.confファイル生成
echo "restore_command = 'cp $RECOVERY_BASEDIR/archive_log/%f %p'" > $MASTER_BASEDIR/recovery.conf

# リカバリ先のデータベースクラスタを念のためにバックアップ
ssh -T $RECOVERY_HOST rm -rf $RECOVERY_BASEDIR.bk
ssh -T $RECOVERY_HOST mv -f  $RECOVERY_BASEDIR{,.bk}

# データベースクラスタ=ベースバックアップをリカバリ先に転送
rsync -az -e ssh $MASTER_BASEDIR/ $RECOVERY_HOST:$RECOVERY_BASEDIR/

ssh -T $RECOVERY_HOST cp -f  $RECOVERY_BASEDIR.bk/postgresql.conf $RECOVERY_BASEDIR
ssh -T $RECOVERY_HOST rm -f  $RECOVERY_BASEDIR/postmaster.pid

# リカバリ先に転送したので、不要になったrecovery.confを削除
rm -f $MASTER_BASEDIR/recovery.conf

# ベースバックアップの終了
$PSQL -c "SELECT pg_stop_backup()" postgres

$ vi /usr/local/pgsql/data/recovery_2nd_stage.sh

#! /bin/bash

PSQL=/usr/local/pgsql/bin/psql

MASTER_BASEDIR=$1
RECOVERY_HOST=$2
RECOVERY_BASEDIR=$3

# 最新のアーカイブログを保存
$PSQL -c 'SELECT pg_switch_xlog()' postgres

# 最新のアーカイブログをリカバリ先に転送
rsync -az -e ssh $MASTER_BASEDIR/archive_log/ $RECOVERY_HOST:$RECOVERY_BASEDIR/archive_log/

$ vi /usr/local/pgsql/data/pgpool_remote_start

#! /bin/sh

PGCTL=/usr/local/pgsql/bin/pg_ctl

RECOVERY_HOST=$1
RECOVERY_BASEDIR=$2

# リカバリ先のPostgreSQLを起動
ssh -T $RECOVERY_HOST $PGCTL -w -D $RECOVERY_BASEDIR start 2>/dev/null 1> /dev/null < /dev/null &

権限の設定

# cd /usr/local/pgsql/data/
# chmod 755 recovery_1st_stage.sh
# chmod 755 recovery_2nd_stage.sh
# chmod 755 pgpool_remote_start

pgpoolのOnline Recoveryの項目に追加

recovery_user : postgres
recovery_password : (設定したパスワード)
recovery_1st_stage_command : recovery_1st_stage.sh
recovery_2nd_stage_command : recovery_2nd_stage.sh
recovery_timeout : 90

これでpgpoolを再起動。

あとスクリプトの中でSSHで別サーバにアクセスしてコマンドを実行するので、その(パスワードなしでスレーブにアクセスするための)設定。マスタ(192.168.0.31)で作業。

# su postgres
$ cd
$ ssh-keygen -t dsa # パスフレーズは空白
$ scp ~/.ssh/id_dsa.pub 192.168.0.32:~/
$ ssh 192.168.0.32
$ cat id_dsa.pub >> ~/.ssh/authorized_keys2
$ rm –f id_dsa.pub
$ chmod 600 ~/.ssh/authorized_keys2

cat id_dsa.pub >> ~/.ssh/authorized_keys2で怒られる場合はスレーブ(192.168.0.32)で
$ ssh-keygen -t dsa
を実行しておく。

以上で準備完了。

いざオンラインリカバリを実行。

pgpoolのノード1を切断しておいて
$ pcp_recovery_node 100 127.0.0.1 9898 postgres (設定したパスワード) 1

を実行。

・・・失敗。

pgpool.logには下記のようなエラーが。

2009-04-12 20:15:16 ERROR: pid 8924: check_postmaster_started: remote host start up did no
t finish in 90 sec.
2009-04-12 20:15:16 ERROR: pid 8924: start_recovery: check start failed

スレーブ(192.168.0.32)のPostgreSQLを止めておくのを忘れてた。

スレーブ(192.168.0.32)を元に戻してもう一回実行。

できた。

わーい。

スレーブ(192.168.0.32)のpg_hba.confを上書きしてしまうみたいなので、これを修正してPostgreSQLを再起動。

PgAdmin3でも正常に表示。

これでマスタのサーバを止めずにリカバリが可能に。

※サーバを止めていいなら、dataをそのままコピーすれば良い(と思う)。

最後に起動スクリプトをコピーして再起動後も自動で立ち上がるようにしておく。
# cd /opt/software/pgpool-II-2.2/
# cp redhat/pgpool.init  /etc/rc.d/init.d/pgpool
# chkconfig --add pgpool
# chkconfig pgpool on

環境に合わせてスクリプトを修正
# vi /etc/rc.d/init.d/pgpool
PGPOOLENGINE=/usr/local/bin
PGPOOLCONF=/usr/local/etc/pgpool.conf

スクリプト起動しようとすると失敗したので、調べてみると権限がダメらしい
# chmod 777 /var/run/pgpool

再起動して確認
# reboot

オンラインリカバリまでやろうとすると簡単ではなかった。

 

<2010/01/15 追記>
pgpool-II-2.3.1でインストールしたので上記内容を修正。あとポイント

  • pgpoolを起動するときは「非デーモンモード」で起動しないとログを出力しない

2009年4月10日金曜日

NEC Express5800/120EiにCentOSをインストール

OSのインストールは難なく完了。

ただしインストール後でもFANがフル回転していて、ちょっとうるさい。

最新のファームウェアでは回転数を切り替える機能がついているみたいなので、BIOSを覗いてみるとFAN Control ModeがDefaultになっていて切り替えることができない。

メモリを5枚以上搭載している場合は切り替えることができないらしい。参考

あとakiyasu氏に教えてもらったNEC Express5800の情報がいろいろ記載されているサイトをメモ。

ゴッパチ・ラボ

2009年4月9日木曜日

【PostgreSQL】SQL速度改善するために知っておくこと

前の記事でPostgreSQLのチューニングについて書きましたが、遅い画面(SQL)をチューニングする必要があったので、調べたメモ。

遅い原因の多くはSQLの記述の仕方が悪い。

・・・けど、今更クエリを修正すると影響があまりにも大きいときは、インデックスをチューニングするとかPostgreSQLサーバの設定をチューニングするとかで、少しはましになるようです。

PostgreSQLを高速化する16のポイント

空気を読まずにPostgreSQLのを高速化する10のポイント

order by句などの並び替えで時間が掛かっている場合は、postgresql.confにあるwork_mem(以前のバージョンではsort_mem)の値を大きくすることで改善する可能性がある。

work_memはこの値を超える場合に、メモリのキャッシュからディスクキャッシュに切り替える。メモリに余裕があるなら多めに割り当てる。

2009年4月8日水曜日

【vmware】vCenter Converterで仮想マシンをコピーする

前の記事で仮想マシンのハードディスク容量を増やす方法を書いたけど、VMware ConverterがVMware vCenter Converterに名前が変わって、機能も大幅に追加されたので、実際に使ってみた。

結論からいうと仮想マシンのコピーは簡単にできるけど、ハードディスク容量を拡張するのはできなかった。機能制限?有償のVMware Infrastructureと組み合わせるとたぶんできると思う。

以下一応インストールから変換までの手順。

ダウンロードはここから。
もうすでにアカウントは取得済みだと思うのでログインしてダウンロード。無料(フリー)。

変換はWindowsで行うのでVMware vCenter Converter StandaloneのWindows版をGetする。

できることはリリースノート(バージョン4.0)を見ればだいたい分かる(英語)

VMware Server 2.0の環境でできることは、仮想マシンの物理ファイルを選択して別仮想マシンとして保存する。このときにHDD容量などの属性を変更可能。

バージョン3.0まではwindows系のみサポートしてたけど、4.0からはLinuxもサポートするようになったので非常に便利に。

ちなみにVMware Infrastructure(有償のVMware Server)があるなら稼働中の仮想マシンをコピーしたり、変換した仮想マシンをVMware Serverに登録するところまでやってくれるみたい。

以下ハードコピー

image

Convert Machineからウィザード開始。

image

「VMware Workstation or other VMware virtual machine」を選択してソースファイルで変換したい仮想マシンのvmxファイルを指定。Linux上でVMware Serverが稼働しているなら、Sambaで共有しとけば楽。

Sambaのvmxファイルを指定しても認識してくれない場合は、共有場所をネットワークドライブとしてマウントするとうまくいくときもある。

image

ファイルで保存したいので「VMware Workstation or other VMware virtual machine」を選択して、Select VMware productは「VMware Server 2.x」など環境に合わせて選択。

Nameは変換後の仮想マシン名。フォルダ名とファイル名に使われる。

最後は変換後に仮想マシンを保存するパス。ここにNameで指定したフォルダを作って保存する。

image

仮想マシンの属性を変更する。

ここで、なぜかファイル形式がサポートされていないと怒られた。

リリースノートを見てみると、sambaを使ってネットワーク経由で変換かけると2GB以上のファイルは作成できないみたい。

出力先をローカルフォルダに指定すると、このエラーは出ないけど、肝心のサイズは変更できず。

最後は設定を確認して完了。完了すると、自動で変換処理が始まる。

2GBの仮想マシンをSambaで共有しているフォルダで変換して15分ぐらいで終わった。

結論

VMware vCenter Converterの使いどころは、仮想マシンのファイルを1つに結合(統合)したり、分割したりするときぐらいかな。

VMware ESXiに使っている場合は仮想マシンをコピーしたりするのにお世話になる。

2009年4月7日火曜日

Ubuntuでサービス一覧表示(chkconfigがないから)

UbuntuにはCentOSであるようなchkconfigというソフトがないみたいので、どうやってサービスの起動、停止を管理するのかと思ったらsysv-rc-confというのがありました。

さっそくインストール

# apt-get install sysv-rc-conf

で完了。

# sysv-rc-conf

を実行すると、chkconfigより分かりやすく一覧表示してくれる。

image

ページングがいらない場合は

# sysv-rc-conf –list

で一覧表示。chkconfigとほぼ一緒の使い勝手。

2009年4月6日月曜日

議事録や打合せで使える複写が可能なコピーノート(用紙)

前の会社では打合せの際に会社特注の議事録を使っていた。

これは日時、参加者、議題、内容、ページ番号、押印欄などが印字されていて、一枚目に書くと2枚目に複写されるノート(用紙)。

探せば簡単に見つかると思ってみたけど、種類自体があまりないみたい。

とりあえず使えそうなのがKOKUYOの「コピーフィラーノート

欲をいうと押印欄のような打合せ後にお客様のサインをもらう枠がついているのが欲しい。・・・けど、ない。

特注するしかないのか。

ここのサイトからレーザープリンタに対応した複写用紙が手にはいるので、自由にレイアウトして使えばいいかな。

2009年4月3日金曜日

春ですね

最近はだいぶ暖かくなってきまして、春を感じる陽気となってきました。

もうすでに春ですね。

新年度も始まり、ツーリングのお誘いやら冬の間連絡がなかった友人から連絡をもらったりと活動の予感を感じます。

先輩の道場へも冬の間行ってなかったので、しっかり行くようにします。

2009年4月2日木曜日

CentOS 5.3がリリース

CentOS5.3がリリースされました。

CentOS 5.3 リリースノート

実行するときは
$ yum update
で完了。

PHPのバージョンは前と同じ5.1.6なので開発用で使っている(うちの)マシンは特に影響ないはず。アップデートされるパッケージはリリースノートで確認。

VMware Serverのホストになっているマシンはアップデート後にVMwareの再コンパイルが必要になるので、VMware Serverのバージョンが2.0.1になったことだし再インストールをおすすめ。

やり方は前の記事を参考に。

2009年4月1日水曜日

4月1日は創立記念日でお花見

今年は名城公園でお花見。

2009040116240000

2009040118180000

お酒を飲みながら談話しつつ、子供と遊んだ。

その後は栄まで移動してお店で肉を食らう。

楽しかった。

今年度も頑張らなきゃね。

Related Posts Plugin for WordPress, Blogger...

Blog Archives