- 2011-10-15 13:30〜18:50
- http://atnd.org/events/19348
- http://twitter.com/#!/search/#zfsday
- http://togetter.com/li/200791
- http://www.ainoniwa.net/doku/storage/zfs/zfsday/start
午前のswex学会(桜上水)を午前で抜け、スニッカーズをぶちこんで移動。外苑前には昼着。
青山のマクドナルドで昼飯。やたらオシャレなかんじ。ベレー帽だし。
ZFS Dayのとなりではphfesなるものをやっていた部屋が4倍くらい大きなところでやってた。
13:30 - 13:40 挨拶・諸注意など
[2011-10-15 13:37]
ZFS はどうすごい?(概要 + 宣伝)」(hiroa) @nslope
- http://www.ustream.tv/recorded/17884409
- ファイルシステムをつくるには10年はかかる。
- 128bit: ぜんぶ用意すると全海水を沸騰させられるほどの容量。
- 80%を越えたあたりからあやしくなってくる。
- fault injectionにたいしてはZFSは堅牢
- 実は性能にはかなり工数をかけている
- random writeをsequentialに変換する (write sequentialization)
- read-modify-write: 小さいwriteではパリティ計算に時間がかかるのではなくてreadに時間がかかる。
- URE un recoverable error
- RAID5 3D+1P のときrebuild失敗は2(URE10^14)〜20%(URE10^15)の失敗確率。RAID6ならほぼ0%になる。
- ちいさなランダムreadは弱い。シーケンシャルやランダムwriteはよい。
- OOW20011
- ZFSSA Gen3 SPC-1 137000IPPS fast safe cheap. Pick 3!!
[2011-10-15 14:19]
[2011-10-15 14:25]
「Linux で ZFS」(Kazuhisa Hara) @kazuhisya
- http://www.slideshare.net/kazuhisa/zfs-day
- http://www.ustream.tv/recorded/17885194
- ライセンスCDDL vs GPL。
- 2010年まで
- LLNL(ローレンス・リバモア国立研究所)
- zfs-fuse 2006年から
- 2010年なかばからネイティブ版プロジェクトがでてきた
- Knowledge Quest Infotech版 (こっちだけ話題になった)
- zfsonlinux.org版
- 用語
- SPL: Solaris Porting Layer
- ZPL: ZFS POSIX Layer (lzfs) マウントしてつかえるようにするために必要
- KQ Infotech版
- SPLを実装。ZFSはCDDLをそのまま。
- コミットがとまったとおもったら→会社が買収されてた→STEC社に。(2011-04-11が最後)。最新のカーネルでビルドできない。
- zfsonlinux.org版
- githubにけっこうコミットされている。
- つかうならこっち。
- 安定板ではZPLがまだ実装されていない。開発バージョンには入った。
- ZFS=CDDL. SPL=GPL.
- ふつうにつかえる。
- DKMS(dynamic kernel module suppoert)でない。カーネルアップデートのたびにビルドしなおし。
- 本番はむり。望みはある。
- バフォーマンス
- NexentaStor 3.1.1 x86_64 (zfs v5, zpool v28)
- Scientific LInux 6.1 x64_64
- RAID-Z1 (4本) パラメータはデフォルトのままで。noatimeとかelevatorとかはいじってない。
- fio 1.55をつかって測定。ARCはのせてる。
- HP micro server
- NFS
- seq-write(400KB/s), rand-write-512k が絶望的に遅い。Issue #229,#361既知の問題。syncを何度もしちゃうらしい。
- asyncにしたら、それなりになった。
- sync + no_wdelayは効果なし。
- iSCSI
- まずまず。結構いける。rand-512k-write,rand-4k-read-ncqは遅い。
- lsb_release -a でディストリビユーションがわかる
- Q: ARCの設定は?
- A: /etc/の下にあったはずだが..。 topで出てこない。 zfsstatもzfsonlinux用のが必要。
- Q: fsck。btrfsのはこわれてても直してくれない。
- A: scrub。修復できた。どうやったかというと仮想マシンだったのでホストからrmしただけ。
- Q: 問題があったら?
- A: ZFSにissueはたまるが、SPLにいろいろコミットがはいる。
[2011-10-15 15:24]
休憩
「FreeBSDさんとZFSさん」「FreeBSD と ZFS(仮)」(@team_eririn)
[2011-10-15 15:41]
- http://www.ustream.tv/recorded/17886255
- http://www.ainoniwa.net/data/txt/ZFSDay_2011.10_FreeBSD_and_ZFS/
- 初登場: FreeeBSD 7.0-RELEASE zfs v1, zpool v6 だった。バグだらけなのでこわかった。
- ZFSguru 0.1.8というのもある。
- 障害からの復旧
- zpool import -m: zilが壊れたとき
- zpoo clear -F: rolback
- zpool import -F: rollback
- ZFSの方がファイルシステムをつくるコマンド数は少ないけど、中でなにやってるかは謎..
- zfs set shareiscsi: not supported
- zfs set sharesmb: not supported
- zfs set sharenfsの利点はmountdをrestartしなくてよい点くらい。
- NFSでZILがボトルネックになって1MB/sくらいしか出ない。
- SSDにするかZILの無効化するか上のレイヤでasyncに設定。zvolのときは常に同期書き込みになってしまう。
- UFSでdumpしてZFSでrestoreはできる。でもrsyncの方が簡単じゃね?
- ZFSはJBOD/RAID3はできない。(UFS+GEOMはできる)
- 階層: HW→driver→GEOM→devfs→buffercache/VM→FS
- ZFSとGEOMの関係: 4KiBセクタと暗号化。
- gnopに4KiBとZFSにおしえる。初回だけ必要。phys sec sizeを4KiBと報告してくれるなら不要。
- 4KiB: zdb -C tank | grep ashift が 12になればok。
- geom_eliで暗号化
- ZFSの実装は一部GEOMをつかっている: geom_vdev, geom_zvol
- zvolつくった上にzfsつくったらパニックしたかも?
- VMではzvolじゃなくてfileをつかっている。ファイルならリサイズ簡単。バイナリエディタでいじろうとおもったがvimはクラッシュして
しまった。ZILも止めたいし。
- ディスクのいれかえ方法
- (ATA)
- atacontrol list
- atacontrol detach ata2
- atacontrol attach ata2
- zpool replace ad4
- (SCSI)
- camcontrol devlist
- camcontrol eject 0:1:0
- camcontrol rescan all
- zpool replace da1
- RAIDカードをつかうと先頭にメタデータ領域をとられたりするので、つかいたくない。
- Q:ポートマルチプライヤー
- A:1台抜いたときに他のも道連れになることがあるので避けている。仮想マシンがたくさん動いてたりルータになってたりにするので落したくないから。
[2011-10-15 16:36]
休憩
「Solaris と ZFS」(lum) @mari_lum
[2011-10-15 16:50]
- http://www.ustream.tv/recorded/17887065
- 最小のファイルシステムをつくってためす:
- makefile 12m zp
- zpoolcreate tetpool `pwd`/zp
- zdb -vvvv testpool >step1
- cp /usr/dict/words /testpool/words
- zdb -vvvv testpool >step2
- mkdir /testpool/subdir
- zdb -vvvv testpool >step3
- ln /testpool/words /testpool/subdir/words
- zdb -vvvv testpool >step4
- 「On-Disk Format Review」
- VDEV labelは先頭に2つ(L0,L1)、最後尾に2つ(L2,L3)ある。ラベルがすべておなじだったらトランザクション成功したことになる。
- 先頭と最後に分けることで全滅する可能性をへらしている。
- Labelのなかみは、8K VTOC用ブランク、8K boot hreader, 112KB name-value pair、128K 1Kのuberblockがリングになっている。
- ミラーされているときにはname-valueにchildlenがどうのこうのと書いてある。
- Block Pointers
- ポインタ 128バイト
- asize: actual size (ディスク上に確保したサイズ)
- lsize: logical (圧縮前)
- pssize: physical(圧縮後)
- G: ギャングビット。容量がすくなくなってきたときにつかうなにか。
- Dnode
- すべてのデータはこれからポインタトされる。512バイト。
- おしりのボーナス領域にタイプごとのデータがはいる。できるだけ固定長で。
- Metadnode
- dnodeからdode_phys_tがポイントされる。
- ZAP
- zfs attribute processor
- micro-zapとfat-zap
- ディレクトリのような名前とポインタだけのようなものはmicro-zapをつかう。
- linked-list
- Intent Log
- linked-list
- ZVOLの方がVirtualBoxとか速くなる。
- ちいさなトランザクションをグループにまとめる。QUIESCINGでどこに書くか決めてチェックサム計算。
- OPEN→QUIESCING→QUIESCED→SYNCING→SYNCED
- キュージング
- 128KBを連続で確保できないときにギャングでブロックポインタで小さなブロックを複数指して、論理的には1つにみせる仕掛。
ショートセッション「ZFSのソースコードをチラ見してみる」(@ko1kun)
[2011-10-15 17:42]
- http://www.ustream.tv/recorded/17887575
- http://www.slideshare.net/ko1kun/zfs-9717655
- タイポ: succssfulとか。
- ウィット: plow on. do itやtry itよりも度力が必要なニュアンスがある。I guess I link to go overbroad. あまりなかった。
- 気になるコード片: continueをつかっている! 四半世紀前からCをつかっているが。 最後のcase:やdefault:にbreakがある。breakをつけるとnop命令が入った! x86は可変長のjumpなのでリンカのためにlong call用の場所がとってある可能性。sparcならdelay slotかも。
- pythonをつかっている。execv(python, argv-1);
- 配列長を sizeof a / sizeof a[0] で計算している。
- ZFSは保守的に書いてある。あまり関数ポインタとかビット操作とかつかっていない。
[2011-10-15 17:56]
パネルディスカッション「激突!ZFSを使うなら、なんのOS?」(司会: @kohju)
[2011-10-15 17:58]
メリット
- linux: ドライバがそろってる。ふだんつかってる。
- freebsd: ソースコードの最新版をとってこれる。ライセンスはBSDでかんたん。BSDにはインストールが簡単なアプライアンスがある。(linuxにはみあたらない)
- solaris: 最新のZFSがつかえる。でもどれをつかうか? solaris11の方がSMBがらく。sambaより設定が簡単。aclがあるのでufsにコピーできない問題がある。ftpで。
- solaris: comstarとかInfinibandとか連携できるのがメリット。I/Oまわりとの連携があるので性能面でのメリット。オリジナル有利!
- 長いことZFSの最新コードがでてこないが、独自パッチ(バグもいっぱいみつかってるし)はどうなってる?
- illumosは元sunの人がはいっている。
- linuxはあまりいじりたくないようだ。
- freebsdはマニュアルをかきかえてないのでsharenfsとかあってない。本体はいじってない。sun->oracleでバグDBをおいかけられなくなって、みんながバラバラにいじりだした。まるごともってきても動くようにしている。
デメリット
- open indianaはバイナリコンパチをめざいしているのでsolaris本家にひきづられる。
- linuxはcomstarとかない。
- freebsdはnfsまわりは弱い。freebsdもzfsも悪くないんだけど組み合せると...
- solarisはハードウェアサポートがよわい。インストーラが動かないとか、いきなりハングアップとか。CPUとかSASのカードとか。
純正CIFSだと右クリックで以前のバージョンがでてくる。
[2011-10-15 18:47]
エネルギー[kcal] | たんぱく質[g] | 脂質[g] | 炭水化物[g] | |
スニッカーズ | 270 | 4.5 | 14.5 | 29.8 |
1本満足バー シリアルホワイト | 197 | 2.4 | 11 | 21 |