カテゴリー

アクセスカウンター


since 1996/06/14

Count per Day

  • 37今日の訪問者数:
  • 47昨日の訪問者数:
  • 744月別訪問者数:
  • 0現在オンライン中の人数:

胸キュン

http://www.nicovideo.jp/watch/sm8957607


おなじみ?YMOの君に胸キュンのアレンジ動画ですが、こういうのを見ているとすごい人も要るものだと思う。
キャラは3Dモデルから起こしているみたいだけど、パターンがいくつかあるので、再利用が可能にしても作るのにだいぶ時間がかかるはず。あとは、画面のエフェクトのセンスもすごいですね。
こういう3Dモデルを使った動画は、単に動画を前提にした3Dモデルを作るだけじゃなくて、物理演算系のモジュールとかのプラグインも必要だし、プラグイン自体の質にも善し悪しがあるので、それらをバランスよく使って表現しなければならない。
つまり、熟練しないとなかなか作れるものじゃないってこと。

LAMPの設定

LAMPとは、Linux+Apache+Mysql+PHPというWebアプリケーションの実行環境の通称ですね。PをPerlやPythonと読む場合もありますが、元々の言葉の由来はPHPなんじゃないでしょうか。

で、個人的に、MySQL+PHP環境を好んで使うことが無かったので、あまり設定方法をしりません。しかし、いろいろ検証する度に設定方法を調べるのもアレなので、メモを残しておきます。

なお、環境としてはCentOSやFedoraなどの、yum、chkconfig、serviceコマンドが使える環境を想定しています。

Linux+Apache

あまりここでは書くことは無いでしょうが、検証環境を作る時はだいたいWebのDocument Rootを使わないので、その設定の書き方です。httpd.confに追記します。

Webアプリケーションのパスを「/path/to/web_apps」とし、Webからのアクセスを「http://example.com/web_apps/」としたい場合の書き方。

Alias /web_apps /path/to/web_apps
<Directory /path/to/web_apps>
Order allow,deny
Allow from all
#AllowOverride All
</Directory>

.htaccessなどを有効にしたい場合は、「AllowOverride All」のコメントを外します。

最近、apacheやphpをyumなどでインストールすると、phpが既に有効になっていますので、その辺は省略します。

PHP

yumでの一般的なインストール方法の例です。

yum install php php-mbstring php-gd php-mysql

関係モジュールも含めてインストールします。

  • php
    • php本体です。
  • php-mbstring
    • マルチバイトを扱うモジュール。日本語環境を利用する場合によく要求されます。
  • php-gd
    • 画像加工用のモジュールですね。WebでPhotoAlbumを使うときに要求されることが多いかな。
  • php-mysql
    • PHPからMySQLへアクセスする為のモジュール。

PHPが正しく動作しているかは、アクセス先のディレクトリに、拡張子がphp(index.phpとか)のファイルを作成し、以下のような内容にします。

<?php phpinfo();?>

ブラウザからこのファイルへアクセスして、PHPのパラメータが出てくれば動作確認OKです。

ちなみに、確認後は速やかにファイルを消しましょう。

MySQL

まず、yumからのインストール&デーモンの起動方法。

yum install mysql-server
chkconfig mysqld on
service mysqld start

なお、初回のMySQL起動時には、なにやらメッセージがいろいろ出てきます。この中で重要なのは、初期の不要な情報の削除に関する記述です。デーモン起動後は以下のコマンドで一通りやってくれます。

mysql_secure_installation

基本はすべてYesで匿名ユーザから、サンプルデータベースまで不要なものは消してくれます。また、「New password」など聞かれる箇所がありますが、これはMySQL用のrootアカウントのパスワード(OSとは別物)。必ず設定しましょう。また、あとで使うので忘れるのもダメです。

パスワードが有効になっているかは、以下のコマンドで確認ができます。

# mysql -u root -p
Enter password:←MySQLのrootパスワードを入力。
(略)
mysql> quit ←「mysql>はMySQLのプロンプト。quitで抜けられる。」
Bye

次に、Webアプリ用のユーザとDBの作成です。rootユーザでも作れますが、Webアプリ毎に作った方がいいでしょう。

この例では、

ID:web_apps
DB:web_apps_db

とします。

まずは、MySQLへのログインと、ユーザの作成。

# mysql -u root -p
Enter password:←MySQLのrootパスワードを入力。
(略)
mysql> grant all privileges on web_apps_db.* to web_apps@localhost identified by ‘パスワード’;
Query OK, 0 rows affected (0.00 sec)

次にDBの作成ですが、DBは作成したユーザでログインしなおして作成します。

mysql> quit
# mysql -u web_apps -p
Enter password:←web_appsのパスワードを入力。
(略)
mysql> create database web_apps_db DEFAULT CHARACTER SET utf8;
Query OK, 1 row affected (0.00 sec)

