Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

はじめてのSolaris

Solarisとは何か?
Solarisを使うと何が嬉しいのか?
Solarisの初めての使い方

  • Login to see the comments

はじめてのSolaris

  1. 1. はじめてのSolaris OSC 2013 Tokyo/Fall みやざきさとる 日本OpenSolarisユーザグループ はじめてのSolaris OSC2013 Tokyo/Fall
  2. 2. 自己紹介 とあるIT企業のSolaris使い Twitter: s_miyaza ストレージとかも触ってます Solarisなのは趣味です 最近Solarisのお仕事がありません… (´・ω・`) はじめてのSolaris OSC2013 Tokyo/Fall
  3. 3. Agenda Solarisってしってるかい? Solarisにするとなにがうれしいの? Solarisをつかってみよう はじめてのSolaris OSC2013 Tokyo/Fall
  4. 4. まずはインストールしてみよう 仮想マシンにインストールしてみる 今回はOpenIndianaを使います LiveCDでブート デバイスが対応しているか確認 インストール – 必ずroot以外のユーザを作成すること! rootではGUIログインできません はじめてのSolaris OSC2013 Tokyo/Fall
  5. 5. Solarisってしってるかい? Sun Microsystems によってつくられました UNIX(SystemV)です – BSDやLinuxはUNIXライクOS 1992年にファーストリリース – SunOS から変更 – 2010年にOracleに買収 SPARCとIntel(x86)で動作します 主にエンタープライズ向け はじめてのSolaris OSC2013 Tokyo/Fall
  6. 6. どっこい、Open Source Softwareです CDDL(Common Distribute and Development License)で公開されてます – OpenSolaris 〜Solaris11Expressまで – OpenIndiana もCDDL Solaris10のソースも見れました – ただし、現在は公開されてません Solaris11以降のソースは公開されてません はじめてのSolaris OSC2013 Tokyo/Fall
  7. 7. Solaris10以降の公開の歴史 2011/11 2005/03 2005/05 Solaris10 Solaris11 製品版 SolarisExpress OpenSolaris 2008/05 はじめてのSolaris OSC2013 Tokyo/Fall Solaris11Express 2010/11 開発版
  8. 8. OpenSolarisは派生しました SolarisExpress OpenSolaris Solaris11Express Nexenta OpenIndiana SmartOS はじめてのSolaris OSC2013 Tokyo/Fall 開発版
  9. 9. OpenSolarisの仲間たち Solaris10 Solaris11 OpenIndiana SmartOS NexentaStor はじめてのSolaris OSC2013 Tokyo/Fall
  10. 10. Solaris10 SMF SysV Init の置き換え 並列起動を行い、OS起動を高速化 Zone コンテナ型の仮想化機能 Solaris8/9 コンテナなども出来ます ZFS 最強のファイルシステム! Dtrace カーネルトレースツール はじめてのSolaris OSC2013 Tokyo/Fall
  11. 11. Solaris11 OpenSolarisプロジェクトの正統後継者 ZFS boot 新パッケージシステム(IPS) Network仮想化 デスクトップの変更 インストーラの変更 はじめてのSolaris OSC2013 Tokyo/Fall
  12. 12. OpenIndiana Solaris11 互換を目指す Solaris11Expressがベース Illumosをサポート カーネル内のクローズドソースな部分を置き換 えるプロジェクト KVMに対応 ※ http://openindiana.org/ はじめてのSolaris OSC2013 Tokyo/Fall
  13. 13. SmartOS Joyent社がリリースしたクラウドプラットフォー ム用OS Joyent社はNode.jsのスポンサー KVMをポートしました OpenIndianaへ成果を提供 国内ではZ Cloudというサービスで採用 ※ http://smartos.org/ はじめてのSolaris OSC2013 Tokyo/Fall
  14. 14. NexentaStor 主にNexenta System社が支援 ストレージアプライアンス向け deb/apt + Solarisカーネル(ZFS) 4.0系からカーネルをillumosに変更 まだ出てない? VMwareやCitrix Xen Server用のストレージと しても事例あり ※ http://nexentastor.org/ はじめてのSolaris OSC2013 Tokyo/Fall
  15. 15. Solarisをつかうとなにがうれしいの? ZFSで万全 強力なストレージ機能COMSTAR Boot Environment で簡単なOSアップデート ネットワーク仮想化 Zoneで簡単仮想化 カーネルトレーサ DTrace はじめてのSolaris OSC2013 Tokyo/Fall
  16. 16. ZFSとは 128bitファイルシステム HDDをストレージプールとして管理し、 簡単にHDD増設が可能 RAID(0,1,5,6)に相当する機能を提供 Hybrid Storage Poolで早い Copy-on-Writeによるデータ完全性の保証 セルフヒーリング スナップショット・クローン機能 重複排除、圧縮、暗号化 はじめてのSolaris OSC2013 Tokyo/Fall
  17. 17. ZFSの使い方(1) ストレージプールの作成 # zpool create pool デバイス名 # ls /pool この時点で追加したストレージプール(pool)が ファイルシステムとしてマウントされます Mirror, RAIDZ(RAID5~)相当も指定できます ストレージプールへの追加 # zpool add pool デバイス名 この時点でストレージプールの容量が増えます はじめてのSolaris OSC2013 Tokyo/Fall
  18. 18. ZFSの使い方(2) ZFSはツリー構造 # zfs list -r rpool/export/ NAME USED AVAIL rpool/export 66.3G 49.0G rpool/export/home 66.3G 49.0G rpool/export/home/miyazaki 345M 49.0G # zfs create rpool/export/home/test % zfs list -r rpool/export NAME USED AVAIL rpool/export 66.3G 49.0G rpool/export/home 66.3G 49.0G rpool/export/home/miyazaki 345M 49.0G rpool/export/home/test 31K 49.0G はじめてのSolaris OSC2013 Tokyo/Fall REFER 34K 33K 345M MOUNTPOINT /export /export/home /export/home/miyazaki REFER 34K 33K 345M 31K MOUNTPOINT /export /export/home /export/home/miyazaki /export/home/test
  19. 19. Hybrid Storage Pool Architectureとは メモリ+SSD+HDDでストレージプールを構成 ARC – Adaptive Replacement Cache メモリ上にあるZFSのCache L2ARC – Level 2 ARC ARCからあふれた部分を保存 メモリ ZIL – ZFS Intent Log SSD 同期書き込み用ログ領域 Disk Storage Pool HDD SATA等のHDD 上記ARC/L2ARC/ZILの機能に より、高速のDiskを使用しなくても高性能を実現 はじめてのSolaris OSC2013 Tokyo/Fall 高速 中速 低速
  20. 20. ARC(Adaptive Replacement Cache) ARCは、読み込み・書き込みキャッシュ ARCはメモリを使用 ARCは動的に増えていく 最大で、メインメモリの  1GBを残した全部 もしくは全体の3/4を使用 ARCからこぼれたモノはL2ARC(SSD)に 書き込まれる 1GB/s も夢じゃない はじめてのSolaris OSC2013 Tokyo/Fall
  21. 21. ZIL(ZFS Intent Log)の役割 ZILは、同期書込時に使用されるログ情報 O_DSYNCつきでopen()したり、fsync()が実施されたとき など NFSは同期書き込み ARCからHDDへの書き込みは、非同期 5〜30秒に一度シーケンシャルに書き込む →HDDへ一度に書き込むので速い 同期書き込み時にも、非同期でHDDに書き込 むための機構がZIL ZILが役に立つのはクラッシュ時 クラッシュ時には、ZILから復旧する はじめてのSolaris OSC2013 Tokyo/Fall
  22. 22. Copy on Writeってなんですか? ファイルを書き込むとき 必ず新規ブロックに書き込む 書き込みが全て終了するまで 既存のファイルは削除されない ファイル書き込みに失敗しても、 途中まで書き込みに成功した、 ということは発生しない はじめてのSolaris OSC2013 Tokyo/Fall
  23. 23. Copy on Write(1) 最初の状態 UberBlock ポインタ ポインタ データ はじめてのSolaris OSC2013 Tokyo/Fall
  24. 24. Copy on Write(2) 修正されたデータは新しいデータブロックに作 成される UberBlock ポインタ 間接ポインタ データ 新データ はじめてのSolaris OSC2013 Tokyo/Fall 新データ
  25. 25. Copy on Write(3) 新しい間接ポインタが作成される UberBlock ポインタ 間接ポインタ 新ポインタ データ 新データ はじめてのSolaris OSC2013 Tokyo/Fall 新データ
  26. 26. Copy on Write(4) 新しいポインタが作成される UberBlock ポインタ ポインタ データ はじめてのSolaris OSC2013 Tokyo/Fall 新ポインタ
  27. 27. Copy on Write(5) 新しいUber Blockが作成される 古いブロック・ポインタは削除される 新UberBlock ポインタ ポインタ データ はじめてのSolaris OSC2013 Tokyo/Fall 新ポインタ
  28. 28. セルフヒーリング ZFSは、ブロックごとにChecksumを保存 Checksum と比較することでデータの完全性を保証 セルフヒーリング 読み出したデータが異常のときは、異常データを正常 データで上書き Mirror, RAIDZ 構成のときに有効 Checksum計算にCPUが必要 CPUの暗号化支援機能を使用可能 CPUの暗号化支援機能で、CPU使用率を低下 はじめてのSolaris OSC2013 Tokyo/Fall
  29. 29. スナップショットとクローン スナップショット ある時点のディスクイメージを保持する 読み込み専用 数の制限なし 指定したスナップショットにロールバックできる クローン スナップショットを書き込み可能にしたもの もとにしたスナップショットへの影響なし バックアップはスナップショット単位でとると簡単 スナップショットは削除できる はじめてのSolaris OSC2013 Tokyo/Fall
  30. 30. スナップショット(1) スナップショットはReadOnly OriginalのUber Blockとポインタをコピー Snapshot UberBlock UberBlock ポインタ ポインタ ポインタ データ はじめてのSolaris OSC2013 Tokyo/Fall Original
  31. 31. スナップショット(2) Originalに変更があるとブロック部とポインタ部だけが変 更される Snapshot UberBlock 新UberBlock 新データ はじめてのSolaris OSC2013 Tokyo/Fall 新データ Original
  32. 32. クローン(1) クローンはReadWrite スナップショットのUber Block とポインタをコピー Snapshot UberBlock はじめてのSolaris OSC2013 Tokyo/Fall UberBlock Clone UberBlock Original
  33. 33. クローン(2) Original・クローンに変更があると ブロック部とポインタ部だけが変更される Clone Snapshot UberBlock 新UberBlock new new はじめてのSolaris OSC2013 Tokyo/Fall 新UberBlock new Original
  34. 34. ZFSでバックアップ バックアップはスナップショット単位 zfs send を使用 差分バックアップも可能 バックアップイメージはファイルストリーム 圧縮可能 SSHで転送可能 リダイレクトでテープに書き込み リストアもスナップショット単位 zfs receive を使用 はじめてのSolaris OSC2013 Tokyo/Fall
  35. 35. 差分バックアップの例 ServerA rpool@20131019 ServerB rpool@20131019 snapshot全体のコピー はじめてのSolaris OSC2013 Tokyo/Fall
  36. 36. 差分バックアップの例 ServerA ServerB rpool@20131020 rpool@20131020 rpool@20131019 rpool@20131019 snapshot差分のコピー はじめてのSolaris OSC2013 Tokyo/Fall
  37. 37. 差分バックアップの例 ServerA ServerB rpool@20131021 rpool@20131021 rpool@20131020 rpool@20131020 rpool@20131019 rpool@20131019 snapshot差分のコピー はじめてのSolaris OSC2013 Tokyo/Fall
  38. 38. 差分の分だけ容量を消費する 一日ごとにバックアップ →容量が増える 一週経ったら、 日単位のバックアップって要らな いよね? よし、削除しよう はじめてのSolaris OSC2013 Tokyo/Fall
  39. 39. 差分バックアップの削除例 Before After rpool@20131021 rpool@20131021 rpool@20131020 rpool@20131019 rpool@20131019 snapshot差分の削除 はじめてのSolaris OSC2013 Tokyo/Fall
  40. 40. 重複排除 同じデータブロックを使い回すことで ディスク容量を削減する Checksumをうまく利用する ファイルA 重複 重複 はじめてのSolaris OSC2013 Tokyo/Fall ファイルB ファイルC
  41. 41. COMSTARって何者? COMSTARとは? Common Multiprotocol SCSI Target OpenSolarisのストレージフレームワーク VolumeをSCSI Targetに Volume 生HDD、ZFS Volume、ファイル 接続先 iSCSI、FC、FCoE、InfiniBandなど はじめてのSolaris OSC2013 Tokyo/Fall
  42. 42. COMSTARをもっと知るには 神資料その1 「 COMSTARでiSCSI」 http://www.slideshare.net/tokuhy/comstariscsi-opensolaris201108 神資料その2 「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」仮) ( http://www.slideshare.net/satokaz/comstar-comstar はじめてのSolaris OSC2013 Tokyo/Fall
  43. 43. ブート環境(Boot Environment) ブート可能な複数のOS環境 – x86ではgrub menuから選択可能 更新をzfs cloneベースで行う – 安全・確実 – 停止点の確保=失敗しても元に戻せる – 現在起動中のサービスを停止する必要なし Live Upgrade よりシンプル – パーティションの確保が不要 – 高いディスク利用効率 はじめてのSolaris OSC2013 Tokyo/Fall
  44. 44. Network仮想化(Project Crossbow) NICの仮想化 – 仮想NIC(VNIC)、仮想Switch 帯域制御 – 帯域分割 – リソース制御 – リアルタイムの使用率・履歴 再設計されたネットワークスタック – IPoverIB などとの連携 はじめてのSolaris OSC2013 Tokyo/Fall
  45. 45. NICの管理 データリンク層の管理 – – – – dladm によるデータリンク層の管理 VLAN, link-aggregation(802.3ad), ip tunnel 仮想NIC(VNIC)の作成 Vanity name=自由なNIC名の使用 IP層の管理 – ipadm を使用して、IPの管理 – IPアドレス、Netmask, broadcast, gateway, IPv4/IPv6, … – データリンクに対し、複数のIP設定 はじめてのSolaris OSC2013 Tokyo/Fall
  46. 46. NICの仮想化 仮想NIC(VNIC) 物理NICもしくは仮想switchと接続 仮想switch(etherstub) 仮想NIC同士を接続する、仮想的なswitch Zone Internet Global-Zone VNIC etherstub VNIC NIC VNIC Zone VNIC VNIC はじめてのSolaris OSC2013 Tokyo/Fall Zone
  47. 47. 帯域制御 帯域の分割 – VNIC、サービス、プロトコル、接続毎に優先度や 帯域制限を設定 – dladm で、VNICに帯域制限 – flowadm で、サービス、プロトコル、接続対象 リソース制御 – NIC、VNICが使用するCPUを制限 – pool設定との連携 リアルタイムに使用率・履歴の表示 – dlstat, flowstat を使用 はじめてのSolaris OSC2013 Tokyo/Fall
  48. 48. 再設計化されたネットワークスタック Crossbow ハードウェアレーン       物理マシン 物理NIC switch クラシファ イア ハードウェア リング/DMA VNIC カーネルスレッド 仮想マシ ン/Zone ハードウェア リング/DMA VNIC カーネルスレッド 仮想マシ ン/Zone VNIC カーネルスレッド 仮想マシ ン/Zone ハードウェアレーン ハードウェア リング/DMA はじめてのSolaris OSC2013 Tokyo/Fall
  49. 49. Zoneってなんですか? Zoneは仮想化機能です コンテナとも言ってました 完全仮想化でも準仮想化でもない LXC的な何か HyperVisorがなく、オーバーヘッドがない 親(Global Zoneといいます)からは子(NonGlobal Zone)のプロセスが見える 子から親、もしくは兄弟のプロセスは見えない CPU/MEMなどの制限が可能 はじめてのSolaris OSC2013 Tokyo/Fall
  50. 50. Zoneのいいところ(1) ZFSブート環境とIPSの統合 – IPSでパッケージインストール – ブート環境をZoneで利用可能 – cloneによる容易な複製 Zone単位での管理権限委譲 – RBACを使用して、特定Zoneの管理権限を 特定ユーザに委譲可能 Legacy Zone – Solaris8, 9が動作するZone(Solaris10) – Solaris10が動作するZone(Solaris11) はじめてのSolaris OSC2013 Tokyo/Fall
  51. 51. Zoneのいいところ(2) Network仮想化によりVNICを作成、 多くのZoneで使用可能 Automatic VNIC – 自動的にVNICを作成(Solaris11) ファイルシステムの使用(Solaris11) – 使用出来るファイルシステムの指定 – mount オプションの指定 – 書き込み不可のファイルシステムが可能 はじめてのSolaris OSC2013 Tokyo/Fall
  52. 52. Zoneだとなにがいいのか デプロイが簡単 – zoneadm clone でOK – 領域はZFS上にあるのでクローンするだけ オーバヘッドが少ない – 複数立ち上げても大丈夫 仮想NICを使用可能 – 1ホストで複雑な構成も構築可能 はじめてのSolaris OSC2013 Tokyo/Fall
  53. 53. DTraceっておいしいの? 組み込みのカーネルトレーサ Solaris10以降では入っている プローブがカーネル埋め込み プローブを複数ONにしない限り重くならない カーネル内の特定処理回数も処理時間も測定 できる 専用のスクリプト(Dスクリプト)で処理を書ける FreeBSD, MacOSX でも… はじめてのSolaris OSC2013 Tokyo/Fall
  54. 54. DTrace Toolkit よく使われるものをツール化 JAVA、JavaScript、PHP、Perl、Pythonなど – 処理フロー – 処理時間の計測 ディスク書き込みの頻度の計測 System callの呼び出し頻度 などなどなど… はじめてのSolaris OSC2013 Tokyo/Fall
  55. 55. Solarisを使ってみよう どこから手に入る? どうインストールするの? どうやって使うの? Linuxと何が違うの? Solaris11とOpenIndianaを例に 説明します はじめてのSolaris OSC2013 Tokyo/Fall
  56. 56. どこから手に入る? Solaris10、Solaris11 – Oracleのサイトから – http://www.oracle.co.jp/ → ダウンロード – ODN(Oracle Developers Network)に登録す る必要あり OpenIndiana – OpenIndianaのサイトから – http://openindiana.org/ → ダウンロード CD版かUSB版をダウンロード はじめてのSolaris OSC2013 Tokyo/Fall
  57. 57. USBイメージをUSBメモリに焼く Solaris11、OpenSolaris、OpenIndiana – usbcopy tool を使用 # /usr/bin/usbcopy <USB image path> Windows – OpenSolaris Live USB Creator を使用 http://devzone.sites.pid0.org/OpenSolaris/opensolarisliveusb-creator Linux、BSD、MacOSX – ddを駆使する 以下のページ参照(ただし英語) http://wiki.openindiana.org/oi/Installing+OpenIndiana はじめてのSolaris OSC2013 Tokyo/Fall
  58. 58. インストーラ(1) ライブCDインストーラ – – – – – – CD/USBによりOS起動 レスキューディスクとしても使用可能 GUIによるインストール GPartdによるパーティション設定 ハードウェアの確認 X86版のみ はじめてのSolaris OSC2013 Tokyo/Fall
  59. 59. インストーラ(2) テキストインストーラ – CUIによるインストール – SPARC用は、これで AI(Automated Install) – – – – CD/USBによるブート PXEブート・Networkブート Network経由でインストール JumpStartの代替 はじめてのSolaris OSC2013 Tokyo/Fall
  60. 60. どうやってつかうの? GNOME2 を使用 – Compizも使用可能 gnu バイナリがデフォルトPATHに – POSIX準拠コマンドも使用可能 デフォルトシェルがbashに変更 OpenSoundSystem APIの採用 CUPSを印刷エンジンに採用 あんまり(一昔前の)Linuxと変わらない? はじめてのSolaris OSC2013 Tokyo/Fall
  61. 61. Linuxとは違うのだよ、Linuxとは パッケージシステムIPS SMF POSIX準拠ユーザランド ZFS、NIC、BE、Zoneの管理 – 前述のとおり はじめてのSolaris OSC2013 Tokyo/Fall
  62. 62. IPS(Image Packaging System) SVR4パッケージから変更 – 追加・削除・更新 – 検索 – パッチの概念が無くなる レポジトリからパッケージをインストール – – – – ネットワーク(http[s])経由でアクセス レポジトリサーバを立てることも可能 ミラーサーバー使用可能 SVR4パッケージをレポジトリにインポート可能 はじめてのSolaris OSC2013 Tokyo/Fall
  63. 63. SMF(Service Management Facility) SysV Initから変更 – Solaris10から追加 並列起動 依存関係の定義 プロパティの定義が可能 サービス停止時の動作 – 有効・無効 – 再起動 – 設定変更 はじめてのSolaris OSC2013 Tokyo/Fall
  64. 64. まとめ ZFSサイコー Solarisサイコー Zoneサイコー – OpenIndiana、SmartOSだとKVMも… エンタープライズレベルのOSが 個人でも使えます! はじめてのSolaris OSC2013 Tokyo/Fall
  65. 65. おまけ 日本OpenSolarisユーザーグループ http://www.opensolaris.gr.jp/ ML もやってます OpenSolaris勉強会 カーネルの濃い話を聞きたい方はご参加を 次回は来週 http://connpass.com/event/2315/ はじめてのSolaris OSC2013 Tokyo/Fall
  66. 66. はじめてのSolaris ご静聴ありがとうございました。 はじめてのSolaris OSC2013 Tokyo/Fall

×