Your SlideShare is downloading. ×
Solaris10こんな感じで使ってますzone/ZFS 無しには戻れない!                     1
agenda• 自己紹介• 注意事項&お願い• サービス概要• システム概要  1.   Web  2.   Application  3.   Database  4.   Storage• まとめ                     2
自己紹介(配布用)• @twovs• 無線LAN装置の開発(1999~2004)• オンラインゲームのシステム管理者(2004~)• ただし,ゲームには全く興味無し・・・• ZFS 最高!                            3
自己紹介(プロジェクタ用)                4
注意事項&お願いこの物語はフィクションであり、実在の人物・団体とは一切関係ありません• 固有名詞や数値は公表しないでください• 色々アドバイス待ってます!• 突っ込み大歓迎!                       5
サービス概要         6
注意事項&お願いこの物語はフィクションであり、実在の人物・団体とは一切関係ありません                      7
システム概要(1)            8
システム概要(2)~2004年    Intel/Linux 2005年    Intel/Linux      VMware 2008年    SPARC/Solaris10 zone(UFS => ZFS) 2010年    SPARC/S...
システム概要(3)                                Tier 3                                Database                                Tie...
1-1.Web/概要             Tier 1             Web                      11
1-2.Web/処理概要• HTTP/HTTPS の処理• ReWrire/ReverseProxy•••                         12
1-3.Web/SrcPort• ReverseProxy の SrcPort 足りない   → local-zone でサーバ台数を増やす        App    ・・・ App               HTTP           ...
1-4.Web/まとめ○ SSL速い  Cryptographic Accelerator Units on the  T1 and T2 processors○ local-zone 増やしてスケール可能×× Oracle 買収後 SJSWS...
2-1.App/概要             Tier 2             Applications                            15
2-2.App/処理概要• client からのリクエストを処理   DB サーバや別の App サーバと通信• サーバ(local-zone)=サービス• サービス範囲/障害範囲を分離• Java VM                    ...
2-3.App/local-zone• 1つの global に xx 以上の local-zone• 以前は CPU/Memory より local-HDD 不足• {zoneadm,zfs} clone が超便利! [global]# zo...
2-4.App/ディスク• RAID-1+spare の合計3本• local-HDD を RAID-5/Z/Z2 に?   • HDD の slot はあるけど   • 速度も可用性もいらない   • 消えても良いデータだけ• zonepat...
2-5.App/リソース• サーバは単に CPU と Memory の器• リソース=CPU×Memory×Network• CPU     pooladm/poolcfg で• Memory ミドルウェアの設定で• Network cross...
2-6.App/pooladm/poolcfg•   zone 固有の設定を少なくしたいので•   1(min) < CPU < 128(max) で設定•   割り当て数を監視しておいて•   ヤバそうな zone だけ個別調整    [gl...
2-7.App/pset [global]# poolstat -r pset  id pool                 type   rid   rset             min   max size used load  2...
2-8.App/zonecfg [global]# zonecfg -z AAAAA01 export create -b set zonepath=/export/zones/AAAAA01 set autoboot=true set poo...
2-9.App/MAC Address• ip-type=shared だと MAC Addr 共通• Switch の LAG/Port-channel 設定に注意!   • MAC Addr の hash だと Port が偏る   • s...
2-10.App/MTU• local-zone の MTU 設定できず   global の cron で ifconfig…(ダサい)• vnic で exclusive にすれば OK [global]# cat .../set_MTU_...
2-11.App/まとめ○ リソース分離  Solaris Container(local-zone)任せ○ 最小リソースでサービスを提供可能× local-zone の MTU 設定しづらい(できない)- crossbow には色々期待   ...
3-1.DB/概要            Tier 3            Database                       26
3-2.DB/速い処理・遅い処理• OracleDatabase   • zone 未使用/当時は RAC 未サポート   • パッチ当てるの大変/BE に期待 • 速い OLTP処理 • 遅い batch/dump/restore• Post...
3-3.DB/SunCluster• クラスタ内の global 全てに zone を配置• 各 zone はクラスタ内の 1カ所だけで起動• 落ちたら別の global で zone が起動[SunCluster01]# zoneadm li...
3-4.DB/SunCluster• 正常時                             • 障害発生時zone01-10        zone11-30          zone01-15      zone16-30 run...
3-5.DB/手動SunCluster• サービス用は SunCluster  で自動復旧• それ以外は 手動SunCluster で手動復旧• patch が当たるように   待機用 zone は installed に(attach する)...
3-6.DB/まとめ× OracleDB 高い・とにかく高い  でも買う(こーゆー商売をしたい)× ハードウェアを並べれば  PostgreSQL のが速い&安いんじゃね?○ 手動 SunCluster(Cold-Standby)も十分便利  ...
4-1.Storage/概要                 Storage                           32
4-2.Storage/NAS with ZFS• ZFS on Intel Server はシングルポイント• 落ちてサービス影響が無い部分でのみ使用 [ZFS-NAS]# cat /etc/release                  ...
4-3.Storage/WAFLと比較• ZFS と WAFL(NetApp)   • filesystem としての機能はほぼ同じ   • 性能は・・・ハードウェア依存?• ZFS は filesystem 以外も多機能   • Solari...
まとめ• Solairs10     ステキ!• ZFS/zone      超便利!• Solaris11     ライセンスが微妙か?• OpenIndiana   超期待!• crosbow       どう使ってやろうか・・・  DSR...
この物語はフィクションであり、実在の人物・団体とは一切関係ありません       END                      36
Upcoming SlideShare
Loading in...5
×

osoljp 2011.08

725

Published on

osoljp_2011.08

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
725
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "osoljp 2011.08"

  1. 1. Solaris10こんな感じで使ってますzone/ZFS 無しには戻れない! 1
  2. 2. agenda• 自己紹介• 注意事項&お願い• サービス概要• システム概要 1. Web 2. Application 3. Database 4. Storage• まとめ 2
  3. 3. 自己紹介(配布用)• @twovs• 無線LAN装置の開発(1999~2004)• オンラインゲームのシステム管理者(2004~)• ただし,ゲームには全く興味無し・・・• ZFS 最高! 3
  4. 4. 自己紹介(プロジェクタ用) 4
  5. 5. 注意事項&お願いこの物語はフィクションであり、実在の人物・団体とは一切関係ありません• 固有名詞や数値は公表しないでください• 色々アドバイス待ってます!• 突っ込み大歓迎! 5
  6. 6. サービス概要 6
  7. 7. 注意事項&お願いこの物語はフィクションであり、実在の人物・団体とは一切関係ありません 7
  8. 8. システム概要(1) 8
  9. 9. システム概要(2)~2004年 Intel/Linux 2005年 Intel/Linux VMware 2008年 SPARC/Solaris10 zone(UFS => ZFS) 2010年 SPARC/Solaris10 zone(ZFS clone) 2011年 ・・・ and crossbow• Linux : Solaris = x:x (host)• Intel : SPARC = x:x (Hardware)• 基本的に新サービスは zone で作る• 面倒な時は VMware で(面倒な理由は色々) 9
  10. 10. システム概要(3) Tier 3 Database Tier 2 Applications Tier 1 Web Oracle® Solaris Administration: Network Interfaces and NetworkVirtualization PartNo: 821–1458–02 P.307 FIGURE 15-2から抜粋 10
  11. 11. 1-1.Web/概要 Tier 1 Web 11
  12. 12. 1-2.Web/処理概要• HTTP/HTTPS の処理• ReWrire/ReverseProxy••• 12
  13. 13. 1-3.Web/SrcPort• ReverseProxy の SrcPort 足りない → local-zone でサーバ台数を増やす App ・・・ App HTTP (TCP SrcPort)<65535 :12345 Web HTTPS client client ・・・ client 13
  14. 14. 1-4.Web/まとめ○ SSL速い Cryptographic Accelerator Units on the T1 and T2 processors○ local-zone 増やしてスケール可能×× Oracle 買収後 SJSWS のライセンス変更 bundle 版の再インストールが不可・・・ 14
  15. 15. 2-1.App/概要 Tier 2 Applications 15
  16. 16. 2-2.App/処理概要• client からのリクエストを処理 DB サーバや別の App サーバと通信• サーバ(local-zone)=サービス• サービス範囲/障害範囲を分離• Java VM 16
  17. 17. 2-3.App/local-zone• 1つの global に xx 以上の local-zone• 以前は CPU/Memory より local-HDD 不足• {zoneadm,zfs} clone が超便利! [global]# zoneadm list -v | wc -l xx [global]# zfs list -t filesystem | head NAME USED AVAIL REFER MOUNTPOINT rpool 54.7G 39.8G 24.5K /rpool rpool/export 54.7G 39.8G 20K /export rpool/export/zones 54.7G 39.8G 18.1G /export/zones rpool/export/zones/AAAAA01 85.9M 39.8G 253M /export/zones/AAAAA01 rpool/export/zones/BBBBB01 79.4M 39.8G 247M /export/zones/BBBBB01 rpool/export/zones/CCCCC01 128.4M 39.8G 451M /export/zones/CCCCC01 rpool/export/zones/DDDDD01 89.4M 39.8G 257M /export/zones/DDDDD01 rpool/export/zones/EEEEE01 50.6M 39.8G 67.4M /export/zones/EEEEE01• local-zone なら(比較的)容易にmigration可能• global-zone でサービス提供禁止! 17
  18. 18. 2-4.App/ディスク• RAID-1+spare の合計3本• local-HDD を RAID-5/Z/Z2 に? • HDD の slot はあるけど • 速度も可用性もいらない • 消えても良いデータだけ• zonepath を共有ディスクに? • 複雑になるし • 18
  19. 19. 2-5.App/リソース• サーバは単に CPU と Memory の器• リソース=CPU×Memory×Network• CPU pooladm/poolcfg で• Memory ミドルウェアの設定で• Network crossbow では管理できる/管理する?[質問&相談] crossbow がスゴイ&楽しいのは分かった で,実環境でどう使うと便利なの? 何かアイディアあります? 19
  20. 20. 2-6.App/pooladm/poolcfg• zone 固有の設定を少なくしたいので• 1(min) < CPU < 128(max) で設定• 割り当て数を監視しておいて• ヤバそうな zone だけ個別調整 [global]# pooladm –e [global]# pooladm –s [global]# poolcfg -c create pset pset_AAAAA01 ¥ (uint pset.min = 1;uint pset.max = 128)‘ [global]# poolcfg -c create pool pool_AAAAA01‘ [global]# poolcfg -c associate pool pool_AAAAA01 ¥ (pset pset_AAAAA01) 20
  21. 21. 2-7.App/pset [global]# poolstat -r pset id pool type rid rset min max size used load 24 pool_AAAAA01 pset 24 pset_AAAAA01 10 128 48 0.00 4.16 18 pool_BBBBB01 pset 18 pset_BBBBB01 1 128 11 0.00 1.10 15 pool_CCCCC01 pset 15 pset_CCCCC01 1 128 8 0.00 0.98 0 pool_default pset -1 pset_default 1 66K 5 0.00 4.24 7 pool_DDDDD01 pset 7 pset_DDDDD01 1 128 5 0.00 0.42 (snip) AAAAA01 ※CPU割り当て数 BBBBB01 CCCCC01 DDDDD01 21
  22. 22. 2-8.App/zonecfg [global]# zonecfg -z AAAAA01 export create -b set zonepath=/export/zones/AAAAA01 set autoboot=true set pool=pool_AAAAA01 set ip-type=shared add inherit-pkg-dir set dir=/lib end add inherit-pkg-dir set dir=/platform end add inherit-pkg-dir set dir=/sbin end add inherit-pkg-dir set dir=/usr end add inherit-pkg-dir set dir=/opt end add net set address=10.123.49.1/24 set physical=aggr49010 end add net set address=10.123.50.1/24 set physical=aggr50010 end 22
  23. 23. 2-9.App/MAC Address• ip-type=shared だと MAC Addr 共通• Switch の LAG/Port-channel 設定に注意! • MAC Addr の hash だと Port が偏る • src-dst-ip などへの変更は必須 Catalyst6500(config)#port-channel load-balance ? dst-ip Dst IP Addr dst-mac Dst Mac Addr dst-port Dst TCP/UDP Port mpls Load Balancing for MPLS packets src-dst-ip Src XOR Dst IP Addr src-dst-mac Src XOR Dst Mac Addr src-dst-port Src XOR Dst TCP/UDP Port src-ip Src IP Addr src-mac Src Mac Addr src-port Src TCP/UDP Port 23
  24. 24. 2-10.App/MTU• local-zone の MTU 設定できず global の cron で ifconfig…(ダサい)• vnic で exclusive にすれば OK [global]# cat .../set_MTU_of_local-zone.sh #!/bin/sh (snip) while [ ${alias} -le ${max} ] do ifconfig aggr11001:${alias} mtu 1500 ifconfig aggr12001:${alias} mtu 1500 ifconfig aggr21001:${alias} mtu 9000 ifconfig aggr22001:${alias} mtu 9000 alias=`expr ${alias} + 1` done 24
  25. 25. 2-11.App/まとめ○ リソース分離 Solaris Container(local-zone)任せ○ 最小リソースでサービスを提供可能× local-zone の MTU 設定しづらい(できない)- crossbow には色々期待 25
  26. 26. 3-1.DB/概要 Tier 3 Database 26
  27. 27. 3-2.DB/速い処理・遅い処理• OracleDatabase • zone 未使用/当時は RAC 未サポート • パッチ当てるの大変/BE に期待 • 速い OLTP処理 • 遅い batch/dump/restore• PostgreSQL • zone 上に 1インスタンス(1サービス) • 速い OLTP処理 • 遅い batch/dump/restore 27
  28. 28. 3-3.DB/SunCluster• クラスタ内の global 全てに zone を配置• 各 zone はクラスタ内の 1カ所だけで起動• 落ちたら別の global で zone が起動[SunCluster01]# zoneadm list -vc | grep running | grep -v global | wc -l 10[SunCluster01]# zoneadm list –vc | grep installed | wc -l 20[SunCluster02]# zoneadm list –vc | grep running | grep -v global | wc -l 10[SunCluster02]# zoneadm list –vc | grep installed | wc -l 20[SunCluster03]# zoneadm list –vc | grep running | grep -v global | wc -l 10[SunCluster03]# zoneadm list –vc | grep installed | wc -l 20 28
  29. 29. 3-4.DB/SunCluster• 正常時 • 障害発生時zone01-10 zone11-30 zone01-15 zone16-30 running installed running installed SunCluster01 SunCluster01zone01-10 zone11-20 zone21-30 zone01-10 zone11-20 zone21-30installed running installed installed running installed SunCluster02 SunCluster02 zone01-20 zone21-30 zone01-15 zone16-30 installed running installed running SunCluster03 SunCluster03 29
  30. 30. 3-5.DB/手動SunCluster• サービス用は SunCluster で自動復旧• それ以外は 手動SunCluster で手動復旧• patch が当たるように 待機用 zone は installed に(attach する)• clone 用の snapshot を取る時は configured に(detach する) 30
  31. 31. 3-6.DB/まとめ× OracleDB 高い・とにかく高い でも買う(こーゆー商売をしたい)× ハードウェアを並べれば PostgreSQL のが速い&安いんじゃね?○ 手動 SunCluster(Cold-Standby)も十分便利 ZFS clone + zone のおかげ! 31
  32. 32. 4-1.Storage/概要 Storage 32
  33. 33. 4-2.Storage/NAS with ZFS• ZFS on Intel Server はシングルポイント• 落ちてサービス影響が無い部分でのみ使用 [ZFS-NAS]# cat /etc/release Solaris 10 10/09 s10x_u8wos_08a X86 Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms. Assembled 16 September 2009 [ZFS-NAS]# zpool get version zfspool NAME PROPERTY VALUE SOURCE zfspool version 15 default [ZFS-NAS]# zfs get compressratio NAME PROPERTY VALUE SOURCE rpool compressratio 1.28x - rpool/ROOT compressratio 1.00x - (snip) rpool/xxx compressratio 1.29x - rpool/xxx/home compressratio 3.45x - rpool/xxx/log compressratio 5.86x - 33
  34. 34. 4-3.Storage/WAFLと比較• ZFS と WAFL(NetApp) • filesystem としての機能はほぼ同じ • 性能は・・・ハードウェア依存?• ZFS は filesystem 以外も多機能 • Solaris などの OS があって便利 • DTrace (使いこなせてないけど)• NetApp は cluster で可用性 UP • IB(など)で head 間を接続し • TCP張りっ放しで fail-over 可能 34
  35. 35. まとめ• Solairs10 ステキ!• ZFS/zone 超便利!• Solaris11 ライセンスが微妙か?• OpenIndiana 超期待!• crosbow どう使ってやろうか・・・ DSR(Direct Server Return)のために vnic で ip-type=exclusive は決定!? 参考/Yahoo! Tech Blog >ヤフーネットワーク10年 http://bit.ly/onpiJr 35
  36. 36. この物語はフィクションであり、実在の人物・団体とは一切関係ありません END 36

×