mysql> quit Bye

 

サーバリプレース完了

blog-2010-07-28-P1000051新しいサーバ用のモニタは37インチの亀山モデルですw
あ、これは単にサーバ専用のディスクが無いので、代わりにテレビにつなげているだけです。サーバにHDMI端子が付いてるので、すんなりつながります。大画面でLinuxもいいですねw

さて、サーバのリプレースを完了しました。以前、M/Bが壊れてから仮サーバで動かしていたんですが、それから完全に修復した感じです。
で、今回はサーバをKVM(Kernel-based Virtual Machine)で仮想化しています。
Web・Mail・DNSなどの公開用OSと、ファイルサーバ用家庭内OSとで分けました。おかげでセキュリティ設定がシンプルになりました。シンプルなのは強固なことにもつながるのでいいですね。
ところで、今回のリプレースはいくつか失敗をしました。


  • ディスクをRAID1(ミラー)では無く、RAID0(ストライピング)で組んで公開してしまった。


    • どこでどう間違えたか全然記憶が無いんだけど、一端データをすべて別のディスクに移してRAIDを再構築しました。RAID0だと、スピードはx2だけど、障害発生率もx2なので、速攻で直しました。


  • M/BがLGA775なのにDDR3


    • これはわかる人にしかわかんない話だけど、だいぶ珍しいM/Bです。おかげで既存のメモリが使えなくて余計な出費になりました・・・



ってことで、今回の構成は以下の通りです。

  • CPU:Core2Duo E6400


    • ちょっと古いけど、2coreで且つ電気を食わないのでお気に入り。


  • MEM:DDR3-1333 DualChannel 4GByte


    • でもM/Bが1066までしか対応してない。


  • M/B:Gigabyte GA-EG41MFT-US2H


    • LGA775&DDRの珍しいM/B。MicroATX。グラボ、サウンド、Nic内蔵。HDMI出力端子付き。

    • Gigabyteは、Linuxとの親和性が高くていいですね。


  • HDD


    • OCZSSD2-1VTX30G(SSD 30G)


      • OS領域はSSD(ディスクでは無くメモリ)を使ってます。可動部分が無いので、省電力・低障害性が狙いです。書き換えがほとんど発生しないOS領域のみなので、軽くバックアップだけをとって障害に備えます。


    • SEAGATE ST31000528AS(1TB)x2


      • こっちはデータ領域。1TBx2本でミラーを組んでいます。




一応、基本機能は提供できる状態になっていますが、内部的な処理がまだ未完成です。バックアップもSDカードを挿してそこに取ろうかなと思ってます。

RAID操作

 なんかいろいろやらかしてしまったので、コマンドを調べたついでに備忘録として残しておきます・・・
操作を誤るとデータがすっ飛ぶのでご注意ください。

パーテーションの作成



「/dev/vda」ディスク上のパーテーションを切るときコマンド。
fdisk /dev/vda
使い方は省略。RAIDパーテーションを作る時は領域タイプをfd(Linux raid 自動検出)を使う。

RAID1(ミラー)の作成。


 たとえば、/dev/vda1と/dev/vdb1でミラーを組んで、/dev/md0を作る方法。

mdadm –create /dev/md0 –level=1 –raid-devices=2 /dev/vda1 /dev/vdb1
あるいは
mdadm –create /dev/md0 –l1 –n2 /dev/vda1 /dev/vdb1
※オプションを省略形で書いているだけで、どちらも同じ意味

作成後、マウントする前にファイルシステムを作成して空っぽのディスクにする(ファイルシステムがext3の場合)。

mkfs.ext3 /dev/md0

なお、ミラーディスクを作るとまずそれぞれのディスクが同期を始めます。これが終わらない状態でサーバを落としたりすると起動しなくなったりするので注意です。同期状態の確認方法は以下のコマンド。

cat /proc/mdstat

RAIDを解除する


 当然、mountを解除してから実行します。/(root)や/varなどはmount解除がそう簡単にはできないので注意(やり方は割愛します)。
以下、/dev/vda1・/dev/vdb1でRAIDパーテーションの/dev/md0ができている想定。

mdadm –misc –stop /dev/md0
この後、「cat /proc/mdstat」で確認すると「/dev/md0」が見えなくなってます。
mdadm –misc –zero-superblock /dev/vda1 /dev/vdb1

DeltaMail

Becky!の場合


1,↓「ツール→メールボックスの設定」を選択。


2、「基本設定」タブから「POP3S」を選択。また、認証方式を「標準」にする。ちなみに、「POP3S」を選択時に、「ポート番号を云々・・・」と出てくるので「はい」を選択(「いいえ」でも大丈夫だが)。



