2008年5月17日土曜日

別のブログから移行

2008-05-08 17:24 | MEMとHDDでzfs mirror 続き

今日は調子が悪いのでお休み。でも、こんなことしてます。ダメダメです。
さて、昨日はmdをmallocで作成していた。
= zfsはカーネルのメモリ(kva)を大量し使用する。
= md(malloc)も同様に(kva)を大量に使用。
なので、OSが落ちていた様子。
ということは、mdをmallocからswapに変更したら良いのか?
で試してみると、それなりに落ちない感じだけど、コピーを繰り返したら落る。
/boot/loader.conf.localに以下を設定すれば、なんとか持つか。
vm.kmem_size="512M"
vm.kmem_size_max="512M"
1回目
(1) zfs(HDD+HDD)
# time cp -r /usr/ports /diskpool/
0.543u 18.535s 1:01.88 30.8% 20+1108k 24720+0io 103582pf+0w
(2) zfs(swap+HDD)
# time cp -r /usr/ports /memdiskpool/
0.631u 18.596s 0:53.67 35.8% 20+1104k 19918+0io 101320pf+0w
(3) gjournal
# time cp -r /usr/ports /mnt/
0.483u 11.308s 1:13.91 15.9% 20+1104k 29243+2816io 103993pf+0w
(4) ufs2(softupdate)
# time cp -r /usr/ports /usr/hoge
0.418u 12.266s 1:44.38 12.1% 20+1073k 25893+2796io 101317pf+0w
2回目(上書き)
(1) zfs(HDD+HDD)
# time cp -r /usr/ports /diskpool/
0.477u 18.171s 1:25.07 21.9% 21+1118k 25128+0io 101317pf+0w
(2) zfs(swap+HDD)
# time cp -r /usr/ports /memdiskpool/
0.501u 18.316s 1:13.16 25.7% 20+1099k 19317+0io 101317pf+0w
(3) gjournal
# time cp -r /usr/ports /mnt/
0.493u 11.273s 1:42.91 11.4% 20+1066k 52441+857io 101317pf+0w
(4) ufs2(softupdate)
time cp -r /usr/ports /usr/hoge/
0.408u 12.550s 1:47.66 12.0% 21+1122k 25893+2800io 101317pf+0w
おお。希望通り、zfs mirrorで、md(swap)を使うとちょっと速い感じですね。


でも、冷静に分析すると。。。。
これ全部ディスク1つで実施しているから、それが影響あるだけのような気がする。
HDD + HDD なら、同じディスク上に、2箇所書き込みが必要だけど、
md(swap) + HDD なら、同じディスクに1箇所書き込みで終り。
なので、残念ながら、その分が速いだけと思われる。。。
ディスク2個でテストしたいけど、持ってないです。はい。
再起動後、mdの無いDEGREDED状態で実施だと以下。
1回目
# time cp -r /usr/ports /memdiskpool/
0.523u 18.812s 0:54.05 35.7% 20+1102k 18314+0io 101317pf+0w
2回目
# time cp -r /usr/ports /memdiskpool/
0.459u 17.598s 1:20.53 22.4% 20+1089k 29174+0io 103997pf+0w
やっぱりそういうことのようです。
あと、一緒にtopも見ていたのだけど、zfs>gjournal>ufs2の順でCPU使用率が高い。
また、gjournal自体もkvmを使用する感じ(未確認)で、最初の確認での、zfs/gjournal/md(malloc)の共存は、かなりkvmが足りなかったと思われる。。。

2008-05-07 04:13 | MEMとHDDでzfs mirror

今日はZFSの評価。
以下についてIOを確認。
(1) ZFS(HDD+HDD ミラー)
(2) ZFS(md + HDD ミラー)
(3) gjournal
(4) UFS2
というのも、md + HDDのミラーでI/Oが速いけど、永続性のあるストレージが作れないかなぁなんて考えてます。
それぞれ以下の結果
(1) ZFS(HDD+HDD) 「/test1ディレクトリ」
# dd if=/dev/zero of=/test1/hoge bs=1m count=400
400+0 records in
400+0 records out
419430400 bytes transferred in 12.030584 secs (34863678 bytes/sec)
(2) ZFS(md + HDD) 「/test2ディレクトリ」
# dd if=/dev/zero of=/test2/hoge bs=1m count=400
400+0 records in
400+0 records out
419430400 bytes transferred in 7.029625 secs (59666112 bytes/sec)
(3) gjournal 「/mntディレクトリ」
# dd if=/dev/zero of=/mnt/hoge bs=1m count=400
400+0 records in
400+0 records out
419430400 bytes transferred in 8.402085 secs (49919799 bytes/sec)
(4) UFS2(+softupdate) 「/usrディレクトリ」
# dd if=/dev/zero of=/usr/hoge bs=1m count=400
400+0 records in
400+0 records out
419430400 bytes transferred in 6.453544 secs (64992260 bytes/sec)
お!! ZFS(HDD+HDD)はZFS(md+HDD)より速い。
でも、一番速いのはUFS2だ。
http://gihyo.jp/admin/feature/02/freebsd-7/0005?page=5
によると、UFS2よりZFSやgjournalの方が速いのだけど。
大きな1ファイルだとそうなるのかな?
なので、/usr/portsをコピーする時間を計測。
# time cp -r /usr/ports /test1/
0.640u 18.707s 1:10.15 27.5% 24+1271k 14330+0io 104210pf+0w
# time cp -r /usr/ports /test2/
あっ、落ちた。
ZFS(md+HDD)を色々試してみても、すぐ落ちる。
色々調べたら、カーネルメモリーの設定を追加した方が安定するみたい。
今日はここまで。

