View
4.935
Download
2
Category
Preview:
DESCRIPTION
Tokyo OpenSolaris Study Group 2011.05 【日時/場所】 日時: 2011/5/28 (Sat) 13:00 開場 ~ 13:30 開始 ~ 16:30 終了 場所: 日本オラクル 青山オフィス13F会議室 【内容】 OpenSolaris に関するテーマをみんなで勉強していきましょう。という集まりです。テーマについてスピーカーが話をしますが、参加メンバーも情報を出し合ってワイワイと進めていきます。 アジェンダ 13:30 - 14:00 自己紹介等 14:00 - 14:20 ZFSおさらい (hiroaさん) 14:20 - 15:00 自宅ZFS自慢:前半 (s-miyazaさん、hasegawさん) 15:00 - 15:10 休憩 15:10 - 15:50 自宅ZFS自慢:後半(nslope、shoyoさん) 15:50 - 16:00 休憩 16:00 - 16:30 今更聞けない質問大会続き
Citation preview
自宅ZFS自慢!? by @hasegaw
2011/5/28 東京OpenSolaris勉強会 2011.05
Takeshi HASEGAWA (Twitter: @hasegaw) 本資料中の解説内容は、所属組織における 統一的な見解を示すものではありません。
プロフィール 長谷川 猛 (HASEGAWA Takeshi) twitter: @hasegaw
主にLinuxや仮想化技術を得意とする雑食系SE Xen/KVMを調査、FreeBSD virtioを実装等 興味範囲:仮想化、ストレージ
もんはんしようず ゚+.(・ω・)゚+.゚
2
おもな著書・寄稿
3
Webサイトの記事など
エンジニアなら知っておきたい仮想マシンのしくみ http://gihyo.jp/dev/serial/01/vm_work/
4
今日の私のお話 • ZFS利用の目的 • ZFSを選んだ理由 • ハードウェア構成、仮想化構成 • 一部設定ファイルの紹介 • 現在のステータス情報 • RAID-Zがデグレした経験について • バックアップディスク • 今の悩み • まとめ
5
我が家のZFS環境の目的 • 過去のデータの保存庫
– 書籍執筆関係のデータ (ex: Xen徹底入門) – Xen関係でいじったコードやソースツリーの保管
• 各種メディアの保存 – マクロス動画 – MP3 も MacBook のローカルディスクから移したい
• バックアップ – ノートパソコンのHDD/SSD上のデータのバックアップ用
• 基本的にクリティカルな用途には使用していない
どうしてZFSを選んだか • ZFSの信頼性と柔軟性は魅力
o ソフトウェアだけでも、トランザクション保護によりデータの整合性が保たれ、dirtyな止まり方をしても割と安心
o End-to-end Checksum で正常か異常かがきちんと判る o 必要な用途に必要な領域を割り当てやすい
• LinuxのMD RAIDが怖い o Kernel panicでデグレし復旧できなかった経験が複数回 o 復旧手順を事前にチェックしておいたが通用しなかったwwww o Software RAID-5 マジやばい o fakeraid も FastTrak TX2000 を持っていたが、嫌い
7
ZFS内のデータへのアクセス方法 • Windows PCからのSMB/CIFSアクセス
• MacOS XからのSMB/CIFSアクセス o NFSによるマウントはしていない o TimeMachine: ブロックボリュームをiSCSIマウント
• LinuxをはじめとするUNIX OSからのNFSアクセス o Xen関連の作業時にはautofsでオートマウントする等
8
我が家のZFS環境
Express5800 (Tower Server)
Xen 3.1.2 (CentOS 5 RPM)
CentOS OpenSolaris Ubuntu
RAID-Z (物理3TB) 320GB 2.5inch
ZFS FileServer
Twitter bot, HandBrake
domain-0
50GB SSD
ディスク型番 用途 製品名/型番 容量
OS Hitachi HTS72323 (Travelstar Z7K320) × 1
2.5inch, SATA 320GB, 7200rpm
ZFS データ領域 Seagate ST31000340NS (Barracuda ES 2) × 3
3.5inch, SATA 1TB, 7200rpm
Write Cache OCZ VERTEX 2 × 1 2.5inch, SATA 50GB
ZFS バックアップ領域
Barracuda Green SATA 3.5inch 6G SATA 2TB, 5900rpm
Domain-U の定義ファイル name = "vm230" maxmem = 2048 memory = 2048 vcpus = 2 ~~ (snip) ~~ localtime = 0 disk = [ "tap:aio:/dev/pool0/vm230_xvda,xvda,w", #failed #“tap:aio:/dev/disk/by-id/scsi-SATA_ST31000340NS_9QJ37■ ■ -part1,xvdb,w", “tap:aio:/dev/disk/by-id/scsi-SATA_ST31000340NS_9QJ37●●-part1,xvdc,w", “tap:aio:/dev/disk/by-id/scsi-SATA_ST31000340NS_9QJ37▲▲-part1,xvdd,w", "tap:aio:/dev/disk/by-id/scsi-SATA_ST2000DL003-9VT_5YD13××,xvdf,w", “tap:aio:/dev/disk/by-id/scsi-SATA_OCZ-VERTEX2_f0a200★★-part1,xvde,w", ] vif = [ "mac=00:16:36:04:e8:a7,bridge=xenbr0,script=vif-bridge" ] serial = "pty" bootloader="/usr/bin/pygrub"
(余談) pygrub で ZFSブート • 最近のXenのpygrubはZFSブートをサポートしている
– OpenSolaris Domain-UによるZFS上のGRUBでbootできる – ZFSのbootfsを自動解決してくれる – 手動でカーネルパラメータを与えなくていい – Boot Envorinment アップデートしても安心
• 以下の設定を書きましょう bootloader="/usr/bin/pygrub“
• pygrubを使わない場合のDomain-Uの設定例 kernel="/boot/os200811/unix"
ramdisk="/boot/os200811/boot_archive"
extra= '/platform/i86xpv/kernel/amd64/unix –B zfs-bootfs=rpool/52,
bootpath="/xpvd/xdf@0:a"’
OpenSolaris OS部分 • 2.5inch 7200rpm HDDからLinux LVM2で切り出し --- Logical volume --- LV Name /dev/pool0/vm230_xvda VG Name pool0 LV UUID NnCJ9p-zUwc-B1C7-9MGE- bxtl-DC0z-2QejaS
LV Write Access read/write LV Status available # open 3 LV Size 16.00 GB Current LE 4096 Segments 1 ・・・
• 普通です(少なくともLinux的には)
zpool list root@vm230:~# zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROO
array1 2.72T 1.91T 831G 70% 1.26x DEGRADED -
ファイルサーバ用領域 (実効容量2TB; 1TBx3) 実は今デグレってます
backup1 1.81T 1.01T 817G 55% 1.01x ONLINE -
バックアップ用領域 (実効容量2TB; 2TBx1) デグレ対応として最近追加
rpool 15.9G 5.09G 10.8G 32% 1.00x ONLINE -
システム起動用領域 Linux LVMより切り出し
RAID-Z構成ディスク • ST31000340NS Barracuda ES.2 SATA 3.0Gb 7200rpm 1TB ×3 – ニアライン向けドライブで割高だった – 1TBが¥10,000ぐらいの相場の頃に¥16,000/台で購入
• Century製のエンクロージャでホットプラグ – デグレ時の交換を楽にしたい – SATA/電源の配線が楽 – 1台、壊れました(現在2台目)
• RAID-Z構成
RAID-Z構成ディスク: パーティション • ディスク全体で1パーティション • 別にディスク丸ごとexportしてもよい • 4KBセクタだったら全部exportしたほうがいいかもね (境界あわせればOK、ZFS側のサポートも必要)
Disk /dev/disk/by-id/scsi-SATA_ST31000340NS_9QJ37XXX: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
デバイス Boot Start End Blocks Id System ST31000340NS_9QJ37XXX1 * 1 121601 976760001 fd Linux raid 自動検出
RAID-Z構成ディスク: ファイルシステム NAME USED AVAIL REFER MOUNTPOINT
array1 1.64T 162G 30.6K /array1
array1/archives 1.02T 162G 1.02T /export/archives
メインのレポジトリ array1/backup 381G 162G 71.9G /export/backup
HDDのバックアップなど array1/backup/macbook_timemachine 309G 464G 7.04G -
array1/dvd 144G 162G 144G /export/archives/dvd2
リッピング→handbrake用 array1/ero 24.0K 162G 24.0K /array1/ero
エロ専用ストレージを作るというIRCチャンネルの流行に便乗 array1/iscsi 93.6G 162G 26.6K /array1/iscsi
array1/iscsi/elena4 93.6G 222G 33.6G -
array1/rhev 18.0G 162G 18.0G /export/rhev
iSCSIやその他検証のための領域
RAID-Z障害の例(1)
18
root@os200811:~# zpool status array1 pool: array1 state: DEGRADED status: One or more devices are faulted in response to persistent errors. Sufficient replicas exist for the pool to continue functioning in a degraded state. action: Replace the faulted device, or use 'zpool clear' to mark the device repaired. see: http://www.sun.com/msg/ZFS-8000-K4 scrub: none requested config:
NAME STATE READ WRITE CKSUM array1 DEGRADED 0 0 0 raidz1 DEGRADED 0 0 0 c3d1p1 ONLINE 0 0 0 c3d2p1 FAULTED 8 7.56M 0 too many errors c3d3p1 ONLINE 0 0 0
RAID-Z障害の例(2) • 物理障害
o HDDエンクロージャの物理障害により
SATAコントローラ – HDD間のリンクが切断
• Dom0カーネルが障害を検出 o Kernelメッセージ多数、ブロックデバイス消滅
• OpenSolaris domUが障害を検出 o blktapバックエンドがエラーを検出しVBDを強制デタッチ?
o RAID-Zアレイの1デバイスが死亡しdegraded 19
Sep 1 20:31:23 dom0 kernel: ata11: exception Emask 0x10 SAct 0x0 Serr 0x80000 action 0xe frozen
(続く)
RAID-Z障害の例(3) • OpenSolarisを再起動したら
o インポートできなくなりました o 『動いているものは安易に止めるな!』 (本気で)
• 復旧までの道のり o 当時の最新リリース(OpenSolaris 2009.06)では対処手段なし o ZFSソース探検中に偶然「インポート失敗時、トランザクションをロールバックしてインポートを試みる」オプションを発見
o レポジトリ最新のONにアップデート o トランザクションをロールバックした上でインポート成功 o ハードウェアレベルの問題を解決した後にスクラブを実施し復旧
20
いまは平和に動いています
21
toor@vm230:~$ pfexec zpool status array1 pool: array1 state: ONLINE
status: The pool is formatted using an older on-disk format. The pool can still be used, but some features are unavailable. action: Upgrade the pool using 'zpool upgrade'. Once this is done, the pool will no longer be accessible on older software versions. scrub: scrub completed after 3h40m with 0 errors on Fri Mar 12 01:20:10 2010
config: NAME STATE READ WRITE CKSUM array1 ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 c6t1d0p0 ONLINE 0 0 0 c6t2d0p0 ONLINE 0 0 0 c6t3d0p0 ONLINE 0 0 0 logs c6t4d0p0 ONLINE 0 0 0 errors: No known data errors
その後デグレしましたorz
22
root@vm230:~# zpool status array1 pool: array1 state: DEGRADED
status: One or more devices could not be opened. Sufficient replicas exist for the pool to continue functioning in a degraded state. action: Attach the missing device and online it using 'zpool online'. see: http://www.sun.com/msg/ZFS-8000-2Q scrub: none requested
config:
NAME STATE READ WRITE CKSUM array1 DEGRADED 0 0 0 raidz1-0 DEGRADED 0 0 0 c6t1d0p0 UNAVAIL 0 0 0 cannot open c6t2d0p0 ONLINE 0 0 0 c6t3d0p0 ONLINE 0 0 0
errors: No known data errors
バックアップ用RAID-Z構成ディスク • Barracuda® Green SATA 6Gb/秒 2TBハードディスク・ドライブ ST2000DL003
• 5900rpm のグリーンモデル – なんだってー!! 7200rpm だと今日まで思っていたぞ – ドスパラの兄ちゃんに勧め?でセレクト
• 4KBセクタ – パフォーマンスが落ちているかは不明 – バックアップなのでそれほど性能は不要
• 単発でzpoolを構成 • 純粋にメインのアレイ(RAID-Z)のバックアップを収容
余談:バックアップが楽でいいですね • 時間かかったけど、待っていればとりあえず終わる • メインストレージ,ニアラインのなんちゃってTiering • ZFSはこういう操作が楽でいいですね
Historyみたら何となく出てきた操作 253 zfs snapshot -r array1@`date +%Y%m%d`
254 zfs set mountpoint=none backup1
255 zfs send array1/archives@`date +%Y%m%d` | zfs
recv backup1/archives`date +%Y%m%d`
273 zfs set mountpount=/export/backup array1/
backup 24
今の悩み • OpenIndianaではXenのDomain-Uサポート無し • 様々な理由で準仮想化で利用している私としては致命的
o 安価なハードウェアで運用するため、管理OSとしてLinuxを利用 o コンソリデーションの意味合いからもVMM上に乗せたい
• 次のどのOSを選定するか o OpenIndiana… せめてvirtioなどの共有ring bufferサポート後 o FreeBSD-current … Xen準仮想化サポートがある点が魅力的 o Linux … カーネルツリーにZFS統合されるなら考える o OpenSolaris snv_134 (現行) … 安定稼働、困っていない
25
感想と今後の予定など • ZFSは……
o 信頼性と管理の観点から非常に興味深いファイルシステム o 適当に運用しているけど、障害を経て、今もデータロスなし o バックアップも簡単
• 今後の課題 o RAID-Z構成ディスクの良品交換、リビルド o ライトキャッシュとしてのVERTEX2 SSD稼働開始 o 今後のOSの選定どうしよう……
26
質問はありますか?
27
ありがとうございました
゚+.(・ω・)゚+.゚
28
Recommended