3,「詳細」タブで、以下を設定する。

  • POP3が「995」になっていること。なっていなければ995を入力。

  • 「SSL/TLS関連」のところで、「証明書を検証しない」にチェック。また、「クライアント証明書を使用」はチェックをOFFにする。

  • 「SMTP認証」をチェック。図の赤枠内のチェックや欄は特にいじらない(なにもしなくても画像のようになってるはず)。

  • 「POP before SMTPを使用」はOFF。




設定が終わったらOKでウインドウを閉じる。

Outlook Expressの場合


1,「ツール」→「アカウント」を選択。


2,プロパティを選択


3,「サーバ」タブを選択し、「このサーバーは認証が必要」にチェック。
 また、「設定」ボタンを選択し、「受信メールサーバーと同じ設定を使用する」がチェックされていることを確認する。


4,「詳細設定」タブを開き、POP3側の「このサーバーはセキュリティ云々」をチェックする。チェックすると番号が「995」に変わるはず。


設定が終わったらOKでウインドウを閉じる。

munin備忘録

サーバのリソースをお手軽にグラフ化できるmuninですが、いろいろいじってるので備忘録として残しておきます。

  • munin

本体。HTMLデータを作ったりしてる。実体は/etc/cron.d/muninにあり、そこで定期的にデータを作ってる。
設定は、/etc/munin.conf。監視ノードを追加したい時には、以下のような行を追加すれば良い。

[Nickname]
address 192.168.1.xxx
use_node_name yes
  • munin-node

所謂監視エージェント。こっちの実体はデーモンとして稼働している。
設定ファイルは/etc/munin-node.confで、通常は変更不要だが、munin本体が別サーバにある場合は、以下のように通信許可の設定をする必要がある。

allow ^192\.168\.1\.2$
  • munin-node-configure

いろいろ、プラグインの設定支援をしてくれる。
CentOS5の場合は実体は/usr/sbin/munin-node-configureだった。

munin-node-configure

プラグイン一覧と、利用状況が表示される。

munin-node-configure --suggest

プラグインが使えない原因などを教えてくれる。特にコメントが出ていなければたぶん使用可能。

munin-node-configure --shell

使用可能っぽいプラグインを追加する為のコマンド(lnコマンド)をリストしてくれる。「munin-node-configure –shell | sh」とすれば一発登録も可能。

dovecotとSquirrelMailをいじる

 今までずっとpostfix+pop3(apop+pop before SMTP)環境で運用をしてきたけど、さすがに時代遅れ感が出てきた(コンパイルが通るツールが無くなってきた)ので、最新環境を検証してみることにした。

とりあえず方針を決める


まず関係するツール。

  • SMTP:postfix(Maildir環境)


    • これは今までと変更せず。S25Rによる不正メールの除外もそのまま。受信したメールはmboxよりも安全性の高いMaildirで実装。また、pop before SMTPに変わって、SMTP Auth(SMTP認証)を使う。


  • pop3:dovecot


    • 今までのteapopから変更。


  • MUA:SquirrelMail


    • 時々DNSの応答がおかしかったり、そもそも家でしかメールを見れない状態から脱したいのでWebメールを使う。



自分だけのメールサーバでは無いので、いろいろポリシーも決めておく。

  • ユーザはサーバのUNIXユーザ。


    • これは非常に悩んだけど、それほど大規模ユーザではないので、LDAPとかを採用するよりも汎用性が高く、シンプル。


  • サーバにメールを溜め込まない


    • IMAPは使いたくない使わない


      • 機能が限定的になるし、IMAP長期保管に向かない(と個人的に感じてる)。


    • メールデータの蓄積に責任を持ちたくない


  • Webメールはあくまで一時利用目的。


    • 一時的なリモート閲覧用


  • セキュリティは堅く


    • 以前はまだ歴史が浅くて対応を見合わせてきたプロトコルがたくさんあったけど、いつの間にか一般的になってきてるんだなぁ…と実感。

    • POP3S


      • OutlookとBecky!が対応していることを確認したので採用。


    • SMTP認証


      • これも最近では一般的になってきた。


    • SPAM対策


      • 存在しないユーザへのメールはUser Unknownで返す(当たり前なことなんだけど、qmailはできなかったのでw)。

      • 当たり前だけど第三者転送は許可しない。

      • S25R。


    • 当たり前だが、ユーザは/sbin/nologin設定

    • Maildirでデータの保守性を維持

    • Webメールは、個別FQDN運用でhttps。BASIC認証も併用するかも。Digest認証は携帯からだとダメな場合が多いので悩む。

    • メールユーザの作成はWebからさせない。



postfixをSMTP authに対応させる。


 基本的なpostfixの設定方法は省きます。S25Rとかもどこかで書いてたと思うので略。
/etc/postfix/main.cfあたりに以下の行を追加。

# SMTP auth 2010.07.19 add
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination

saslauthdを起動する。

# /etc/rc.d/init.d/saslauthd start
# chkconfig saslauthd on
# chkconfig –list saslauthd