2008-05-06 01:40 |パーティションの切り直し

bsdlabelで実施するらしい。
100Gのスライスを2つを遊び用(ZFSやgjournal)に用意していたので、そちらをgjournal用にパーティションを切り直してみる。
最初/usr/sbin/sysinstallで可能かと思ったけど、思ったようには行かない。
なので、色々調べなかがらbsdlabelで実施。
スライス作成がfdisk、パーティション作成がbsdlabelといった感じですね。
bsdlabel -e /dev/スライス名
とやれば、viが起動して編集モードに入れる。
どうも、パーティション番号(アルファベット)は命名規則があるようす。
= aパーティションがブート用
= bパーティションがswap用
= cパーティションが全体の管理用
しらなんだ。
なんで、遊び用のパーティションは、d以降で適当に付ければ良いのかな?
bsdlabel -e /dev/ad10s3
----- vi 中 ------------------
# /dev/ad10s3:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
c: 204796620 0 unused 0 0 # "raw" part, don't edit
d: 1500M * 4.2BSD 4096 16384 64
e: 1500M * 4.2BSD 4096 16384 64
f: * * 4.2BSD 4096 16384 64
-------------------------------
てな感じで指定。
"*"は自動計算。"fsize","bsize","bps/cpg"はmanからデフォルトの値を入力。
# よくわからんが、"fsize","bsize","bps/cpg"は0でも良い感じ。そっちで動かしてみよう。

08:20 | FreeBSD/M2V-MX/powerd つづき2

なんとか出来たみたい。
結局の所、CPUの周波数の変更が、powernowを使用せずにacpi_throttleを使用していたのが原因のようだ。
# sysctl dev.powernow => エラー
# sysctl dev.acpi_throttle => 表示
という状態で、これが不正。
無理矢理acpi_throttleを無効にする為、/boot/loader.conf.localに以下の項目を追加。
hint.acpi_throttle.0.disabled="1"
これで、powerdも問題無く起動出来ました。ホッ。
。。。でも、1GHzまでしか落ちない。。まあ、良いけどね。
この内容は、ここにありました。
http://monkey.org/freebsd/archive/freebsd-amd64/200705/msg00077.html

2008-05-05 05:44 | FreeBSD/M2V-MX/powerd つづき

FreeBSD-7 stable(amd64)をインストールしてみた。
同様に、OSが落ちる。
デフォルトだと、以下になっていたので、
kern.timecounter.hardware: ACPI-fast
よくわからないが、ACPI-fastをi8254にしてみてもダメ。(i386/adm64共)
ダメなのかなぁ。
BIOSの設定によって上手く行くかもしれないけど、正直どう設定すれば良いのか。。。
ちなみにBIOS設定は、今ほぼDEFAULTの状態

09:41 | FreeBSD/M2V-MX/powerd

ASUSのM2V-MXというマザボにAthlonX2 BE2300を装着し、FreeBSD-7 stable(i386)をインストール。
その状態で、powerdを起動すると落ちる。なぜだ。
powerd -vで起動すると、順調にCPUの周波数を落していくのは見えるのだけど、その後OSが固まる感じ。エラーが出るのも気になるし。
# powerd -v
powerd: using APM for AC line status
idle time > 90%, decreasing clock speed from 1899 MHz to 1780 MHz
powerd: error setting CPU frequency 1780: Invalid argument
idle time > 90%, decreasing clock speed from 1780 MHz to 1661 MHz
powerd: error setting CPU frequency 1661: Invalid argument
idle time > 90%, decreasing clock speed from 1661 MHz to 1542 MHz
powerd: error setting CPU frequency 1542: Invalid argument
idle time > 90%, decreasing clock speed from 1542 MHz to 1424 MHz
powerd: error setting CPU frequency 1424: Invalid
他のエントリーも捜したけど、7からは苦労している様子は無い。BIOSを最新にしてもダメだった。この現象はオレだけなのかなぁ。
ちなみに、FreeBSD-7からcpufreqはGENERICのKernelに埋め込みされているから、特にkldloadは必要無いみたい。

2008-04-19 11:29 | LDAP

LDAPは参照を行なうサーバの可能な限り近い所にコピーして、使うのが吉。
特にPAM等でOS認証等を行なう場合、かなりの数のアクセスが発生するので、通信経路による障害を防ぐ為にも、その方が良い。

0 件のコメント: