Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SASの概要(日本語版)

98fd7d759e70809e826fd3a35e9fe2cb?s=47 hisaotsu
September 17, 2021

 SASの概要(日本語版)

ストレージにコンピューターが読み書きする時に使われるSCSI。このプロトコルを実装するにあたってどんな問題があったかという歴史を少しだけ振り返り、ファイバーチャネルや Serial Attached SCSI (SAS) がどう言う経緯で開発されたのかについてご説明します。また、SASの物理層と上位層についてご紹介し、最後に、SAS ストレージにどんな形で結線されているのかをご説明します。

フィードバックを頂けると幸いです。
https://docs.google.com/forms/d/e/1FAIpQLSeCaLOkTys_Y0UgM_1Gn7HWFC3PBZfhoLDQbil0wo-faYvNjQ/viewform?usp=sf_link

98fd7d759e70809e826fd3a35e9fe2cb?s=128

hisaotsu

September 17, 2021
Tweet

Transcript

  1. 2021/09/10 Hisao Tsujimura SVOS (Sever, Virtualization, and Operating System) File

    System Protocols and ZFS Storage ZFS Storage TOI SASの概要とトラブルシューティング (日本語版)その1 RELEASE 1.1
  2. Our mission is to help people see data in new

    ways, discover insights, unlock endless possibilities.
  3. 本資料は、社内研修資料に基づき、公開文書などから明らかな情報で再構成したものです。 内容については可能な限り正確を期したつもりですが、本資料は現状有姿で提供されます。 本書の情報をご利用いただくにあたっては、自己責任でお願いいたします。 内容が不明瞭などのご質問につきましては、Twitter:hisaotsu にご連絡ください。 おことわり

  4. 4 • SAS 概要 (その1の内容) • SCSIの歴史 • 物理的接続 •

    プロトコルの概要 • トラブルシューティング(その2の内容) • FMA のログから分かること? • SCSIのエラーから分かること? • モジュラーデバッガ( mdb)の logログから見えること • IOMのコマンド出力 / de2cli, de3util おしながき その2の内容は、弊社の器材に依存します。 従って、今回のスライドには、含まれていません。 資料公開にあたって追加した解説は、 この色の背景です。 Copyright © 2021, Oracle and/or its affiliates 公開後ご指摘いただき追加した解説は、 この色の背景です。
  5. 5 SAS はなぜ発明されたか? Copyright © 2021, Oracle and/or its affiliates

  6. 6 コンピュータのアーキテクチャは変わっていない Memory CPU Storage コンピュータシステムの世代が変わって も、コンピュータの部分部分で処理速度 や特性が異なり、結果、データを動かし ている。性能が劣化する原因を解消する 戦いをずっとやっている。

    Copyright © 2021, Oracle and/or its affiliates
  7. 7 • より大きな車? • 車線を増やす? • 制限速度を上げる? • 専用レーンを作る •

    信号機の制御を変える? 市長、交通渋滞にどう対処しましょう? 性能が劣化する原因(ボトルネック)は 都市の交通渋滞が発生している原因と似 ている。どうやって解消していくのか? 市長になって2,3分考えてみましょう。 Copyright © 2021, Oracle and/or its affiliates
  8. 8 データの渋滞をどうさばくか? 交通渋滞 データ渋滞 速い車? より速くデータ処理ができるデバイス より大きな車? 一度に流すデータの量を大きく(ペイロードサイズ) 車線を増やす? おなじタイミングで流せるデータの量を増やす

    より速いスピードリミット? 1秒当たりに流せる信号の数(faster signaling) 専用のレーン 信号の占有、コマンドによる占有などの優遇措置 信号機の制御を変える? バスからネットワーク、タスクマネジメントへ サーバー、ストレージをどう速くするの かとともに、各コンポーネントをつない でいるインターコネクトの性能を良くす ることも大事。(サーバーの中を見ても おなじ問題がある。) Copyright © 2021, Oracle and/or its affiliates
  9. 9 • パラレルSCSI (P-SCSI)の問題を解決 • ノイズ • シグナルのズレ(Signal skew) •

    ケーブルの取り回しと長さの問題 • より速いインターコネクトをより安く • (正直)Fibre Channel は高すぎた • 互換性を確保 Serial Attached SCSI (SAS)とは何か? 銅線とアナログ信号を使ってきた昔の SCSIは問題を解決が困難になるところま で進化し、根本的に設計し直す必要に迫 られた。FCやSASへの進化は、数多く残 るソフトウェア資産を残しつつ、どう進 化させるかの戦いだった。 まずは、どう言う問題を抱えていたか振 り返ってみよう。 Copyright © 2021, Oracle and/or its affiliates
  10. 10 ノイズと戦う: データセンターは最悪な環境 この写真 の作成者 不明な作成者 は CC BY-NC-ND のライセンスを許諾されています

  11. 11 ノイズと戦う: データセンターは最悪な環境 電気が流れれば電磁波が生じる。 CPU、メモリ、電源、ファンなど、数多く の「ノイズ源」に囲まれて、データセン ターは金属のケーブルを使って正しい通 信をさせるには最悪な環境。 ケーブルにシールド材を使ったりもする が、ノイズを拾ったり、近くのケーブル

    の信号を拾ったりするので、ノイズとた たかう必要がある。 Copyright © 2021, Oracle and/or its affiliates この写真 の作成者 不明な作成者 は CC BY-NC-ND のライセンスを許諾されています
  12. Copyright © 2021, Oracle and/or its affiliates 12 ノイズと戦う: Differential

    Signaling Courtesy: Wikipedia – Differential Signaling • 反転信号を同時に送ることで基準が分かる • 余分なケーブルが必要 + = t + t ≅ t - ≅ 送りたい信号を反転させた信号を同時に 送ることで、0ボルトにあたる基準を確定 する。0ボルトのレベルからノイズの載っ た信号の「差」を取ることで、元の信号 に近い信号が再現できる。 ノイズキャンセリングヘッドフォンは周 囲の音をマイクで拾って同様な操作をし、 ノイズを消している。
  13. Copyright © 2021, Oracle and/or its affiliates 13 信号のずれ(理想) ある人に、50mを20秒かけて走って欲し

    いとお願いするとする。1人ならば、そん なに難しくない。 しかし、同時に3人ならどうか?10 mごと に同時についてもらうようにするのはど うか? 周波数の高い信号を同時に送る難しさは この例えに似ている。
  14. Copyright © 2021, Oracle and/or its affiliates 14 信号のズレ(現実) 現実にはスタートを同時にすることも難

    しい。また、距離が伸びれば信号が弱ま り、読み取れなくなる。
  15. Copyright © 2021, Oracle and/or its affiliates 15 理想の信号 信号を電圧がかかっているか、かかって

    いないかで表すことにする。 例えば、0 は0ボルト、1 は 5V のようにし て、横軸に時間を取れば、以下のような グラフになる。 方形波(ほうけいは)は理想だが、こん な波形はあり得ない。0→1、1→0のどちら に移る場合でも瞬間的にはかわらないか らだ。実際には小さなスケールで見れば それなりに時間はかかる。
  16. Copyright © 2021, Oracle and/or its affiliates 16 信号のズレ(タイミングチャート) Reference:

    Defining Skew, Propagation-Delay, Phase Offset, Texas Instruments 2001 信号の立ち上がり、立ち下がり、前後の ズレ(skew) を考えると、実際には、以下 のタイミングチャートのレベルでは考慮 する必要がある。(これでも相当理想 的)
  17. Copyright © 2021, Oracle and/or its affiliates 17 P-SCSI Connector

    Courtesy: Wikipedia – Centronics 50 Connector ノイズと戦ったり、訂正したりといった ことを考えた結果、SCSIケーブルはどん どん取り扱いにくくなった。
  18. Copyright © 2021, Oracle and/or its affiliates 18 • Ultra-320

    SCSI • 68 ピンコネク (16 bits データ = 32 ピン, パリティ 4, 制御 18, ターミネーターの電源 1, GND 7, 予約 2) • 320 MB/sec • デバイス数: 16台まで • 長さの制限: 合計で最高12メーター • Ultra-640 SCSI • 68 ピン • 長さの制限: 合計で最高10メーター • デバイス数: 2 P-SCSIのケーブルは取り回しにくい パラレルSCSIの最後の方の規格。 SAS-1は3Gbps だったので、およそ 300MB/secの帯域だった。Ultra-320はそ ういう意味では善戦しているとも言える が、デバイスの数、ケーブル長は、スト レージを1カ所に集約したりすることには、 全く向いていない。 Ultra-640は机の上に置く以外、使い物に ならない。 ケーブル自身も堅く曲げづらい。
  19. Copyright © 2021, Oracle and/or its affiliates 19 Fibre Channel?

  20. Copyright © 2021, Oracle and/or its affiliates 20 Fibre Channel?

    l 設計の選択: 一度に1ビット、ただし超速い l P-SCSIの問題解決!! l 高い! l 当初、1メーターのケーブルが100ドルほど した。 l 専用のHBA、スイッチ、ケーブルが必要 l 管理が難しい l ケーブルが折れやすくて柔軟性がない(柔 らかいケーブルがでるまでは問題だった) l 専任のSANの管理者が必要。 光ケーブルとシリアル通信、8b-10b変換 のようなエラー訂正技術は魔法のように 問題を解決してくれた。だが、いかんせ ん高すぎた。 「金属の線」でおなじことはできないも のだろうか?
  21. Copyright © 2021, Oracle and/or its affiliates 21 SAS 概要

  22. Copyright © 2021, Oracle and/or its affiliates 22 物理層 Protocol

    Overview
  23. Copyright © 2021, Oracle and/or its affiliates 23 • SAS

    と eSATA SATA は電気的に互換性がある ように設計されている。 • SASにはノッチがありSATAにはノッチがない (黄色の丸) 物理インターフェイス– ドライブ装置 SATAは電気的に互換性が あるが、利用するには HBAおよびドライバー側 で両方のプロトコルをサ ポートしていなければい けない。 PCの内蔵ドライブとして使われていた規格を Serial ATA (SATA)といいます。eSATAはSATAのうち、 外部接続用のインターフェイスを指します。ここで は内蔵ドライブを示しているので、SATAと訂正し ます。
  24. Copyright © 2021, Oracle and/or its affiliates 24 弊社で使っているコネクタ Connector

    Type Models PHYs / Connector Code Name Note SFF-8088 7043628 6Gbps SAS-2 I/O Controller Module 4 Wasabi, Gari DE2-24C, DE2-24P SFF-8087 7314551 16-Port 6Gbps SAS-2 HBA (4x4) 4 Thebe-2 - SFF-8644 7318548 12Gbps SAS-3 I/O Controller Module 8 Wasabi, Gari DE2-24C, DE2-24P SFF-8643 7085207 8-Port SAS3-HBA (12 Gbps) 8 Estes-INT - 最近は光のケーブルもある。 PHY(ファイ)は後ほど説明する。 ケーブルは「Mini SAS-HD ケーブル」等と呼ばれて 流通しており、どのコネクタとケーブルの組み合わ せを使うかは利用者に任されています。 https://www.wikidata.org/wiki/Q65036790
  25. Copyright © 2021, Oracle and/or its affiliates 25 SFF-8644 SFF-8088

    SFF-8643 SFF-8087 コネクタ形状 Reference: SNIA.org SFF Specification ケーブルを抜くには、 ラッチ(Latch) を外す必要 がある。左は、ツメを押 しながら、右はベロ(lid / pull tab) を引きながら抜 いてあげる必要がある。 よくある事故は、無理槍 ケーブルを引いてスイッ チやHBAの受け側コネク タを破壊してしまうケー ス。
  26. Copyright © 2021, Oracle and/or its affiliates 26 ケーブル: 4PHYって何?

    PHYは、1つのデバイスに つなぐための物理結線で、 1組の線のこと。 4PHYと言われたら、4組 入っていて、同時に4デ バイスにつなげると思っ ていただければ良い。 右はSFF-8643のコネクタ (4PHY)からディスク 用のコネクタに1 PHYず つ分配しているケーブル。
  27. 27 • PHY • 「ふぁい」と発音する。 • 送受信に使われる • 簡単には2組のケーブルだと思ってもらえれば良い (Tx

    + Rx がディファレンシャルシグナリング) • ポート • ポートは1以上のPHYからなる。 • 各々のポートには一意の 64ビットのSASアドレスが割り振られる • ナローポート(Narrow port): 1 PHY のポート • ワイドポート(Wide port) : 2 PHY 以上からなるポート PHY とポート ナローポートは各デバイ スへの接続、ワイドポー トは一般的に、帯域が必 要なところ、たとえば、 HBA〜SASのJBODのコン トローラまでのようなと ころに使われる。 Copyright © 2021, Oracle and/or its affiliates
  28. 28 上位層 Upper Layer Copyright © 2021, Oracle and/or its

    affiliates
  29. Copyright © 2021, Oracle and/or its affiliates 29 SAS =

    SSP + SMP + STP Acronym Full Name What It Is SMP Serial Management Protocol • デバイスの場所などの情報を管理する STP Serial ATA Tunneling Protocol • SATAのコマンドを処理する SSP Serial SCSI Protocol • イニシエーター(HBA)とターゲット (LU)の間でやり取りされるSCSIプロト コルを処理する
  30. 30 SASアドレスと、物理ポートを結びつけるテーブルを管理する SAS エクスパンダーとは何か?(弊社では IOM)? PHY Number SAS Addresses Kind

    0 5000cca043a1c081 Disk 1 5000cca043a1a021 Disk 2 5000cca043a31001 Disk 3 5000cca043a54001 Disk 4 5000cca043a540c1 Disk … … … 23 508002000182863 ses 24 508002000182863f smp ドライバの実装にもよる が、一般的にエクスパン ダーのテーブルは定期的 に更新されている。 このテーブルに登録され ていないSASアドレスに はSCSIコマンドは送るこ とができない。 その他の更新のタイミン グとしては、電源ON,エ クスパンダーのリセット、 デバイスの追加、削除、 デバイスのリセットなど がある。 なお、SAS HBAもエクス パンダーである。
  31. 31 SAS Addresses (Disk) 5000cca043a1c081 5000cca043a1c082 SASデバイスには、通常 二つのSASポート(ナ ロー)があり、各々デバ イス固有のアドレスが割

    り振られている。 デバイスのアドレスは近 いアドレスが振られるこ とが多い。
  32. 32 SAS Expander (IOM/SIM) IOM/SIM ses target: 508002000182863e smp target:

    508002000182863f エクスパンダには、SMP 用のアドレスと、SASで アクセスするためのアド レスが振られている。 Oracle Solarisの場合は、 SASアドレスの方から ディスクトレーに入って いるデバイスの一覧を取 得している。(sesと書か れているもの) 通常比較的近いアドレス が振られているほか、別 途エクスパンダを代表す るアドレスが振られてい る場合もある。
  33. 33 1 Tray JBOD Configuration (SAS) HBA Port#1 HBA Port#2

    x4 PHYs x4 PHYs IOM (SAS Expander) IOM (SAS Expander) エンタープライズ用途の ストレージでは、HBA、 エクスパンダー、ドライ ブ装置などに不具合が あった場合を考え、2つの 経路を用意するのが一般 的。 例はSAS-2の場合。 弊社の場合、SAS-3 は8 PHYのケーブル を使っている。 (光もある)
  34. 34 Multiple Trays HBA Port#1 HBA Port#2 x4 PHYs x4

    PHYs 12 12 x12 PHYs x12 PHYs x12 PHYs x12 PHYs Tray 1 Tray 2 4 PHYs 4 PHYs 複数トレーある場合は、逆向きに結 線(一方は上から、他方は下から) することで、トレー自体の障害に耐 えられるようにしている。 ちょっと宣伝: ZFS Storage は ZFS プールを作るときに、 トレー障害に耐えら れる構成ができる。 手作業での構成時に は、トレー電源喪失 でもプールの冗長性 が保てるように注意 が必要。
  35. Copyright © 2021, Oracle and/or its affiliates 35 パート1の終わり。 ご清聴ありがとうございました。

  36. Copyright © 2021, Oracle and/or its affiliates 36 • Oracle®

    ZFS Storage Appliance Cabling Guide https://docs.oracle.com/cd/F13758_01/html/F13768/index.html • Dell Forum answer (SAS v SATA) https://www.dell.com/community/PowerEdge-Hardware-General/Dell-server-3-5-SATA-drive/td- p/7679955 • Wikipedia – Differential Signaling • Defining Skew, Propagation-Delay, Phase Offset, Texas Instruments 2001 https://www.ti.com/lit/an/scaa055/scaa055.pdf?ts=1624948333048&ref_url=https%253A%252F%2 52Fwww.google.com%252F • SNIA.org SFF Specification https://www.snia.org/technology-communities/sff/specifications • In-Depth Exploration of Serial Attached SCSI, Solution Technology References
  37. None