ユーザ毎にMaildirを作る。


既存ユーザには個別にディレクトリを作成するとして、今後の新規ユーザ用。

# mkdir -p /etc/skel/Maildir/{new,cur,tmp}
# chmod -R 700 /etc/skel/Maildir/

dovecotのインストール


自動アップデートに対応したいので、yum install dovecotで入れる。
mysqlも共連れでインストールされるのか…。
viで/etc/dovecot.confを編集。以下の2行を追加。protocolsは後で変更するかもだけど、今は検証用で。

protocols = imap imaps pop3 pop3s
mail_location = maildir:~/Maildir

ちなみに追加しなくてもデフォルトっぽい箇所があるが、そういう細かいことは気にしない。
dovecot起動

/etc/rc.d/init.d/dovecot start

あっさり完了。chkconfigとかで自動起動の設定も忘れずに。
次にMTUの設定。とりあえず、Beckyの場合。

ツール→メールボックスの設定
POP3サーバの横にあるPOP3Sをチェック。
※なんか言われるけど、とりあえず適当でOK。
詳細タブ
POP3のポート番号を995に変更。
SSL/TSL関連のところで、「証明書を検証しない」にチェック。
クライアント証明書を使用しないのチェックを解除。
SMTP認証をチェック。
※その他はそのまま。ユーザID/パスワードは省略できるって書いてあるので、それに準じる。

SquirrelMailの設定


省略w
結構いろんなサイトで解説してるし、バージョンによって画面構成が変わったりするので、設定するときは最新情報をググった方がよさそうだね。
以下、うちの環境向け情報

環境設定コマンド
/usr/share/squirrelmail/config/conf.pl

KVMでゲストOSを操る

LVMの操作

 今回は、ディスクをLVM(Logical Volume Manager)に一任してるので、その操作が必要になりました。GUIからも操作ができるけど、とりあえずCUIでの操作もしたいのでコマンドを確認します。
物理ディスク情報を表示する

pvdisplay

論理ディスクの情報を見る

vgdisplay

VMから利用可能なボリュームを確認するのはこれが一番楽かも・・・

# ls -l /dev/mapper/

ゲストOSの作成

 virt-managerを使うとGUIから簡単にゲストOSを作れるけど、ネットのブリッジ設定とか微妙にわからなかったり、CUIのvirt-installが思ったより簡単に使えたので、virt-installからのゲストOS作成方法。
 注意するポイントは、今回CD-ROMインストールをしたんですが、CD-ROMを入れた瞬間にホストOSが自動認識してしっかり掴みに来ます。CD-ROMドライブは排他利用ができないようなので、そういう環境の場合はumountするなりしましょう。
 ってことで作成方法ですが、私は以下のようなシェルを書いて作成しました。「-c /dev/cdrom」て書くことでCD-ROMを認識してくれます。
ディスク関連のオプションをコメントアウトしているのは、複数のディスクを認識させたいときにコメントアウトを外して、適時内容を書き換えています。
 ちなみにこれだとvirt-viewerが起動してその中でインストールが始まります。コンソールオンリーでやりたい場合は、最後の2行のコメントアウトを外します。

#!/bin/bash
name=testvm1
memsize=512
disk0=/dev/mapper/VolGroup00-xxxx
# disk1=/dev/mapper/VolGroup01-xxxx
# disk2=/dev/mapper/VolGroup02-xxxx
# OS=CentOS 5.5
os_type=linux
os_variant=rhel5.4
exec virt-install \
-n $name \
-r $memsize \
-c /dev/cdrom \
--vcpus=2 \
--os-type $os_type \
--os-variant $os_variant \
--accelerate \
--network bridge=br0 \
--disk path=${disk0},bus=virtio \
# --disk path=${disk1},bus=virtio \
# --disk path=${disk2},bus=virtio \
# --nographics \
# --extra-args='console=tty0 console=ttyS0,115200n8'

 ちなみに、CD-ROMが入ってないとゲストを作成しつつもインストールが失敗して中途半端な状態になります。
その場合は、virt-managerあたりから強制停止→VMを一度削除して初めからやり直した方が楽です。
 ちなみにインストール後に、ゲストOSでyumとかがうまく動かないことがありました。私の場合は単純に接続先ホストの名前解決ができないだけでしたが、どうもホストOSのファイヤーウォール設定(iptables)の影響をモロに受けるみたいです。

virshコマンド

 コンソールからいろいろ見えるので便利。
ゲストOSの起動と停止。当然、停止はホストOSからでは無く、ゲストOSからシャットダウンコマンドを発行した方がいい(というかホストOSからのシャットダウン設定があるっぽい?)。

# virsh start ゲストOS名
# virsh shutdown ゲストOS名

ゲストOS一覧を見る。「–all」を省略すると、稼働中のゲストOSのみが見える。

