2012年6月19日火曜日

rsyncの備忘録

よく使うところを中心に。

 

素敵なオプションたち


よくある使い方


rsync -avz srcDIR/ dstDIR


  • -a


    • 元の属性を維持(できる範囲で)


  • -v


    • 詳細表示


  • -z


    • 転送を圧縮(CPUを割りと食うので注意)



ちょっと便利な使い方



  • --bwlimit


    • 帯域制限。例えば、--bwlimit=10240 とかで10Mbps制限


  • --progress


    • 転送中の情報を表示する。-vと組み合わせて使おう


  • --partial


    • 通常では転送が中断したら、部分的に転送されたファイルを削除する。--partial オプションを使うと、後の転送時にファイルの残り分を転送して高速化するように、部分的なファイルを保存してくれる。


  • -P


    • progress + partial


  • --append


    • 通信が切れた時に途中から再開してくれる。便利。




使用例


[bash]
        rsync -av --progress --partial --append --bwlimit=10240 ${IP_ADDRESS}:/hoge/fuga/ /hoge/fuga >> /tmp/hoge.log 2>&1
[/bash]

その他



  • 時間がかかるときは、--daemon してもいいですが、個人的にはscreenとかnohupとか使うのが癖になってます。


参考にしました


2012年6月13日水曜日

atime備忘録(古い情報)

ふわっとしてたので備忘録です。最近のディストリで検証とかできたらいいなぁ(遠い目)

ファイルに関する時刻






UNIX/Linuxではファイルに関して3つの時刻を記録しています。

  • atime


    • 最終アクセス時刻


  • ctime


    • 最終変更時刻


  • mtime


    • 最終更新時刻(i-node管理)



2008年にネットで話題になってた話







その他参考情報


RAID組むとき考えたこと(1)

The new RAID
autor:boboroshi

LSI MegaRAID SAS 9280-8e というイイRAIDカードを使ったので備忘録がてらのメモです。

