夢想散極彩

夢想、或いは眠りながら生きた日々の続き

【読書メモ】絵で見てわかるITインフラの仕組み

タイトル:絵で見てわかるITインフラの仕組み (DB SELECTION)
作者:山崎泰史,三縄慶子,畔勝洋平,佐藤貴彦,小田圭二
出版社/メーカー:翔泳社
発売日: 2012/09/19

非常に内容の濃い本。
システムトータルを考えるために必要なインフラ知識の欠損を補うことができる。
ITアーキテクチャに関わるSEは必ず抑えておくべき内容。
(インフラエンジニアの場合でも、全体俯瞰という意味では役立つかも)

SIerのSEは本書の内容理解を必須にすべき。

目次

CHAPTER 1 インフラアーキテクチャを見てみよう
1.1 はじめに
1.2 集約型と分割型アーキテクチャ
1.3 垂直分割型アーキテクチャ
1.4 水平分割型アーキテクチャ
1.5 地理分割型アーキテクチャ
CHAPTER 2 サーバーを開けてみよう
2.1 物理サーバーとは
2.2 CPU とは
2.3 メモリとは
2.5 バス
2.6 まとめ
CHAPTER 3 3階層型システムを見てみよう
3.1 3階層型システムの図解
3.2 主要概念の説明
3.3 Web データの流れ
CHAPTER 4 インフラを支える理論の基本
4.1 直列/並列
4.2 同期/非同期
4.3 キュー
4.4 排他制御
4.5 ステートフル/ステートレス
4.6 可変長/固定長
4.7 データ構造(配列と連結リスト)
4.8 探索アルゴリズム(ハッシュ/ ツリーなど)
CHAPTER 5 インフラを支える理論の応用
5.1 キャッシュ
5.2 割り込み
5.3 ポーリング
5.4 ピンポン
5.5 ジャーナリング
5.6 レプリケーション
5.7 マスター・スレーブ
5.8 圧縮
5.9 エラーチェック/誤り訂正
CHAPTER 6 システムをつなぐネットワークの仕組み
6.1 ネットワーク
6.2 【基礎】階層構造とは
6.3 【基礎】プロトコルとは
6.4 TCP/IP による今日のネットワーク
6.5 【レイヤー7】アプリケーション層のプロトコルHTTP
6.6 【レイヤー4】トランスポート層のプロトコルTCP
6.7 【レイヤー3】ネットワーク層のプロトコルIP
6.8 【レイヤー2】データリンク層のプロトコルEthernet
6.9 TCP/IP による通信のその後
CHAPTER 7 止めないためのインフラの仕組み
7.1 耐障害性、冗長化とは
7.2 サーバー内冗長化
7.3 ストレージ冗長化
7.4 Web サーバーの冗長化
7.5 AP サーバーの冗長化
7.6 DB サーバーの冗長化
7.7 ネットワーク機器の冗長化
7.8 サイトの冗長化
7.9 監視
7.10 バックアップ
CHAPTER 8 性能を引き出すためのインフラの仕組み
8.1 レスポンスとスループット
8.2 ボトルネックとは
8.3 3階層型システム図から見たボトルネック
8.4 まとめ

メモ

◆用語
◇ハードウェア
・QPI ( Intel QuickPath Interconnect )
 CPU - メモリ間を接続する技術。従来のFSB(Front Side Bus)を置き換えている。

・HBA ( Host Bus Adapter )
 コンピュータの拡張スロットに刺すインタフェース用カードの総称。
 SCSI、SATA、FCなどストレージ系が代表的だが、NICやUSBインタフェースを含むこともある。

・ICH ( I/O Contoroller Hub )
 低速なI/Oを処理するための技術。サウスブリッジ。
 2000年代のPCではIOHとセットのアーキテクチャ設計が多かった。

・IOH ( I/O Hub ) 関連:MCH (Memory Contoroller Hub )
 高速なI/Oを処理するための技術。ノースブリッジ。従来はメモリやSCSIの接続先であったが、
 現在のIntelチップセットではMCH機能(メモリのI/O管理)がCPUに統合されている。
 そのため、ICH(サウスブリッジ)で行っていた処理をIOHにまとめられており、Intel
 モダンチップセット(2013/09時点)では、ノースブリッジ、サウスブリッジの区別はなくなっている。

 [参考]
  X58 Block Diagram ※IOH + ICHの例
  http://en.wikipedia.org/wiki/File:X58_Block_Diagram.png

  インテル® Z87 チップセット搭載プラットフォームのブロック図 ※Z87がIOH(CH)+ICHにあたる
  http://www.intel.co.jp/content/www/jp/ja/chipsets/performance-chipsets/z87-chipset-diagram.html

  PCからノースブリッジが消える日 ※アーキテクチャの推移
  http://pc.watch.impress.co.jp/docs/2008/0122/kaigai411.htm

◇ネットワーク
・MSS ( Maximum Segment Size )
 1TCPセグメントに格納可能な最大サイズ。このサイズに対しTCPヘッダ(20byte)が付加される。

・MTU ( Maximum Transmission Unit )
 IPパケットの最大サイズ。TCPヘッダ、IPヘッダを含む。
 IPv4ヘッダは20byteのため、TCPヘッダと合わせて40byteとなり、MTUが1500byteの場合、
 効率的な転送を行うためにはMSSは1460byteとする必要がある。

Ethernetフレーム
 IPパケットにEthernetヘッダ、Ethernetトレイラを付加したもの。

 [参考]
 MTU / MSS / RWIN
 http://www.infraexpert.com/info/5adsl.htm

・トランクポート( Trunk Port ) / トランクリンク ( Trunk Link )
 VLANを使用する場合に、L2/L3スイッチ間を接続し、1ポートの接続で
 複数のVLANフレームを転送できるポート。
 なお、通常の1LAN用のポートのことをアクセスポート、その接続のことをアクセスリンクと呼ぶ。

・ブロッキングポート
 SPTにて論理的にせき止められたポート。

・SPT ( Spanning Tree Protocol )
 スイッチに搭載されている、ネットワークの経路情報を管理する仕組み。
 通常は最適な1経路を維持し、不要な経路をブロックする(ブロッキングポート)。
 ネットワーク障害発生時には、経路を再計算し、別経路を通るよう制御を行う。

・ポーリング ( Polling)
 様々な対象に定期問合せを行うこと。5分に一度ステータスを確認する、など。

◆内容メモ
・ネットワークアクセスの概略
 [クライアントプロセス]
  ブラウザ等→HTTPリクエスト発生→ソケット生成→システムコール→(カーネルへ)
 [カーネル]
  TCPセグメント化→IPパケット化→Ethernetフレーム化→ドライバにキューイング→(NICへ)
 [NIC以降]
  L2スイッチ→L3スイッチ(ルータ)→(相手ネットワークへ)

・システムの動作はとにかくシステムコール
 NIC、HDD、PCIe等、CPU周り以外は基本的にカーネルへのシステムコールによって動作する。

・3層構造(サーバ)
 3層アーキテクチャ(プレゼンテーション層、アプリケーション層、データ層)に基づく構造。
 Webサーバ - APサーバ - DBサーバの構成。MVCとは概念が異なる。
 3層ではWeb-DB間通信は発生しないが、MVCのトポロジではView -Model間の通信が発生。