# virsh list --all
Id 名前               状態
----------------------------------
- xxx1                 シャットオフ
- xxx2                 シャットオフ

ゲストOSを自動起動設定にする。

# virsh autostart ゲストOS名

 

KVMのインスコ

 


 KVMの本が出たので早速買ったんですが、CentOSのことが書いてない・・・。Fedoraは書いてあるけど、若干違う?
 とりあえず、環境構築の検証で何度もインストールをしてるんですが、さすがにメモをとらないとヤバいので、メモついでにブログっておきます。

OSのセットアップ

x86_64のCentOS5.5ベースでいってます。
32ビット版Linuxを入れてもメモリが4GBに制限されるし、ホストOSが64ビットなら、ゲストOSは32ビット・64ビットどちらも選択できるので幅が広がります。
★選択するソフトウェア
 ホストOSは最小構成にします。
セットアップ中のソフトウェアの構成では、GUIを使いたいのでGnomeを選択します。あとなんだっけ?アプリ関連はすべてOFF。サーバはデフォで印刷が選択されてるのでそれもOFF。
確かベースシステム関連と、GnomeくらいしかONにしてなかったかも。
仮想化関係は後で入れるのでOFF。
★ディスクパーテーション
ディスクパーテーションでは、LVMを選択ですが、以下のような感じにしました。

LVM名 割り当て マウント先
LV00_root 4G /(ルートパーテーション)
LV01_swap 4G swap
LV02_web 4G Webサーバ用
LV03_fs 4G ファイルサーバ用サーバ用
LV04_vm 4G その他検証サーバ用1
LV05_vm 4G その他検証サーバ用2
LV06_vm 残り(8Gくらい) その他検証サーバ用3

VM関連はマウントさせる必要が無いんですが、セットアップに怒られるので渋々設定。後でマウントを外します。
あ、ちなみに32GのSSDを使ってます。
OS部分をここにつっこんで、データ部分はディスクでミラーを組むつもり。
CentOSはフルインストしなければ、4GBでだいたい50%前後を消費します。
★ネットワーク
 固定IPを振ります。サーバがDHCPなんてあり得ないので(後で変更してもいいけど)
★その他
 NTPを有効にします。仮想化環境はホストOSの時計さえ合わせればOKなので。
 あと、SELinuxはよくわからんのでOFF。

OSのセットアップ後のいろいろ

OSを最新化します。

yum update

KVMを有効にします。LVMもGUIでいじりたいので、ついでに追加。
サーバの温度監視などもホストOSでさせたいので、lm_sensorsも追加しています。


yum install system-config-lvm lm_sensors kvm kmod-kvm kvm-qemu-img libvirt python-virtinst bridge-utils virt-viewer

「libvirtd」をデーモンとして起動するように設定。

chkconfig libvirtd on

「lm_sensors」の有効化。だいたいデフォルトで行けるけど、マザーボードの仕様などにもよるので、詳しくは書きません。

# sensors-detect

不要なデーモンを止めます。
「chkconfig –list | grep 5:on」で自動起動するデーモンの一覧が見えます(CUIベースならgrep 3:onね)。私は以下のような感じに、デーモンを止めました。

# chkconfig acpid off
# chkconfig autofs off
# chkconfig avahi-daemon off
# chkconfig bluetooth off
# chkconfig cups off
# chkconfig firstboot off
# chkconfig gpm off
# chkconfig haldaemon off
# chkconfig hidd off
# chkconfig iscsi off
# chkconfig iscsid off
# chkconfig mcstrans off
# chkconfig messagebus off
# chkconfig netfs off
# chkconfig nfslock off
# chkconfig pcscd off
# chkconfig restorecond off
# chkconfig rpcgssd off
# chkconfig rpcidmapd off
# chkconfig sendmail off

基本ポリシーとしては、ホストOSでは極力サービスを提供しないようにしたいので、NFSとかsendmailなどの止められそうなネットワークサービスは止めます。その他セキュリティ系・H/W性能向上/計測系のサービスは動かします。H/Wへの直接アクセス系はホストOSで動かすべきだと思うので。

