2012年 05月 28日
GroupWise 6.5 -> GroupWise2012 への update - 1
※このエントリは執筆中です。後に修正が入る可能性があります。
-前提環境-
OES2 NetWare 6.5 に GroupWise 6.5 がインストールされている条件でまずは「移動元」を作ってみました。
GroupWise 6.5 です
GWIAも動いています。
POAのバージョンは 6.5 です。
GroupWise WebAccess も動作しています
OES2NetWare で SLES11 上でXEN仮想しています。
さすが 4コアマシン+16M メモリと言っても 7200rpm の SATA ディスクひとつで 7 つの仮想マシンを動かしていますから sar で見ると iowait が凄いことになります。
-ポストオフィスとドメインを新サーバにコピー-
新 GroupWise は SLES11sp2 を用意しましたが、Do not upgrade SLES11sp2 with Novell GroupWise 2012 sles11sp2 では動かないことをおもいだしたので sles 11sp1 にダウングレードします。
sles をインストールするときには LAMP(Apache)とファイルサービス(samba)を導入します。 samba は管理するときだけ使えばよいので、 手動起動 (Manually) で動かします。
他にも rsync.nlm を使った異機種間コピーも考えましたがのらりくらりとここでは Microsoft の Robocopy でコピーしました。xcopy でもかまいません。Windows 7 では標準ですが、WXP/2003 には標準装備されていないので Windows の ToolKit から取り出して使います。
旧 o:gpw 新 n:gpw とします。
新 n:gpw は samba アクセスできるように設定しておきます。
この二つのディレクトリをマップします。
gw2012~# mkdir gpw
gw2012~# chmod 777 /gpw/ -R
gw2012~# chown gpwoerater:users /gpw -R
これで robbocopy を行います。
c:\> robocopy o:gpw n:gpw /e でファイルコピーします。最初のコピーなので、あまり負荷のかからない時間がよいでしょう。といってもランダムアクセスなので offiles にある古いファイルが中心となります。
二度目以降は
c:\> robocopy o:gpw n:gpw /e /s /mir を実行します。 wpcsout/in などにあるキューイングされたファイルは取り除かれます。
この二度目以降のコピーは、サーバーの移行期間中に定期的に実行するとよいでしょう。
この段階でいくつか「ロック中でコピーできないファイルがありますが、ユーザが開いているファイルですのであまり気にしなくても結構です。
-アップグレードのl順序-
アップグレードは、プライマリドメイン>セカンダリドメイン>ポストオフィス>クライアントの順で行います。 GroupWise 6.5 の日本語版(作ったのは Inc)があまりにもタコで、ノベル株式会社の Novell.Inc への影響力のなさ(この)頃の K.K. さんにはお世話になりました)から、随分GW65 の日本語クライアントで苦労した方もいらっしゃると思います。(あるお客さんではエンジンは 6.5 クライアントは 5.5 )という方もいらっしゃいました。
-旧サーバの停止-
NW65 上の各エージェントはF7キーで停止します。
停止したら最後の Robocopy もしくは Rsync で最後の状態を新サーバーにコピーします。
-移行先 Linux サーバで-
openmotif-libs,xxx.rpm を suse.com から入手し、インストールします。
gpw2012:~ # pwd
/root
gpw2012:~ #
gpw2012:~ # rpm -ivh openmotif22-libs-2.2.4-84.i586.rpm
Preparing... ########################################### [100%]
1:openmotif22-libs ########################################### [100%]
gpw2012:~ #
gw12.0.0_full_linux_multi.tar.gz をFileRoller などで解凍します。
ConsoleOne をインストールします。
gpw2012:~/gw12.0.0-98586_full_linux_multi/consoleone/Linux # ./c1-install
Welcome to the installation of ConsoleOne 1.3.6h
The following is a list of languages that are available to install.
1 English
2 Chinese
3 Chinese Traditional
4 French
5 German
6 Italian
7 Japanese
8 Portuguese
9 Russian
10 Spanish
11 All
Select the languages you wish to install [?,q]: 11
The following are all the available snapins you can choose to install
0 NONE
1 ICE Snapin
2 Index Manager Snapin
3 LDAP Snapin
4 SLP Snapin
5 WAN Manager Snapin
6 PKI Snapin
7 Filtered Replica Snapin
8 All
Select the snapin(s) you wish to install [?,q]: 8
- インストールが始まります 略 -
%% Adding package NOVLc1Linuxjre ...
Preparing... ########################################### [100%]
1:NOVLc1Linuxjre ########################################### [100%]
- 略 -
%% ConsoleOne Successfully Installed.
%% Execute /usr/ConsoleOne/bin/ConsoleOne to run ConsoleOne
%% Snapins Successfully Installed.
gpw2012:~/gw12.0.0-98586_full_linux_multi/consoleone/Linux #
ここからGUI操作が必要なので X 端末を使って操作します。
解凍先のインストーラ install をrun します。
English -> OK
Install Products
GroupWise Administration
Install Administration
Configure Administration
SDD の指定
プロダクトは全部選択
コピーがはじまります
SDDが作成されました
Finish > メインメニューにもどり Create update ....
コピーしたSDDを指定
Select All
パッケージのインストール
ここはいらなかったかな.....
ここで Create or Update , update に自動的にチェックが入っています。
コピー済みのドメインのパスを指定 > update
一瞬でアップデートが終了
gpw2012:/gpw/dom # ls -al
total 332
drwxrwxrwx 9 knakaj users 4096 May 28 17:48 .
drwxr-xr-x 5 knakaj users 4096 May 28 17:27 ..
-rwxr--r-- 1 knakaj users 17743 Aug 13 2002 GWDOM.DC
-rwxr--r-- 1 knakaj users 17111 Aug 13 2002 GWPO.DC
drwxr-xr-x 6 knakaj users 4096 May 28 16:30 MSLOCAL
-rwxr--r-- 1 knakaj users 6 May 26 16:33 MTANAME
-rwxr--r-- 1 knakaj users 12 May 28 14:32 MTANUM
-rwxr--r-- 1 knakaj users 165 May 24 15:10 agentinstall.txt
-rw-r--r-- 1 root root 20244 Jan 17 20:43 gwdom.dc
-rw-r--r-- 1 root root 19883 Jan 17 20:43 gwpo.dc
drwxr-xr-x 2 knakaj users 4096 May 28 16:32 wpcs
drwxr-xr-x 10 knakaj users 4096 May 28 16:32 wpcsin
drwxr-xr-x 5 knakaj users 4096 May 28 16:32 wpcsout
-rwxr--r-- 1 knakaj users 180224 May 26 16:34 wpdomain.db
-rw-r--r-- 1 knakaj users 11561 Jan 17 20:43 wpdomain.dc
drwxr-xr-x 6 knakaj users 4096 May 28 16:33 wpgate
-rw-r--r-- 1 knakaj users 10942 Jan 17 20:43 wphost.dc
drwxr-xr-x 2 knakaj users 4096 May 28 16:33 wpoffice
drwxr-xr-x 2 knakaj users 4096 May 28 16:33 wptools
gpw2012:/gpw/dom #
xxxxxx.DC ファイルがアップされています。6.5 では 2002年8月版でした。
もう一度 Install Products > GroupWise Agent
Install Agents
これもいらなかったかな
Configure Agent
前と同じドメイン名と、コピーしたドメインディレクトリを指定します。
ここではドメインだけ指定します。
ドキュメントビューワを有効にするか>Yes
エージェントをきどうするか?
GroupWise をスタートします
gpw2012:~ # /etc/init.d/grpwise start
Starting [@gwdva.dva] done
Starting [@mydom.mta] done
gpw2012:~ #
MTA とドキュメントビューワだけ起動します。
Linux のデスクトップの ConsoleOne を開き、C1 にログインします。 ドメインDBを指定します。
ドメインのプロパティをチェックします。
ドメインDBのバージョンが12になりました。ドメインDBの変換は、短くて数分、ドメイン数が数百あると、数時間かかる場合があるので一番緊張する時間です。特に 5.2 -> 5.5 では異常に時間がかかったことを覚えています。
Continue to next
GroupWise 6.5 -> GroupWise2012 への update - 2
※ここからは失敗談です。...Operation which went wrong .......
プライマリドメインの更新はこの方法で問題なく行えましたが、ポストオフィスの更新には失敗してしまい舞いました。その反省点を踏まえつつ、次に続きます。
..... to be continue ......まだ続く
GroupWise 6.5 -> GroupWise2012 への update - 2
Update from Novell GroupWise 6.5 on NetWare Groupwise 2012 on Linux
islandcenter.jp
Translate this entry English by Excite
このテスト環境は SUSE Linux Enterprise Server 11 sp1 (SLES11) + XEN 環境で構築しています。
-前提-
Windows サーバマネージャの「役割」にリモートデスクトップを設定しておきます。「初期構成タスク」 > 「役割」で設定します。設定した後は、再起動が必要です。
-リモートユーザの設定-
Windows のパスワードポリシーと eDirectory のパスワードポリシーが異なると非常に面倒なことになるので、Windows 側のパスワードポリシーを Disable にします。
> gpedit > コンピューターの設定 > セキュリティの設定 > アカウントの設定 > パスワードのポリシー
から、パスワードを無期限(0日)、「複雑さ」をdisableにします。
これでWindows 側のユーザパスワードを「No Password」に設定できます。
「ユーザは次回のパスワードの変更が必要」をチェック
ユーザのパスワードはクリアしておきます。「パスワード」から Enter を二度打ちして empty password にします。
ユーザがリモートデスクトップを使えるよう、 Remote Desktop User グループに追加します。
-Novell Client のプロパティ-
Windows パスワード同期を ON
「パスワード同期オプションデフォルト ON, これで eDirectory のパスワードと Windows のパスワードが一致しない場合、強制的に同期されます。
「パスワード同期オプションの表示」 ON, これは OFF でもかまいませんが「Windows と eDirectory のパスワードを同期する」チェックボックスを表示するかしないかの機能です。
他にもいくつか Novell Client に関しては設定項目があります。
常時 Novell Login を行う
また VMDP(というか Windows ) はチューニングが必要です。
Windows 2008 R2 の Remote Desktop が異常に遅い
-RUN MSTSC-
先ほど empty password にしたユーザで MSTSC(リモートデスクトップ) から No Password で接続すると「不明なエラー」が出ますが全く無視してOK
続いて Novell Login 画面が出ます。
既に設定済みの eDirectory のパスワードをセットしてログオンすると
無事ログオンできました。
Windows 7 から 3D デスクトップも使えました。
次回からリモートデスクトップを使うときは eDirectory と同期したパスワードでログオンできます。
-ログオンと同時にNovell Login Scriptを走らせる-
このままでは認証されたのにセッションがない....
もちろんタスクトレィのNアイコンからログインすれば全く問題ありません。
こちらにいい情報がありました
RDP session to W2K8 server dies when started from Windows 7 device with 11.1 agent
サーバーマネージャー > RD Session Host の構成 > RDP-Tcp 右ボタン > Properties > 全般(General) から Default の negotiation を RDP Security Layer に変更して「適用」( Apply )します
RDPの接続と同時に eDirectory への接続が行われます。
「Windows セキュリティ」のダイアログは出なくなります。
-Windows 7 の場合-
> gpedit でローカルコンピュータのグループポリシーを編集します。
> gpedit > コンピュータの設定 (Computer Configuration) > 管理用テンプレート (Administration Template) > リモートデスクトップサービス (Remote Desktop Service) > リモートデスクトップセッション ( Remote Desktop Session) > セキュリティ (Security) > セキュリティレイヤーを必要とする (Security Layer ?) > 「有効(Enable)」 / Security Layer(Dorop down set RDP)
Novell Login から接続できます。
Windows 7 の設定方法は動画にしてみました。
iPod Touch のiRdesktopでも使えます。iPad が欲しくなります。
-Login script を RUN させる-
Novell Client 2 SP2 for Windows Server 2008 R2 (IR2a) で解消しました。
Login Script も走りました。
無事 map できました。
※ Windows 7 用では動かなかったということです。 Windows 2008 R2 用 Novell Client が必要でした。
参考文書
Using Dynamic Local User Policy in Windows Server 2008 R2 Remote Desktop Session Host
-Keyword-
Remote Desktop Windows 2008 R2 Password Synchronization with Novell eDirectory Windows Client SP2 OES OpenEnterprise Server Login script how to
islandcenter.jp
2012年 04月 27日
LMbench で転送速度を把握する。
を参考にLMbenchを使って通信速度のベンチマークを確認してみました。
上の記事では nepim の SUSE 版があるようなのですが、パッケージの依存関係でうまくインストールできなかったので、LMbench3 を使ってみました。
1) 上のサイトからダウンロードしたソースを解凍します。
sles11:~/lmbench # ls
lmbench3.tar.gz
sles11:~/lmbench # tar xvf lmbench3.tar.gz
|
| 略
|
MakeFile があります。
sles11:~/lmbench # cd lmbench3/
sles11:~/lmbench/lmbench3 # ls
ACKNOWLEDGEMENTS COPYING Makefile hbench-REBUTTAL scripts
CHANGES COPYING-2 README doc results src
2) make します。
sles11:~/lmbench/lmbench3 # make
|
| 略
|
3) Binary (bin)が出来上がります。
sles11:~/lmbench/lmbench3 # ls
ACKNOWLEDGEMENTS COPYING Makefile bin hbench-REBUTTAL scripts
CHANGES COPYING-2 README doc results src
4) bin/x86_64-linux-gnu にバイナリが作られます。
sles11:~/lmbench/lmbench3 # ls bin
x86_64-linux-gnu
sles11:~/lmbench/lmbench3 # ls bin/x86_64-linux-gnu/
bw_file_rd lat_connect lat_proc lib_mem.o loop_o
bw_mem lat_ctx lat_rpc lib_sched.o memsize
bw_mmap_rd lat_fcntl lat_select lib_stats.o mhz
bw_pipe lat_fifo lat_sem lib_tcp.o msleep
bw_tcp lat_fs lat_sig lib_timing.o par_mem
bw_unix lat_http lat_syscall lib_udp.o par_ops
disk lat_mem_rd lat_tcp lib_unix.o stream
enough lat_mmap lat_udp line timing_o
flushdisk lat_ops lat_unix lmbench.a tlb
getopt.o lat_pagefault lat_unix_connect lmdd
hello lat_pipe lib_debug.o lmhttp
ここにさまざまな測定ツールが出来上がります。
LMbench のマニュアルによると、この中で lat_xxx 系のプログラムはレイテンシを計るためにあるようです。 bw_tcp が単純に TCP のソケット通信の性能を測るようです。
5) bw_tcp -s (サーバモード)で起動します。
sles11:~/lmbench/lmbench3 # bin/x86_64-linux-gnu/bw_tcp -s
6) 自分自身を計ってみます。
sles11:~/lmbench/lmbench3 # bin/x86_64-linux-gnu/bw_tcp localhost
0.065536 1864.99 MB/sec
1.8GB/s ですね。
7) bw_tcp -s (サーバモード)で起動している他のサーバに対してテストしてみました。
sles11:~/lmbench/lmbench3 # bin/x86_64-linux-gnu/bw_tcp 192.168.1.xxx
0.065536 62.25 MB/sec
ケーブルが原因なのでしょうか。 62MB/s です。
数値は bps(bit per second)ではなく、大文字 MB/S なので Byte Per Sec という解釈でいいんですよね。 そうなると 62MB * 8bit = 496 bps ということになります。 1G bps HUB のほぼ半分の帯域を使っていることになります。
8) 常駐していない相手(ルータなど)には拒否されます。
sles11:~/lmbench/lmbench3 # bin/x86_64-linux-gnu/bw_tcp 192.168.1.1yyy
socket connection: Connection refused
9) 内部で動く XEN 仮想マシン(VM)に対して実行してみます。
sles11:~/lmbench/lmbench3 # bin/x86_64-linux-gnu/bw_tcp 192.168.1.zzz
0.065536 1103.10 MB/sec
ほぼ1.1GB/s 出ています。 8.8G bps ということです。
LMbench は相手が必要です。例えばサーバと HUB間のベンチマークを計りたいというニーズには合いません。ソースから簡単にコンパイルして使えるので、Linux <---> Linux/Unix 間の通信速度を確認するにはお手軽です。
初期値を計測しておき、「遅い」というクレームが来たときに、ボトルネックが発生しているのか初期値と数値を比べてみれば、ネットワークが劣化しているのかどうなのかの判断材料になります。
islandcenter.jp
2012年 04月 25日
SUSE Linux を管理する前に変えておきたい PUTTY のデフォルト設定
ただし、設定内容はレジストリに書き込まれますので、ご注意ください。位置は
HKEY_CURRENT_USER\Software\SimonTatham\PuTTY
です。
私の好みは次の設定です。
Window > scrollback >200(default) から 2000 くらいに
Copy all to clipboad が使いやすくなります。
コマンドの入出力結果を文書にするときは便利です。
apearance > font settings > change > フォントサイズを大きくします。
デフォルトではフォントが小さすぎるひとにはお勧めします。フォントによっては、 yast の罫線が qqqq などに文字化けするので、フォントサイズだけ変えるのが良いでしょう。
Window > transration > EUC(Default) から UTF-8 に
SUSE Linux ではデフォルトが UTF-8 です。これをやっておかないと日本語ファイルは文字化けします。
2012年 04月 25日
SUSE Linux で fio を使って iSCSI のパフォーマンスを測定してみた。
-SUSE Linux へのインストール-
http://software.opensuse.org から fio を serach すると、各バージョンに適合した fio のリストが出てきました。
リモートX端末からブラウザを起動して 1 click install をクリックすると、ダウンロードするかインストーラを起動するか確認のダイアログが出ますので YaST インストーラを起動します。レポジトリの更新から始まり、インストールされます。レポジトリのダウンロードのため、途中で証明書を import します。インストールは全てGUIで行えます。
-iSCSI とローカルディスクで比べてみた-
smartctl で見ると /tmp は Hitachi HDS722020ALA330 どうやら 2Tb 7200rpm ものです。
/iscsi sumsung 製 HD103U1 5200rpm 1Tb SATA 3G の古いHDDをこれまた懐かしい QNAP TS-110 を iSCSI でマウントしました。
コマンド打ちが面倒なのでスクリプトを使ってみます。
fio はコマンドパラメータを使うか、パラメータリストファイルを使ってジョブを作ります。
ここでは seq-write の結果を求めてみます。
sles11:~ # cat fiotest.sh
#! /bin/sh
echo -------- iscsi ----
fio --directory=/iscsi --direct=1 --rw=write --bs=4k --size=1G --numjobs=3 --runtime=100 --name=seq-write
rm /iscsi/seq-write.* <------ テンポラリファイルは自分で消す必要があります。
sleep 20 <---- 次のテストで「削除の余韻」の影響避けるためわずかな間 sleep させます。
echo -------- local ----
fio --directory=/tmp --direct=1 --rw=write --bs=4k --size=1G --numjobs=3 --runtime=100 --name=seq-write
rm /tmp/iseq-write.*
echo -------- end ----
sles11:~ #
sles11:~ #
実行結果
sles11:~ # ./fiotest.sh
-------- iscsi ----
seq-write: (g=0): rw=write, bs=4K-4K/4K-4K, ioengine=sync, iodepth=1
...
seq-write: (g=0): rw=write, bs=4K-4K/4K-4K, ioengine=sync, iodepth=1
fio 2.0.7
Starting 3 processes
seq-write: Laying out IO file(s) (1 file(s) / 1024MB)
seq-write: Laying out IO file(s) (1 file(s) / 1024MB)
seq-write: Laying out IO file(s) (1 file(s) / 1024MB)
seq-write: Laying out IO file(s) (1 file(s) / 1024MB)
seq-write: Laying out IO file(s) (1 file(s) / 1024MB)
Jobs: 3 (f=3): [WWW] [100.0% done] [0K/4589K /s] [0 /1120 iops] [eta 00m:00s]
seq-write: (groupid=0, jobs=1): err= 0: pid=30120
write: io=112228KB, bw=1122.3KB/s, iops=280 , runt=100002msec
clat (usec): min=485 , max=4059.9K, avg=3551.68, stdev=35576.86
lat (usec): min=486 , max=4059.9K, avg=3554.75, stdev=35576.90
clat percentiles (usec):
| 1.00th=[ 502], 5.00th=[ 540], 10.00th=[ 756], 20.00th=[ 804],
| 30.00th=[ 828], 40.00th=[ 852], 50.00th=[ 876], 60.00th=[ 900],
| 70.00th=[ 924], 80.00th=[ 964], 90.00th=[ 1048], 95.00th=[ 1240],
| 99.00th=[103936], 99.50th=[201728], 99.90th=[464896], 99.95th=[518144],
| 99.99th=[634880]
bw (KB/s) : min= 0, max= 2434, per=38.35%, avg=1186.94, stdev=465.50
lat (usec) : 500=0.70%, 750=9.00%, 1000=76.46%
lat (msec) : 2=11.02%, 4=0.71%, 10=0.75%, 20=0.18%, 50=0.11%
lat (msec) : 100=0.06%, 250=0.85%, 500=0.09%, 750=0.08%, >=2000=0.01%
cpu : usr=0.31%, sys=1.52%, ctx=28183, majf=0, minf=24
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=0/w=28057/d=0, short=r=0/w=0/d=0
seq-write: (groupid=0, jobs=1): err= 0: pid=30121
write: io=103572KB, bw=1035.8KB/s, iops=258 , runt=100001msec
clat (usec): min=565 , max=3898.5K, avg=3849.17, stdev=37243.20
lat (usec): min=569 , max=3898.5K, avg=3852.31, stdev=37243.40
clat percentiles (usec):
| 1.00th=[ 748], 5.00th=[ 772], 10.00th=[ 788], 20.00th=[ 820],
| 30.00th=[ 836], 40.00th=[ 860], 50.00th=[ 884], 60.00th=[ 908],
| 70.00th=[ 932], 80.00th=[ 964], 90.00th=[ 1048], 95.00th=[ 1272],
| 99.00th=[156672], 99.50th=[201728], 99.90th=[477184], 99.95th=[522240],
| 99.99th=[667648]
bw (KB/s) : min= 2, max= 2320, per=35.39%, avg=1095.22, stdev=398.96
lat (usec) : 750=1.54%, 1000=83.71%
lat (msec) : 2=11.67%, 4=0.43%, 10=1.21%, 20=0.27%, 50=0.08%
lat (msec) : 100=0.02%, 250=0.81%, 500=0.15%, 750=0.09%, >=2000=0.01%
cpu : usr=0.30%, sys=1.43%, ctx=25996, majf=0, minf=22
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=0/w=25893/d=0, short=r=0/w=0/d=0
seq-write: (groupid=0, jobs=1): err= 0: pid=30122
write: io=93788KB, bw=960360 B/s, iops=234 , runt=100003msec
clat (usec): min=509 , max=4034.5K, avg=4250.95, stdev=39938.84
lat (usec): min=510 , max=4034.5K, avg=4254.40, stdev=39940.64
clat percentiles (usec):
| 1.00th=[ 756], 5.00th=[ 780], 10.00th=[ 804], 20.00th=[ 836],
| 30.00th=[ 860], 40.00th=[ 884], 50.00th=[ 916], 60.00th=[ 940],
| 70.00th=[ 972], 80.00th=[ 1012], 90.00th=[ 1096], 95.00th=[ 1368],
| 99.00th=[199680], 99.50th=[203776], 99.90th=[493568], 99.95th=[522240],
| 99.99th=[634880]
bw (KB/s) : min= 4, max= 2184, per=31.98%, avg=989.78, stdev=408.18
lat (usec) : 750=0.87%, 1000=76.62%
lat (msec) : 2=19.04%, 4=0.37%, 10=1.46%, 20=0.30%, 50=0.11%
lat (msec) : 100=0.04%, 250=0.91%, 500=0.17%, 750=0.09%, 1000=0.01%
lat (msec) : >=2000=0.01%
cpu : usr=0.30%, sys=1.92%, ctx=31587, majf=0, minf=22
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=0/w=23447/d=0, short=r=0/w=0/d=0
Run status group 0 (all jobs):
WRITE: io=309588KB, aggrb=3095KB/s, minb=937KB/s, maxb=1122KB/s, mint=100001msec, maxt=100003msec
Disk stats (read/write):
sde: ios=13/77800, merge=0/44990, ticks=1008/3260968, in_queue=2594160, util=100.00%
Jobs: 3 (f=3): [WWW] [100.0% done] [0K/3653K /s] [0 /891 iops] [eta 00m:00s]
seq-write: (groupid=0, jobs=1): err= 0: pid=30214
write: io=119372KB, bw=1193.8KB/s, iops=298 , runt=100001msec
clat (usec): min=480 , max=837463 , avg=3337.99, stdev=26091.77
lat (usec): min=481 , max=837465 , avg=3341.11, stdev=26091.88
clat percentiles (usec):
| 1.00th=[ 524], 5.00th=[ 596], 10.00th=[ 660], 20.00th=[ 788],
| 30.00th=[ 820], 40.00th=[ 844], 50.00th=[ 868], 60.00th=[ 892],
| 70.00th=[ 924], 80.00th=[ 956], 90.00th=[ 1032], 95.00th=[ 1192],
| 99.00th=[47872], 99.50th=[201728], 99.90th=[497664], 99.95th=[518144],
| 99.99th=[602112]
bw (KB/s) : min= 4, max= 2496, per=35.18%, avg=1230.01, stdev=437.89
lat (usec) : 500=0.28%, 750=13.20%, 1000=73.42%
lat (msec) : 2=10.38%, 4=0.67%, 10=0.80%, 20=0.16%, 50=0.08%
lat (msec) : 100=0.03%, 250=0.81%, 500=0.07%, 750=0.09%, 1000=0.01%
cpu : usr=0.40%, sys=1.61%, ctx=29994, majf=0, minf=23
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=0/w=29843/d=0, short=r=0/w=0/d=0
seq-write: (groupid=0, jobs=1): err= 0: pid=30215
write: io=116876KB, bw=1168.8KB/s,iops=292 , runt=100003msec
clat (usec): min=476 , max=951756 , avg=3409.88, stdev=26699.56
lat (usec): min=478 , max=951758 , avg=3412.95, stdev=26699.64
clat percentiles (usec):
| 1.00th=[ 540], 5.00th=[ 684], 10.00th=[ 764], 20.00th=[ 796],
| 30.00th=[ 828], 40.00th=[ 844], 50.00th=[ 868], 60.00th=[ 892],
| 70.00th=[ 916], 80.00th=[ 956], 90.00th=[ 1032], 95.00th=[ 1208],
| 99.00th=[61696], 99.50th=[201728], 99.90th=[497664], 99.95th=[522240],
| 99.99th=[569344]
bw (KB/s) : min= 4, max= 2504, per=34.45%, avg=1204.29, stdev=410.11
lat (usec) : 500=0.22%, 750=7.28%, 1000=79.96%
lat (msec) : 2=9.88%, 4=0.52%, 10=0.91%, 20=0.16%, 50=0.08%
lat (msec) : 100=0.01%, 250=0.81%, 500=0.08%, 750=0.10%, 1000=0.01%
cpu : usr=0.37%, sys=1.55%, ctx=29338, majf=0, minf=22
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=0/w=29219/d=0, short=r=0/w=0/d=0
seq-write: (groupid=0, jobs=1): err= 0: pid=30216
write: io=113416KB, bw=1134.2KB/s, iops=283 , runt=100005msec
clat (usec): min=482 , max=1097.7K, avg=3513.74, stdev=27293.60
lat (usec): min=483 , max=1097.7K, avg=3516.88, stdev=27293.64
clat percentiles (usec):
| 1.00th=[ 548], 5.00th=[ 716], 10.00th=[ 772], 20.00th=[ 812],
| 30.00th=[ 844], 40.00th=[ 868], 50.00th=[ 892], 60.00th=[ 916],
| 70.00th=[ 940], 80.00th=[ 980], 90.00th=[ 1064], 95.00th=[ 1224],
| 99.00th=[116224], 99.50th=[201728], 99.90th=[497664], 99.95th=[518144],
| 99.99th=[602112]
bw (KB/s) : min= 3, max= 2480, per=33.41%, avg=1168.02, stdev=363.35
lat (usec) : 500=0.15%, 750=5.86%, 1000=77.70%
lat (msec) : 2=13.55%, 4=0.28%, 10=1.19%, 20=0.14%, 50=0.09%
lat (msec) : 100=0.03%, 250=0.84%, 500=0.08%, 750=0.09%, 2000=0.01%
cpu : usr=0.37%, sys=1.73%, ctx=28515, majf=0, minf=22
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=0/w=28354/d=0, short=r=0/w=0/d=0
Run status group 0 (all jobs):
WRITE: io=349664KB, aggrb=3496KB/s, minb=1134KB/s, maxb=1193KB/s, mint=100001msec, maxt=100005msec
Disk stats (read/write):
sde: ios=1/87531, merge=0/14355, ticks=0/3385260, in_queue=2789384, util=100.00%
-------- local ----
seq-write: (g=0): rw=write, bs=4K-4K/4K-4K, ioengine=sync, iodepth=1
...
seq-write: (g=0): rw=write, bs=4K-4K/4K-4K, ioengine=sync, iodepth=1
fio 2.0.7
Starting 3 processes
seq-write: Laying out IO file(s) (1 file(s) / 1024MB)
seq-write: Laying out IO file(s) (1 file(s) / 1024MB)
Jobs: 3 (f=3): [WWW] [100.0% done] [0K/14566K /s] [0 /3556 iops] [eta 00m:00s]
seq-write: (groupid=0, jobs=1): err= 0: pid=30222
write: io=438048KB, bw=4380.5KB/s, iops=1095 , runt=100001msec
clat (usec): min=159 , max=679274 , avg=904.70, stdev=12497.03
lat (usec): min=160 , max=679276 , avg=906.94, stdev=12497.04
clat percentiles (usec):
| 1.00th=[ 209], 5.00th=[ 221], 10.00th=[ 225], 20.00th=[ 229],
| 30.00th=[ 231], 40.00th=[ 235], 50.00th=[ 239], 60.00th=[ 243],
| 70.00th=[ 249], 80.00th=[ 262], 90.00th=[ 298], 95.00th=[ 402],
| 99.00th=[ 812], 99.50th=[ 3376], 99.90th=[224256], 99.95th=[301056],
| 99.99th=[337920]
bw (KB/s) : min= 111, max= 8744, per=34.68%, avg=4475.22, stdev=1731.04
lat (usec) : 250=70.03%, 500=26.71%, 750=2.13%, 1000=0.30%
lat (msec) : 2=0.19%, 4=0.16%, 10=0.12%, 20=0.07%, 50=0.01%
lat (msec) : 100=0.01%, 250=0.18%, 500=0.08%, 750=0.01%
cpu : usr=0.58%, sys=3.42%, ctx=109670, majf=0, minf=23
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=0/w=109512/d=0, short=r=0/w=0/d=0
seq-write: (groupid=0, jobs=1): err= 0: pid=30223
write: io=434468KB, bw=4344.7KB/s, iops=1086 , runt=100001msec
clat (usec): min=179 , max=691006 , avg=911.99, stdev=12768.08
lat (usec): min=180 , max=691007 , avg=914.21, stdev=12768.08
clat percentiles (usec):
| 1.00th=[ 207], 5.00th=[ 221], 10.00th=[ 225], 20.00th=[ 231],
| 30.00th=[ 233], 40.00th=[ 237], 50.00th=[ 239], 60.00th=[ 245],
| 70.00th=[ 251], 80.00th=[ 262], 90.00th=[ 302], 95.00th=[ 402],
| 99.00th=[ 756], 99.50th=[ 2128], 99.90th=[238592], 99.95th=[301056],
| 99.99th=[342016]
bw (KB/s) : min= 5, max= 8600, per=34.71%, avg=4479.71, stdev=1762.32
lat (usec) : 250=69.17%, 500=27.74%, 750=2.05%, 1000=0.29%
lat (msec) : 2=0.20%, 4=0.11%, 10=0.10%, 20=0.05%, 50=0.01%
lat (msec) : 100=0.01%, 250=0.17%, 500=0.09%, 750=0.01%
cpu : usr=0.68%, sys=3.71%, ctx=108938, majf=0, minf=22
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=0/w=108617/d=0, short=r=0/w=0/d=0
seq-write: (groupid=0, jobs=1): err= 0: pid=30224
write: io=418116KB, bw=4181.2KB/s, iops=1045 , runt=100001msec
clat (usec): min=174 , max=577159 , avg=948.32, stdev=13147.12
lat (usec): min=175 , max=577160 , avg=950.53, stdev=13147.13
clat percentiles (usec):
| 1.00th=[ 209], 5.00th=[ 221], 10.00th=[ 225], 20.00th=[ 229],
| 30.00th=[ 231], 40.00th=[ 235], 50.00th=[ 237], 60.00th=[ 243],
| 70.00th=[ 249], 80.00th=[ 262], 90.00th=[ 294], 95.00th=[ 402],
| 99.00th=[ 772], 99.50th=[ 3120], 99.90th=[252928], 99.95th=[305152],
| 99.99th=[354304]
bw (KB/s) : min= 105, max= 8640, per=33.47%, avg=4319.83, stdev=1646.15
lat (usec) : 250=71.38%, 500=25.58%, 750=1.98%, 1000=0.28%
lat (msec) : 2=0.20%, 4=0.11%, 10=0.11%, 20=0.06%, 50=0.02%
lat (msec) : 100=0.01%, 250=0.17%, 500=0.10%, 750=0.01%
cpu : usr=0.72%, sys=3.02%, ctx=104679, majf=0, minf=22
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=0/w=104529/d=0, short=r=0/w=0/d=0
Run status group 0 (all jobs):
WRITE: io=1260.4MB, aggrb=12906KB/s, minb=4181KB/s, maxb=4380KB/s, mint=100001msec, maxt=100001msec
Disk stats (read/write):
sda: ios=2583/323195, merge=14/28603, ticks=24160/4690956, in_queue=5321588, util=100.00%
rm: cannot remove `/tmp/iseq-write.*': No such file or directory
-------- end ----
sles11:~ #
なんともいえないのですは、この iSCSI ドライブは大体ローカルディスクの2割から3割程度のパフォーマンスしか出ていないようです。
ははーん、ボトルネックはここなんだ、と思うのは早計かも知れません。fioはあくまでもディスクの性能を測るものなので、システム全体の性能とは直結しているわけではありません。実際エンドユーザが利用したときのレスポンスとかが重要です。エンドユーザサイドで iSCSI で恐ろしいパフォーマンスを出す機器もあれば、円盤そのものの性能や、SAN装置のキャッシュの容量、RAIDコントローラの性能など色々な要素があるのです。
iSCSI は SUSE 仮想環境でファイルサーバとして使い物になるか
仮想環境では、iSCSI は容易に容量を拡張できる手段です。実際に2年前にこのエントリを書いたときからあまり環境が変わっていないことを考えると、ディスクの性能=システムの性能とは一概には言えません。
機器を納品した後、こうして初期性能を計っておくことはひとつの問題解決の準備段階として重要です。この数値を元に、後にクレームがきた場合のシステム全体の性能が低下したかどうかの基準として利用できるかも知れません。
一度、Raid の故障の後、性能が異常に低下したことがありました。原因はディスクのファームウェアにあったのですが、初期性能が正しく測定されており、機器の故障修理の後、同じパフォーマンスが出ているかを確認することも必要です。
ちなみに SAS Raid の fio の参考値 もご覧ください。
※ ちなみに fio は実稼動しているサーバーでは実行しないでください。CPU負荷が大きなWindows 系の仮想マシンが全滅しました。 Linux 系仮想マシンは全部無事だったけど。ユーザの負荷が少ないときに実施してくださいね。
-Keyword-
仮想環境 SUSE Linux SLES XEN iSCSI fio ディスクベンチマーク
islandcenter.jp