XenClient Express RC1.0


Posted in 仮想化 by masezou - 5月 13, 2010

本日、XenClient RC1.0をインストールしてみました。 (社長にXenClientのCDを渡されたのが悲劇の始まり。。。)

必要なもの
サーバ側
XenServer:  CPUパワーは特に要らないので、Dual Coreでメモリ2GBでいけそうな感じ
NFSサーバ: なければ、XenServerのディスクで代用可
AD環境:   ローカルユーザでも使えますが、ADと連携させてみました。

クライアント側
PC:      サポートされているデバイスが、HP/Dell/Lenovoのマシンなので、対応機種を準備。偶然社内に新品がありました。
対応スペックはこちら
ちなみにOSは要りません。どうせ、OSは消されます。

ソフトウェア
XenClient ExpressのISOイメージをあらかじめCD-Rに焼いておきます。
Synchronizerという仮想マシンアプライアンスをダウンロードしておきます。

以下インストール殴り書き

クライアント
XenClient ExpressのCDをノートPCにインストールします。
 (ここで、全てのHDDデータが消されますので注意)
とりあえず、ログインができたらそのままにしておきます。

サーバ
XenServerを普通にインストールします。
その後、Synchronizerという仮想マシンアプライアンスをインポートしておきます。
インポート時の注意は、NFSサーバを用意しないのであれば、xt-data-volのサイズを
拡大しておきます。
アプライアンスを起動すると、パスワード、ホスト名を聞かれて、インストーラが立ち上がりますが、一旦終了します。
その後、コンソールで、ネットワークの設定とLVMの領域拡張をします。
付属のドキュメントの通りに以下を修正します。
/etc/network/interface
/etc/resolv.conf

pvresize/lvextend/resize2fsを実行します。
その後、./installer.shを実行します。
 ->adminのパスワードが変更できなかったので、デフォルトのadminにしておきました。

インストールが成功したら、http://IPアドレスにアクセスします。
アカウントは、AD連携を有効にしている場合でも
ホスト名¥admin
となります。

ADのユーザを指定する場合は、FQDNではなく、必ずNETBIOS名を指定します。
FQDNが、example.comで、NETBIOS名がEXAMPLEの場合、
EXAMPLE\ユーザ名
となります。

synchronizerのWEBでユーザを登録します。

XenClient(ノートPCでは)以下を行います。
仮想マシンの作成
デバイスの登録
仮想マシンのアップロード

仮想マシンをXenClient(ノートPC)上で作成します。
ほぼWindowsXPのインストールなので詳細は割愛しますが、
インストールには、WindowsXP SP3が必要です。また、XenToolsをインストールします。(すでにISOがマウントされてます)