# chkconfig --list | grep '5:on'
anacron         0:off   1:off   2:on    3:on    4:on    5:on    6:off
atd             0:off   1:off   2:off   3:on    4:on    5:on    6:off
auditd          0:off   1:off   2:on    3:on    4:on    5:on    6:off
cpuspeed        0:off   1:on    2:on    3:on    4:on    5:on    6:off
crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off
ip6tables       0:off   1:off   2:on    3:on    4:on    5:on    6:off
iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off
irqbalance      0:off   1:off   2:on    3:on    4:on    5:on    6:off
kudzu           0:off   1:off   2:off   3:on    4:on    5:on    6:off
libvirtd        0:off   1:off   2:off   3:on    4:on    5:on    6:off
lm_sensors      0:off   1:off   2:on    3:on    4:on    5:on    6:off
lvm2-monitor    0:off   1:on    2:on    3:on    4:on    5:on    6:off
mdmonitor       0:off   1:off   2:on    3:on    4:on    5:on    6:off
microcode_ctl   0:off   1:off   2:on    3:on    4:on    5:on    6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
ntpd            0:off   1:off   2:off   3:on    4:off   5:on    6:off
portmap         0:off   1:off   2:off   3:on    4:on    5:on    6:off
rawdevices      0:off   1:off   2:off   3:on    4:on    5:on    6:off
readahead_early 0:off   1:off   2:on    3:on    4:on    5:on    6:off
readahead_later 0:off   1:off   2:off   3:off   4:off   5:on    6:off
smartd          0:off   1:off   2:on    3:on    4:on    5:on    6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
syslog          0:off   1:off   2:on    3:on    4:on    5:on    6:off
xfs             0:off   1:off   2:on    3:on    4:on    5:on    6:off
yum-updatesd    0:off   1:off   2:on    3:on    4:on    5:on    6:off

あと、/etc/fstabを編集してマウント不要なVMパーテーションを消しておきます。

ネットのブリッジ設定。

KVMのネットは、なんだかデフォでNAT構成になってるそうです。VM毎にIPを振る場合はブリッジ構成にした方がいいので、ホストOSをブリッジにします。
以下は、セットアップ時に固定IPを振ってる場合のやり方。

# cd /etc/sysconfig/network-scripts
# cp ifcfg-eth0 ifcfg-br0
# vi ifcfg-br0
※「DEVICE=eth0」を「DEVICE=br0」へ変更。
※「TYPE=Bridge」を追記。
# vi ifcfg-eth0
※「IPADDR」「NETMASK」「NETWORK」「BROADCAST」の項目を削除
※「BRIDGE=br0」を追記。

再起動と環境確認

 なんか、KVMが再起動時に有効にならないとか、デーモンを止めたりとかしてるので、とりあえず再起動します。
ネットの設定を失敗してると再起動後にリモート接続できなくなるので注意です。
再起動後、「lsmod | grep kvm」で以下の表示が出れば、正常にKVMが稼働しています。

# lsmod | grep kvm
kvm_intel              86920  1
kvm                   226208  2 ksm,kvm_intel

あとはゲストOS入れたりとか。

LUMIX DMC-TZ10



デジカメを買いました。
親にあげた二世代前に買ったデジカメ(Nikonのcoolpix S10)が壊れたので、今まで使ってたPanasonicのDMC-TZ3をあげて、代わりにDMC-TZ10を購入。
なんだかんだで、TZ3は2年半も使ってたのか。
型名の通りTZ3→TZ5→TZ7→TZ10という流れの直系の後継機ですね。
ざっと見た感じ、TZ3に比べてハデな変化が無く、地味に進化してる感じです。

  • GPS機能が付いている(地名とか出せるらしい)。

  • 光学12倍ズーム(TZ3は10倍)。

  • 広角25mm(TZ3は28mm)。

  • 1210万画素(TZ3は720万画素)。

  • 動画がAVCHD Lite(ハイブジョン画質)。HDMIミニ端子付き(ケーブルは別売)。

  • SDHCメモリカード対応。


 ハデな機能向上よりも、こういう地味な機能向上は好感が持てます。ほかにも撮影深度の調整とか一眼レフカメラみたいな設定ができるみたい。カメラ素人の私にはその辺はよくわかりません。全自動で撮っちゃいます。
 手ぶれ補正とかはさほど変化なし。やっぱり暗いとブレます。
その他、TZ3からの変化。

  • 本体が一回り小さくなった。感覚的には薄くなった。

  • 再生がダイヤルじゃなくて別のスライドボタン。

  • 動画撮影ボタンもシャッターとは別。

  • 連写が画質優先だと3枚。


 TZ3が何でもかんでもダイヤル選択だったのに対し、撮影設定関連はダイヤル。表示、撮影モードは別のボタンに出したと、機能とUIを完全に分けてますね。特に良い・悪いとも言えないけど、ダイヤルを回す頻度が確実に減ると思う。
 あと、これだけ機能が増えて一回り小さく、若干軽量化されているところもすばらしいですね。感覚的にはTZ3より薄くなった感じ。どこにレンズが収まってるのか不思議な感じです。
バッテリも一回り薄くなってるので、電池の消耗時間も気になるところです。
あと、デジタルズームが今までただの拡大機能(画質が劣化)だったので一切使ってませんでしたが、この機種はそれを抑制する機能が付いているそうです。その機能がどの程度いいのかが今後試してみたいところかな。
たまに動体撮影をするので、連写枚数が減ったのが残念。前と同じ画質ならたくさんとれるんだけどね。せっかくだから高解像度で撮りたいし。

忘れてた

6月14日で、私がWebサイトを公開し始めて14周年でした。
一年前はどうしてたかなぁと思って見てみたら、ほとんど同じことを書いてるし・・・
まぁ、一年前のこのころも忙しかったのかな。

はやぶさ帰還

blog-2010-06-13-00038世界初の小惑星まで行ってきた人工衛星はやぶさが7年の歳月を経て帰ってきました。
最後のミッションである、地球の大気圏に突入しながらカプセルを放つところをu-streamのライブ放送でやっていたので見てました。
画像は、ちょうど衛星が燃えた瞬間のところ。

すごい!
写真
http://www.yomiuri.co.jp/zoom/20100613-OYT9I00808.htm
http://jul.2chan.net/dec/b/src/1276438486782.jpg
http://www.asahi.com/photonews/TKY201006130305.html
動画(ライブ映像の録画:3分くらいのところで見える)
http://www.ustream.tv/recorded/7634995
はやぶさが最後に撮影した地球の写真
http://twitpic.com/1wh78q

(備忘録)KVMで仮想化サーバ

KVMと言ってもコンソールの切り替え機では無くて、Kernel-based Virtual Machineの方で、最近ポピュラーなXenとはまた違った仮想化環境です。
とりあえず書籍などが無いので、Webサイトをあさりながら勉強中。以下のサイトを参考にしてます(特に前者)。
http://www.asahi-net.or.jp/~aa4t-nngk/kvm.html
http://www.ibm.com/developerworks/jp/linux/library/l-linux-kvm/index.html
といっても、まだLinuxがまともに起動するマシンができあがってないので、勉強しながら構築中・・・

一昨日、サーバがダウンしました

 夜中にサーバからの応答が途絶えました。焦げ臭かったので電源を切って調べましたが、原因特定できなかったので持ち越し。
昨日調べたら、どうもDiskのコントローラがダメっぽいのがわかったので、仮のマザーボードに交換して復旧してます。
データも一部死んでましたが、ミラーリングをしているので、再同期で復旧。
それにしても、Linuxは違うマザーボードを交換してもすんなり動くので、障害対応が楽でいいですね。



Linux(RH系)の場合は、/proc/mdstatで確認すると、ステータスがUUになってればOK。U_とか、_Uは片肺になってる。
たとえば、本来は/dev/sda7と/dev/sdb7でミラーを組んでいるはずが、/dev/sda7だけになってるのであれば、/dev/sdb7が切り離されてるということになる。
ミラー復旧中は「recovery = xx.x%」とか出てくるが、それが無いなら手動で復旧が必要。
「mdadm –detail /dev/md0」とかで詳細が確認できたりします。
今回は、一部のパーテーションがミラーから切り離されてるだけだったので、手動で再同期しました。
/dev/md0に/dev/sdb7を追加するときは、「mdadm /dev/md0 –add /dev/sdb7」みたいなコマンドでいけます。
ミラーの再同期状況は、mdadm –detailや、cat /proc/mdstatなどで確認できます。

Intel i7

blog-2010-05-08-i7 パソコンをスペックアップしました。
CPU:Intel i7 930 2.8GHz
MEM:DDR3-1066 1GB x 3 = 3GB(トリプルチャネル)
M/B:Asus P6X58D-E
G/B:nVidia GeForce9600GT
HDD:
OCZSSD2-1VTX30G(30GB SSD) x2(RAID0)
Hitachi HDS725050GLA360 x2(RAID0)
Hitachi HDS721010CLA332(1TB)
DVD:LG電子GH24NS50
ケース:Antec SOLO
やっと、i7を導入。メモリがトリプルチャネル(3枚のメモリへ平行でアクセスすることで、アクセス速度が三倍になる)のおかげで、Windowsのパフォーマンス評価が上限に達しました。CPU(プロセッサ)評価も、もうすぐ上限。HDDについてはプライマリが一番遅いHDDに向いてるので値が低いのかも。
前のPCケースだと、CPUクーラが収まりきらなかったので、新しいケースを購入。これ自体が静音ケースとのことでしたが、組んでみたら確かに静か!静かってレベルじゃなくて、ほとんど無音です。静音FANを使っているとは言え、FANが6つもあるのにこの静かさはすごいです。
http://www.links.co.jp/items/antec-case/antec-solo.html

2010年05月02日(長野)北相木村

blog-2010-05-05-1G/Wの2日~3日を利用して北相木村というところに行ってきました。何があるという訳じゃないんですが、とりあえず友達の別荘があるので、泊まり込みです。

blog-2010-05-05-7blog-2010-05-05-9

写真のような感じの、まったりと自然を満喫できるところですね。
blog-2010-05-05-8これはゴリラ山らしいです。ゴリラが寝たようなシルエットが見えます。