ぼくはこれまで、ちゃんとしたRAIDカードを多用する感じで仕事してないので、こちらが参考になりました(やっ太郎ブログ

さて、今回の構成です。

今回の構成







  • 某社の1Uサーバ

  • LSI MegaRAID SAS 9280-8e

  • 某社のSAS接続ディスクエンクロージャ(SATA 2TB X 16で、RAID6)

  • CentOS 5.4

  • いわゆるDAS構成

  • 用途は巨大なファイルサーバです。NFSマウントして使用します。


考えたこと


HDDの話



  • a.(平均)シーク待ち時間

  • b.(平均)回転待ち時間(サーチ時間)

  • c.転送時間


大雑把に言うと、a + b + c = 応答時間(アクセス時間) となります。
a + b = 待ち時間 ですね。
1 / 応答時間 = IOPS

となります。
下記は、基本情報技術者試験みたいな話ですが...

a.(平均)ヘッドのシーク待ち時間


読み書きのためにヘッドが移動(シーク)するのにかかる時間のことです。通常外周と内周では速度が変わるため、平均値が使われます。

b.(平均)回転待ち時間(サーチ時間)


データが磁気ヘッドの下に来るまでの平均時間なので、最小0、最大1、なので1/2してます。
サーチ時間=1/2 * 1回転の時間
1回転の時間(ミリ秒)=60秒*10^3 / 1分間の回転数

c.転送時間


転送時間=データのバイト数 / 転送速度
転送速度=1トラックのバイト数 / 1回転の時間

つまり


当然ですが、回転数が早いほうが応答時間としては短くなります。
例えば一般的な、SATA HDDの場合、5,400rpmより、7,200rpmのほうが早いということになります。

コントローラの設定の話


write policy


今回のRAIDカードのようにバッテリーバックアップ付ライトキャッシュ(BBWC)が搭載されている場合、ライトキャッシュを有効にしたほうがよいケースが多いと思います。

当然、ライトキャッシュがあっても、書き込みデータはそこからあふれるわけですが、コントローラ側の実装により、隣接領域を連続して書き込んでくれるなど、キャッシュなしの場合に比べパフォーマンスが向上することが期待されます。

キャッシュ有効化し、キャッシュに書き込みを完了した時点で完了通知を出すのをライトバック。キャッシュを使用しない(無効化している)書き込みをライトスルーといいます。

今回はライトバックの設定としました。

read policy


書き込み同様、読み取りのポリシーもいくつかあります。

Adaptive
シーケンシャルリードと想定されれば先読みする。いわゆる混合系。

Read ahead
常に先読み

No .read ahead
先読みしない

とありますが、今回はファイルサーバなので、シーケンシャルリード主体と判断してRead aheadとしました。
DBであれば、ランダムアクセス主体なので、No .read aheadか、Adaptiveのほうがよいかもしれません。

ディスクキャッシュ


ディスクにも通常キャッシュが搭載されていますが、バッテリーバックアップが無い為、マシンのクラッシュ時には消えてしまう可能性があります。そのため、エンタープライズ系のHDDはよくデフォルトでディスクキャッシュが無効化されているのですが、されていない場合は明示的に無効化する必要があります。

Cache Policy


これいまいちよくわからなかったのですが、マニュアルを見る限り、読み取り処理を行ったあと、データをリードキャッシュに格納するかの設定っぽいです。

LSIならでは?なのかな??

Direct
キャッシュされない。ただし、Read aheadで読み込んだブロックはリードキャッシュに残る(っぽい)
Cached
すべての読み取りがキャッシュされる。

とりあえず、chachedにしてみました。が、いろいろ海外のブログとか漁った感じだと、Direct I/Oでいいのかもしれません。このへん参照。

実際の設定


[bash]
#バッテリキャッシュの強制(常時ライトバック)
/opt/MegaRAID/MegaCli/MegaCli64 -LDSetProp -CachedBadBBU -Immediate -LALL -aAll

#ライトバック設定
/opt/MegaRAID/MegaCli/MegaCli64 -LDSetProp -WB -Immediate -LALL -aAll

#read ahead設定
/opt/MegaRAID/MegaCli/MegaCli64 -LDSetProp -RA -Immediate -LALL -aAll

#ディスクキャッシュの無効化
/opt/MegaRAID/MegaCli/MegaCli64 -LDSetProp -DisDskCache -Immediate -LALL -aAll

#I/O Poclicyを設定(cached にしたけど、directのほうがよさげ)
/opt/MegaRAID/MegaCli/MegaCli64 -LDSetProp -Cached -Immediate -LALL -aAll
[/bash]

結果こんな感じ
[bash]
/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -LALL -aAll

Adapter 0 -- Virtual Drive Information:
Virtual Drive: 0 (Target Id: 0)
Name :
RAID Level : Primary-6, Secondary-0, RAID Level Qualifier-3
Size : xxx TB
State : Optimal
Stripe Size : 512 KB
Number Of Drives : 16
Span Depth : 1
Default Cache Policy: WriteBack, ReadAhead, Cached, Write Cache OK if Bad BBU
Current Cache Policy: WriteBack, ReadAhead, Cached, Write Cache OK if Bad BBU
Access Policy : Read/Write
Disk Cache Policy : Disabled
Encryption Type : None
[/bash]




MegaCli64のコマンド自体は、ネット上にコマンドリファレンスが転がっているので、それを参考にするのがよいかと思います。

区切りがいいので今回はこのへんで。
書ききれなかった「RAIDレベル」「フルストライプ書き込み」等については、次に触れたいと思います。

なお、当たり前ですが上記の記述は環境によって正しい場合と正しくない場合があります。

参考


これすばらしい本です

2012年6月1日金曜日

非対話型でパーティションを切る話

今どきのLinuxだと、fdiskというより、partedでいいですよね。
partedはいろいろ良い所がありますが、「--script(-s表記も同じ)」をつけると、非対話型モードとしてバッチ処理できるのがとても便利です。

下記の例はCentOS 5系での動作になります。
使用例
[bash]
#sdbのパーティションを表示
/sbin/parted --script /dev/sdb 'print'

#ディスクラベルの設定。2TB以上とかだと「mklabel gpt」とかにすればよいですね。
/sbin/parted --script /dev/sdb 'mklabel msdos'

#パーティションを作成します
/sbin/parted --script /dev/sdb 'mkpart primary 0 -0'

#適当なファイルシステムでフォーマットする
/sbin/mkfs.ext3 /dev/sdb1
[/bash]

実行例
[bash]
# /sbin/parted --script /dev/sdb 'mklabel msdos'
# /sbin/parted --script /dev/sdb 'mkpart primary 0 -0'
# /sbin/mkfs.ext3 /dev/sdb1
# /sbin/parted --script /dev/sdb 'print'

Model: xxx (scsi)
Disk /dev/sdb: 300GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Flags
1 0.51kB 300GB 300GB primary ext3

[/bash]

2012年5月29日火曜日

DELLの純正USB-Ethernetアダプタのドライバ探した話

Title Onlyなんですが。。。

共用で、DELLのXPS 13っていうノートPCを会社で買ったんですが、イーサネットのポートがなく(今時のうるとらPCってやつですね)。

別売りの、USB LANアダプタ(製造元番号 : W5R0T | パーツ番号 : 750-31067)を買ったみたいだったので、いざWindows 7から認識させようと思ったけど、認識してくれない。

デバイスマネージャからは、「DAD」ヤル気のないデバイス名が表示され「?」が付いている。。。

あんまり情報無かったのでちょっと苦労したんですが、最終的に、ASIX AX88772Aってチップを使ってるっぽかったので、チップ屋のサイトからドライバ落としてきてロードしたらちゃんと使えました。

DELLのサイトちょろーっと探したけど、それっぽいの見つけられなかったなー。

ドライバ探すの地味に大変だったので、ブログってみたよ( ー`дー´)キリッ

2012年5月1日火曜日

CentOS 6.2 + e1000eでうまくいかなかった話

環境

  • OS
    • CentOS 6.2
    • Kernel:2.6.32-220.4.2.el6.x86_64

  • H/W
    • Ethernet controller: Intel Corporation 82574L
    • 某社の鯖(特に秘す)

現象


しばらく放置してると(通信した状態で)、/var/logに、こんなんでるねん。


kernel: e1000e 0000:01:00.0: eth0: Error reading PHY register


そして通信できなくなってしまう。

CentOSのbugzillaにも似たようなのがあった。
0005614: Networking: Intel NIC locks machine after a while, requiring cold reboot
http://bugs.centos.org/view.php?id=5614


どうしたか

とりあえず、CentOS6.2のe1000eは1.4.4だったので、Intelのサイトから1.9.5(当時の最新)を拾ってきて適用。

結果

だめorz

上記のbugzillaに

pcie_aspm=off

したらいいぜHAHAHAみたいなコメントがあったのでやってみる。

OK(^^)

というわけで、某環境では、grub.confに上記の起動パラメータを追加してちゃんと動いてます(今のトコ)。

2012年4月9日月曜日

最近読んだ本と、富士通のはなし

Fujitsu Grid Girls
author:scenicaviator

ぼくは富士通のインサイダーではないので、公開情報しか知らないんだけど。

結構前にプロジェクトXでもやっていたので、割と有名かもしれませんが、富士通のコンピュータ事業ってのは、池田敏雄さんというキーマンがいました。

詳細は適当にぐぐって貰えばよいですが、書籍だと



に、弟子の山本卓眞さんのインタビューが載っていて、いわゆる池田敏雄伝説みたいなのがでてきます。この「計算機や〜」も残念ながら品切れなんですが、サマリ版の新書が今はでてるっぽいです。



さて、池田さんは働きすぎて壮絶な「戦死」をとげられるわけですが、その後富士通のコンピュータビジネスは大きな問題に直面します。IBM互換の問題です。

これもぐぐってもらえばいくらでも情報がでてきますが、かいつまむと、池田さんの時代にIBM互換でないコンピュータを作ったら、ユーザがそれまでIBMのコンピュータ向けに作ったプログラムが(当然)動かず、富士通のコンピュータがあまり売れませんでした。

すでにIBMのコンピュータは世界で売れていたので、世界で富士通のコンピュータを売るためには、IBMのコンピュータと互換性のある(IBM向けにつくったプログラムの動く)コンピュータをつくって売ろうと考えたのです。それがいわゆる互換機路線。

で、こっからが本題なんですが、当然IBMが起こって、富士通側にクレームを入れてくるわけです。その交渉の内容を当事者が小説仕立てにしたのが、この2冊の本です。





著者はすでにいろんな人がネタバレしていますが、鳴戸道郎さん。2009年に亡くなっています。(富士通元副会長の鳴戸道郎氏が逝去 )

病床で書かれたと言われているのが、この2冊の小説です。
最初の「雲を掴め」のほうは、IBMと富士通の直接交渉を小説風に再現したものです。後者の「雲の果てに」は第三者機関での仲裁の舞台裏となっています。

小説としてはちょっと微妙なんですが、ルイスガースナーの「巨像は踊る」風にリアルなドキュメンタリーとして見ると、とても面白いです。アメリカ人相手の交渉や、弁護士とのやりとりは、「あーこういうの日本人苦手なんだろうなー」と思いながらも、いわゆる根性で乗り切る鳴門さんに、悲しい日本人の性を感じます。。。

ただ、この事件は、コンニチ的な意義を見出すのが難しく、「雲の果てに」の後半でも出てきますが、業界としてはメインフレームからダウンサイジングの時代となり、和解締結のあたりになると、完全にPC主導のマーケットになっているんですよね。

両者の法務部門ががんばっている間に時代が変わってしまった、というのが数少ない教訓かもしれません。