次に、synchronizerでノートPCを登録します。
指定するには、synchronizerのアドレス(http://IPアドレス)と
ユーザ名(ノートPCを利用するユーザ)
を指定します。仮想マシンの登録はこの時点では行いません。

次に仮想マシンをアップロードします。
XenClient(ノートPC)で作成した仮想マシンをsynchronizerにアップロードします。
アップロードしたら、ユーザを割り当てください。
 注意:仮想マシンをアップロードするには、Synchronizer上でAdministrator権限がないとアップロードできません。

これで大方完了。あとは、アップロードした仮想マシンをクリックして起動してください。
(アップロード元の仮想マシンは、不要だと思われます。)

XenClientってどういう動きをするのか
XenClientにログインすると、割り当てられた仮想マシンにアクセスできます。
ただし、XenDesktopと異なり、クライアント上で仮想マシンが動作します。
また、仮想マシンのバックアップがsynchronizer上にとられます。(未確認)
さらにクライアントPCを落としても、synchronizerから仮想マシンをロックできます。(未確認)

ちなみにクライアントのXenClientは、Xenカーネルが動作するのですが、普通に使っているとコンソールにはアクセスできません。(起動時のモードを選べばアクセスできますが。。。)
仮想マシンは、基本的にノートPCのサウンド、USB、無線LANにアクセスできます。
(Xenでここまでデバイスにアクセスできるとは)
てっきり、XenDesktopと共存できたりするのかと思いましたが、全く別のシステムのようです。

だらだらと書いてしまいましたが、本日はこれまでです。


5月
13

Apacheインストール


Posted in Uncategorized by a2c - 5月 10, 2010

Apache2.2系のソースコンパイル方式でのインストール方法です。
1.ソースファイルのダウンロード
ココから2.2系最新版をダウンロードします。

cd /usr/local/src/
wget http://ftp.kddilabs.jp/infosystems/apache/httpd/httpd-2.2.15.tar.gz

2. インストール
ダウンロードしたファイルを解凍し、インストールします。

tar xzf httpd-2.2.15.tar.gz
cd httpd-2.2.15

./configure –enable-so –enable-ssl –enable-rewrite –enable-proxy
make
make install

3.設定チューニング
/usr/local/apache2というディレクトリが作成され、その配下に設定ファイルが格納されているディレクトリがあります。
設定ファイルを書き換えることにより、様々なチューニングが可能となります。
まずは、基本チューニング設定を行います。(仮に skyarch.netというドメインを利用します)

cd /usr/local/apache2/conf
vi httpd.conf

変更点1
ServerAdmin you@example.com

ServerAdmin webadmin@skyarch.net

変更点2
<Directory />から</Directory>を全てコメント(行先頭に#を入れる)

変更点3
<Directory “/usr/local/apache2/htdocs”>から</Directory>を全てコメント(行先頭に#を入れる)

変更点4
<IfModule dir_module>から</IfModule>を全てコメント(行先頭に#を入れる)

変更点5
<FilesMatch “^\.ht”>から</FilesMatch>を全てコメント(行先頭に#を入れる)

変更点6
ErrorLog “logs/error_log”

ErrorLog “|/usr/local/apache2/bin/rotatelogs /var/www_logs/error_log.%Y%m%d 86400 540″

変更点7
CustomLog “logs/access_log” common

CustomLog “|/usr/local/apache2/bin/rotatelogs /var/www_logs/access_log.%Y%m%d 86400 540″ combined

変更点8
ScriptAlias /cgi-bin/ “/usr/local/apache2/cgi-bin/”をコメント(行先頭に#を入れる)

変更点9
<Directory “/usr/local/apache2/cgi-bin”>から</Directory>を全てコメント(行先頭に#を入れる)

変更点10
DefaultType text/plainをコメント(行先頭に#を入れる)

変更点11
#Include conf/extra/httpd-vhosts.confのコメントを外す(先頭行の#を削除)

4.VirtualHost 設定
実際にWebサーバを作成します。このVirtualHost設定をすることで、Webコンテンツをインターネット上に公開することが出来ます。
また、.htaccessでのコンテンツ制御も可能に設定します。

mkdir -p /var/www/www.skyarch.net/httpd
cd /usr/local/apache2/conf/extra
vi httpd-vhosts.conf

<VirtualHost *:80>
DocumentRoot “/var/www/www.skyarch.net/httpd”
ServerName www.skyarch.net
ServerAlias skyarch.net
ServerAdmin webadmin@skyarch.net
ErrorLog “|/usr/local/apache2/bin/rotatelogs /var/www_logs/www.skyarch.net-error_log.%Y%m%d 86400 540″
CustomLog “|/usr/local/apache2/bin/rotatelogs /var/www_logs/www.skyarch.net-access_log.%Y%m%d 86400 540″ combined
<Directory “/var/www/www.skyarch.net/httpd”>
Options -Indexes
Allowoverride all
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

5.起動設定
まずは、設定内容に不備がないかの確認をします。

/usr/local/apache2/bin/apachectl configtest

上記コマンドで「Sysntax OK」と出れば問題無し。

次にスタートスクリプトをコピーする。
cp -p /usr/local/apache2/bin/apachectl /etc/init.d/httpd

自動起動設定をする。

vi /etc/init.d/httpdで以下を追記する
#!/bin/sh
# chkconfig: 345 98 20
# description: Watch system status
# processname: hotsanic
# chkconfig: 345 98 20

最初の345は起動するランレベル。
次の98は起動時の優先順位。
最後の20は停止時の優先順位。

追記後、以下のコマンドを入力する。

chkconfig –add httpd
chkconfig –levels 2345 httpd on

最後にApacheを起動する。

/etc/init.d/httpd start

これで目的のURLをブラウザで表示出来れば設定完了です。


5月
10

XenServerのホストからゲストVMのコンソールにターミナルアクセス


Posted in Linux, クラウド, 仮想化 by masezou - 3月 29, 2010

Open SourceのXenならば、# xm console とすると、ゲストOSのLinuxにtelnet形式の接続ができますが、Citrix XenServerには、その方法が明記されていなく、すべて、XenCenter経由でアクセスとなります。
しかし、XenCenterの接続は、NATを介してのコンソール接続ができません。(Hostもゲストも)

それを回避するための方法

1)まず、domain idを調べる。
XenServerのホストにsshでログインをして以下のコマンドを実行
# xe vm-list dom_id=[TAB] [TAB]
0 と数字が補完されて出てきます。これをドメインIDといいます。
0 ホスト Dom0
0 以外ゲスト DomU

# xe vm-list dom_id=[数字]
として、該当するゲストがどうかを確認します。

2) 次に以下をフルパスで入力 は、該当のドメインID
# /usr/lib/xen/bin/xenconsole


/usr/lib/xen/bin/xenconsole 3

指定したDomUのコンソールに接続できます。もちろんゲストがシングルユーザモードになってもOK.。

ちなみに、再起動すると数字がカウントアップします。
(正確には、ドメインを生成するごとにIDがカウントアップする。
ドメインの生成タイミングによっては、カウントアップ1とは限らないので
xm vm-listで都度確認が必要。もっとマシな方法があるかもしれない。)

http://forums.citrix.com/thread.jspa?threadID=247484&tstart=-4

ちなみに、Windowsゲストの場合は、puttyを使ってトンネル接続が必要。
その後vncviewerで接続。
http://support.citrix.com/article/CTX123501


3月
29

PHPのアクセラレータ紹介


Posted in PHP by a2c - 2月 19, 2010

春なのか、冬なのかわからない陽気になってきました。
(たぶん、冬なのですが)

今回はPHPのアクセラレータをいくつかご紹介します。
フレームワークで開発する場合に、必須とも言えるアクセラレータ。
最近はアクセラレータを何にするかでフレームワークを決めるということもあるようですね。

まずはどんなアクセラレータがあるのか、挙げさせてもらいます。

・eAccelerator
Trunk MMCacheが元になっている

・APC
PECLに含まれる。

・xcache
新たに作られたcacher。

・ionCube PHP Accelerator
Yahooが使ってる。バージョン5.xには未対応。

・ZendOptimizer
PHPコード最適化ツール。

他にもあるかとは思いますが、まあ代表的なものは上記です。
次に実際のアクセラレータ実測ランキングです。

実行速度の順位
1.  eAccelerator(optimize=1,zend_extension)
2. APC+ZendOptimizer
3. eAccelerator(optimize=1,extension)

素直にeAcceleratorが一番良いのですかね?
でも、ZendFrameworkを使うならZendOptimizerをお奨めします。

フレームワークとの相性で選ぶのも良いかもしれませんね。


2月
19

postfixでスパム対策


Posted in Linux by a2c - 2月 15, 2010

更新が遅くなってしまい申し訳ありません。。。。

さて、今回はpostfixで簡単スパム対策をしたいと思います。
postfixは弊社でも主流となるアプリケーションサーバの一つで、現在のメールサーバのスタンダードと言えます。

前置きは、この辺で実際にやってみましょう。

まずは、普通にpostfixをインストール。

yum install postfix

パッケージでインストールすれば簡単に導入できますね。
初期設定もろもろありますが、基本的には/etc/postfix/main.cfをいじくれば良いと思います。

ちなみに私はVirtualDomain対応にしているので、以下のような設定をします。

queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
myhostname = xxx.skyarch.net
mydomain = skyarch.net
myorigin = $myhostname
inet_interfaces = all
mydestination = $myhostname, $mydomain, localhost.$mydomain, localhost
unknown_local_recipient_reject_code = 550
mynetworks = 127.0.0.0/8
relay_domains = $mydestination
home_mailbox = Maildir/
smtpd_banner = $myhostname ESMTP $mail_name
debug_peer_level = 2
debugger_command =
 PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
 ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail
newaliases_path = /usr/bin/newaliases
mailq_path = /usr/bin/mailq
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/local/man
readme_directory = no
allow_min_user = yes
local_transport = local
virtual_transport = virtual
virtual_mailbox_base = /home/mailuser/domains
virtual_mailbox_domains = hash:/etc/postfix/vdomain
virtual_mailbox_maps = hash:/etc/postfix/vmailbox
virtual_minimum_uid = 10001
virtual_uid_maps = static:10001
virtual_gid_maps = static:10001
alias_maps = hash:/etc/aliases
alias_domains = $alias_maps
owner_request_special = no
recipient_delimiter = +

キモはVirtualDomain対応であるということですね。
細かな設定内容に関しては、ご自身で調査してくださいね。

ここからが本題です。

次のパラメータをチューニングすることで、スパム(と思われるものも含む)を除外していきます。

smtpd_*_restrictions
smtpd_*_restrictionsで設定可能なパラメータには以下のようなものがあります。
・reject_invalid_hostname:HELO/EHLOのホスト名の形式が正しくない
・reject_non_fqdn_hostname:HELO/EHLOのホスト名がFQDNでない
・reject_unknown_sender_domain:送信者アドレスのドメインがDNS上に見つからない
・reject_unauth_pipelining:SMTPの応答を返す前にクライアントからデータが送られた
・strict_rfc821_emvelopes:MAILとRCPT命令時のメールアドレスがRFC821に従わない場合に拒否
・strict_8bitmime:ヘッダ部&本文部に生の8bit文字があるメッセージを拒否
ホワイトリストやブラックリストを上記設定と組み合わせフィルタするものもあります。
まあ、他にもありますがキリが無いのでこのへんで。

で、参考までに私の設定です。
/etc/postfix/main.cf
smtpd_helo_require = yes
smtpd_helo_restrictions =
  permit_mynetworks
  check_client_access hash:/etc/postfix/client_access
  check_helo_access hash:/etc/postfix/helo_access
  reject_invalid_hostname
  reject_non_fqdn_hostname
smtpd_sender_restrictions =
  permit_mynetworks
  check_sender_access hash:/etc/postfix/sender_access
  reject_unknown_sender_domain
smtpd_recipient_restrictions =
  permit_mynetworks
smtpd_data_restrictions =
  reject_unauth_pipelining
strict_rfc821_envelopes = yes
strict_8bitmime = yes

/etc/postfix/client_access
拒否IP REJECT
許可IP OK

/etc/postfix/helo_access
自ドメイン REJECT

/etc/postfix/sender_access
拒否送信者アドレス REJECT
許可送信者アドレス OK

ちなみに、これをやってメールが届かなくなっても責任は持てません(笑
自己責任でお願いします。

postfixを勉強するのなら、これがすごくわかり易い!
今回ご紹介した設定もこの本に載っていますよ。

簡単お手軽スパム対策でした。
ちなみにガッツリスパム対策したい人は、spamassassinとかでSAREのルールを使うと良いですよ。

2月
15

Windowsライセンス


Posted in Uncategorized by a2c - 1月 19, 2010

Windows 主要サーバの種類とサポートライセンス (内容と定義) についての紹介
になります。

◆主要サーバ Edition
・Winodws Server 2003
Standard Edition
Enterprise Edition
Datacenter Edition
Web Edition (32bit のみ)
R2 Standard Edition
R2 Enterprise Edition
R2 Datacenter Edition

・Windows Server 2008
Standard Edition
Enterprise Edition
Datacenter Edition
Web Edition (32bit のみ)
R2 Standard Edition (64bit のみ)
R2 Enterprise Edition (64bit のみ)
R2 Datacenter Edition (64bit のみ)
R2 Web Edition (64bit のみ)

◆Windows OS サポートライフサイクル
Windows OS 製品については、最短で 10 年間 (メインストリームサポートフェー
ズ 5 年間 / 延長サポートフェーズ 5 年間) サポートを提供しております。
※サービスパックでのサポートは、サービスパックがリリースされる際にそのひ
とつ前にリリースされたサービスパックの最短 12 ヶ月間を基本としてサポート
期間が提供されている

・Windows Server 2003 サポート終了日
製品サポート提供期限 ⇒ 2015/7/14
SP1 サポート提供期限 ⇒ 2009/4/14
SP2 サポート提供期限 ⇒   未定

・Windows Server 2003 R2 サポート終了日
製品サポート提供期限 ⇒ 2015/7/14

・Windows Server 2008 サポート終了日
製品サポート提供期限 ⇒ 2018/7/10
OS サポート提供期限  ⇒ 2010/7/13

・Windows Server 2008 R2 サポート終了日
製品サポート提供期限 ⇒ 2018/7/10

全サーバのライセンスサイクルにつきましては、下記をご参照下さい
http://support.microsoft.com/lifecycle/?c1=508

◆Windows ライセンス
Windows Server では、”アウトソーシングライセンス” “非アウトソーシングラ
イセンス” の 2 種類にて提供されていている。
アウトソーシングライセンスとは、以下の条件に基づくライセンス形態になりま
す。
・顧客の従業員、契約業者、代理店、またはベンダーによって使用される
・サービスプロバイダーの知的財産ではない
つまりアウトソーシングとは、サービスプロバイダーがアプリケーションまたは
サービスを顧客に代わって運用管理をすることが前提となります。

 

Volume Licensing


1月
19

ジャバジャバ


Posted in アプリケーション by a2c - 1月 5, 2010

新年明けましておめでとうございます。
今年も宜しくお願いいたします。

さて、新年一発目の情報はズバリ「JAVA測定ツール」の紹介です。
実はこれ、意外と知られていません。。。。

◆ JBento
様々なJava&Apacheツールを組み合わせたJBossベンチマーク取得ツールです。
測定可能なものは以下となります。
1.Servlet
2.JNDI(Java Naming and Directory Interface)
3.HttpSessionレプリケーション 

◆ Apache Jakarta JMeter
ApacheのJakarta Projectにある負荷ツールです。
JBentoにも組み込まれています。

◆ Apache ant
ビルドツール。
XMLで記述し、Eclipseにも標準で、実装されています。
もちろんJBentoにも組み込まれています。

◆ jAppServer2004
JBentoが誕生する前にSPEC(ベンチマークの標準化促進を目指す非営利団体)
が開発した標準的なAPサーバーのベンチマーク取得ツール。有償です。
ちなみに、つい最近SPECjEnterprise2010という新しいのが出てました。

◆ SPEC(ベンチマークの標準化促進を目指す非営利団体)
様々なツールを有償にて、用意しています。
SPECは、それなりに過去の検証データも保持しています。
例えば、今年行われたFujitsuサーバ上のIIS7.0検証の結果は以下のURLになります。
http://www.spec.org/web2009/results/res2009q4/web2009-20091007-00008.html
そして、もし各ハードウェア製品のベンチマークが欲しいなら、
http://www.spec.org/power_ssj2008/results/power_ssj2008.html
を閲覧して下さい。
一覧があり、当社で使用しているDELL製品も多数掲載されています。

◆ JUnit
テスト駆動開発ツール

◆ JProt
トランザクション追跡機能JProT(JBoss Profiler with MethodFlow Tracer)
※JBossProfilerに入っています。

アプリケーションのリソースはこれらをうまく組み合わせることにより、最適化するこが可能です!


1月
5

windows Azure 体験記 その1


Posted in クラウド by a2c - 12月 17, 2009

前回の予告通り、Azureで遊ぼうと思います。

まずは、ローカルPCにVisual Studio 2008のインストール。

何故かSQL Serverのインストールでコケルが気にせず、続行。

なんとかインストール完了。

 

次に塩漬け状態だったwindows live IDを復活させる。

といっても、もうすでにアカウントは削除されているっぽかったので、別のアカウントを作成。

で、今度はSQL Azureへ登録と。

この登録後に送られてくるToken(パスワード)がないとAzure Platformにログインできないんですよね。

 

で、待つ。

 

しばらく待つ。

 

まだ、待つ。

 

お、送られてこね!??

 

英文サイトを英語ができないなりに見てみると、、、、

Token発行は数日かかるとのこと。

 

なんだ、そういうことか。

 

次回はTokenが来てからだな。

 

ちなみにローカルPCで.NETの開発をすると色々不便なので、情シスへ頼み込んで開発サーバを用意してもらっています♪


12月
17

AjaXplorer使ってみました


Posted in サービス by hirayama - 12月 12, 2009

AjaXplorerを使うとFTPのようなことが簡単にできるそうで、使ってみました。

ApacheとPHPが導入されていれば、ソースをダウンロードして解凍するだけで使えちゃいました。

こんなに簡単に実現できちゃうと、FTPが不要になるのではないかと思ったり。

あとは、使えるボタンを有効/無効といったことができると、お客様への提供もいろんなパターンで使えて便利になるかなと。


12月
12

Windows Azure


Posted in クラウド by a2c - 12月 8, 2009

そろそろ正式リリースが近づいてきました。

Windows Azure

とうとう.netもsaasになり変わろうとしているんですね~。

久々にVB.netでアプリでも作ろうかと思っていたところなので、この機会にWindows Azureを使ってみようと思います。

 

このblogを通して発信していきますので、こうご期待!


12月
8