blog-2010-05-05-2blog-2010-05-05-3blog-2010-05-05-4
blog-2010-05-05-5blog-2010-05-05-6
あとはもう一日中バーベキューです。ホイル焼きはニンニクとキノコ。
blog-2010-05-05-10これは帰りがけの、たぶん南八ヶ岳花の森公園。毎年この時期に鯉のぼりを出してますね。G/Wともあって駐車場は満車です。

geeklogメモ

CentOSにgeeklog 1.6.1を突っ込むためのメモ。
どうでもいいが、VMWareを起動させるとWindows7のComputer Browserとかが再起動を繰り返してパフォーマンスがすごく落ちる。たぶんVMのネット設定のbrige接続あたりを変更すれば直ると思うが…


  • php関連のインストール



yum install php php-cli php-common php-mbstring php-mcrypt php-mysql php-pear

特に、php-mbstringはデフォでインストールされない?入れて無くても中途半端に動ごくが掲示板を使い始めるとmb_ereg_replace関数あたりで死んで画面が真っ白になる。

  • mysql関連のインストール


/etc/my.iniに追加。

old_passwords=1
character-set-server = utf8
collation-server = utf8_general_ci
init-connect=SET NAMES utf8


  • utf8_general_ciかの確認。



mysql -u root -p
mysql> show character set like ‘utf8’;


  • データベースとユーザの作成。



mysql> create database geeklog;
mysql> grant all on geeklog.* to geeklog@localhost identified by ‘パスワード’;


  • geeklogのインストール


http://server/geeklog/admin/install
へアクセスする(当然、httpdの設定が必要)。
必要なパーミッションはインストール画面に出るので、それを設定すればいいので便利。

三画面

blog-2010-04-24-P1100544新しいモニタを買いました。
そろそろ大きな画面、というかグラフィックをやるには目の細かい画面の方がいいので、そういうのを買いました。
QWXGA(2048×1152)という解像度なんですが、この大きさで一般的なWUXGA(1920×1200)より若干細かいです(本当に若干ですが)。
あと、反応速度も5msということで、ゲームをやる分にも申し分ないです。
この2つのバランスとコストパフォーマンスでこれにしました。
で、もともとデュアルディスプレイだったので入れ替えるつもりだったのですが、せっかくなので三画面にしました。
1台はUSB接続なんで描画が遅いですけどね。
目の前が画面だらけです。

今日から横浜勤務

 ここ半年くらいプロジェクトで忙しかったんですが、今日から現地の横浜に入っての仕事です。朝も早いし通勤時間が1時間近く増えるのでちょっと大変です。
まだしばらく忙しくてなかなかブログを更新できませんが、そんな感じです。

lightwaveのFiberFX

 最近、久しぶりにlightwave3D v9.6の体験版をダウンロードしてきて遊んでます。その中にFiberFXという主に生物の体毛の作成を支援してくれるツールがなかなかおもしろい。
ちょっとメモがてらにご紹介。
blog-2010-02-27-fiber1まず、曲線を作成します。「ドロー」ってのが、いい具合のスプライン曲線なので、作りやすいです。

blog-2010-02-27-fiber4ちなみに、曲線の書き方で、根元と先端が決まります。ポリゴンを選択した時に、こんな感じで◇が付く方が根元です。逆になった場合は、反転すれば直ります。
ざざっと、線を引いたら、セットアップタブのファイバーFX→ストランドメーカを選択します。クリックすると、選択されたレイヤーから、新たな線レイヤーが作成され、これが繊維の元になります。
古いの曲線ポリゴンはこれで用済みなので、削除してOK。

blog-2010-02-27-fiber3 レイアウトツールに転送して、ウィンドウメニュからイメージプロセッシングを選びます。ピクセルフィルタに「Fiber Filter」を追加(ここで何故か名前がFiberFXになる)して、プロパティを開きます。
プロパティではオブジェクト毎に設定が出来ますが、同一オブジェクトに複数の設定をしたい場合は、コピーして、質感設定別にとかも設定化。
線ポリゴンに対しては、重力やサーフェイス(質感)別の設定は出来ません。
1本の線ポリゴンに対して、いくつの線を引くか(Max Fiber Density)とか、ウェーブ(Fiber Kink)、アホ毛の量(Stray)、あるいは毛の密度(Tuft)等を設定します。


blog-2010-02-27-fiber2後はレンダリングするとこんな感じ。ストランドメーカで作成した線ポリゴンは、モデラー上でIKの様な編集が出来るので楽ですね。元となるドローで作成した線ポリゴンも残しておいた方が便利かもしれません。

 ちなみに、面ポリゴンに対しては、その面から毛を生やすイメージの動作になります。その為、重力設定や質感(Surface)を指定が可能になります。
※面ポリゴンに、うっかり線ポリゴンが混ざると、このsurface設定ができなくなるんすよね。これにはハマりました。
こんな感じで、お気軽に質の高い髪の毛が作れます。