20140419【qpstudy】osとnw設計の勘所

43
OSとネットワーク設計の勘所 おおむら@yktko

Upload: yukitaka-ohmura

Post on 28-May-2015

10.195 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: 20140419【qpstudy】OSとNW設計の勘所

OSとネットワーク設計の勘所

おおむら@yktko

Page 2: 20140419【qpstudy】OSとNW設計の勘所

自己紹介• おおむら ゆきたか • @yktko

• SIerなのに         IaaSの中の人

• qpstudyスタッフ

• CloudStackユーザ会

• にーちゃん→おっさん

Page 3: 20140419【qpstudy】OSとNW設計の勘所

勘所 =ものごとの肝心なところ

Page 4: 20140419【qpstudy】OSとNW設計の勘所

勘所≒ノウハウ=失敗経験

Page 5: 20140419【qpstudy】OSとNW設計の勘所

おっさんの小言と 冷酒は あとで効く

Page 6: 20140419【qpstudy】OSとNW設計の勘所
Page 7: 20140419【qpstudy】OSとNW設計の勘所

#ITインフラ親父の小言• 流してみた

Page 8: 20140419【qpstudy】OSとNW設計の勘所

• ITインフラ親父多いw

http://togetter.com/li/656368

Page 9: 20140419【qpstudy】OSとNW設計の勘所

OSとネットワーク設計の 勘所おっさんの小言

Page 10: 20140419【qpstudy】OSとNW設計の勘所

OSとネットワーク設計の 勘所おっさんの小言

1. レイヤ感覚

2. 時間感覚

3. トラブル感覚

Page 11: 20140419【qpstudy】OSとNW設計の勘所

OS/ネットワーク設計の勘所(その1)

レイヤ感覚

Page 12: 20140419【qpstudy】OSとNW設計の勘所

レイヤ感覚とは?• OSやNWでだいたいどこが何をやっているのかわかること • 何かするとき具体的にどこで処理が行われているかわかること

カーネル

ネットワーク※図はインターネットから頂きました ディスクIO

Page 13: 20140419【qpstudy】OSとNW設計の勘所

ネットワークの経路

NIC スイッチ ルータ FW LAN/WAN

OS

アプリ

Page 14: 20140419【qpstudy】OSとNW設計の勘所

ネットワークのレイヤ感レイヤ 問題になりそうなところ OSIレイヤアプリ コネクション管理、タイマ 5~7

NWスタック パケット分割・送信処理 4~2NICドライバ カーネル/NICとの相性 1~2NIC リンク方式、ファーム 1~2

ケーブル等 物理的破損 0スイッチ リンク速度、MAC重複 1~2ルータ ルーティング 3FW アクセス制御 3~4WAN 網障害 0~4その先 それ俺ですか 10

Page 15: 20140419【qpstudy】OSとNW設計の勘所

ディスクアクセスの経路

サーバ サーバ サーバ

Page 16: 20140419【qpstudy】OSとNW設計の勘所

ディスクアクセスのレイヤ感レイヤ 問題になりそうなところアプリ アプリ実装(CPU使用率のusrが高い)

ファイルシステム FSの特性(RW速度はext4<<xfs)キャッシュ OSキャッシュの乗り方IOスケジューラ カーネルスケジューラの特性ドライバ バグ、相性

CNA/NIC/HBA ファームバグ/リンク速度通信経路 物理破損、スイッチなど

コントローラ コントローラCPU使用率キャッシュ ストレージアーキテクチャディスク そのものの性能、RAID構成

Page 17: 20140419【qpstudy】OSとNW設計の勘所

カーネルのレイヤ感• Kernel Panicになってもサジを投げない

• 関数名を見ればだいたい問題箇所がわかる

• ドライババグやメモリ不足に起因する事象が多い

http://manual.atmark-techno.com/armadillo-guide/armadillo-guide-1_ja-2.0.0/ch02.html

Page 18: 20140419【qpstudy】OSとNW設計の勘所

レイヤ感覚• ネットワークのレイヤ感 • カーネルのネットワークスタック • OSIモデル

• ディスクアクセスのレイヤ感 • カーネルのデバイスアクセス構成 • SAN • ストレージアーキテクチャ

• カーネルのレイヤ感 • カーネルの大まかな構造

Page 19: 20140419【qpstudy】OSとNW設計の勘所

参考資料

• 「Linuxカーネル解読室」 • Linuxカーネル2.6系の概要を知るのにオススメ

• 最近のオススメがあれば教えてください

http://sourceforge.jp/projects/linux-kernel-docs/wiki/%E7%9B%AE%E6%AC%A1

Page 20: 20140419【qpstudy】OSとNW設計の勘所

CM: お気に入りの日本酒

山形 出羽桜酒造

「出羽桜」純米吟醸

Page 21: 20140419【qpstudy】OSとNW設計の勘所

OS/ネットワーク設計の勘所(その2)

時間感覚

Page 22: 20140419【qpstudy】OSとNW設計の勘所

OS/ネットワーク設計の勘所(その2)

お前それ

1年後でも

同じこと言えんの?

Page 23: 20140419【qpstudy】OSとNW設計の勘所

cronの罠• 先輩: ちょっとバックアップとっといて

• あなた:はい

!

• 先輩: はいじゃないが

• #vi /etc/crontab • 1 * * * * * root tar cvzf /tmp/uploads-`date +%Y%m%d`.tgz -C /var/www/html uploads

Page 24: 20140419【qpstudy】OSとNW設計の勘所

数ヵ月後• ログインしたら毎回メッセージ出ませんか • you have new mail in /var/spool/mail/root

• サーバがへんな動きしてませんか • File System Full

• ls ‒l /var/spool/mail/root • ああああ

• ls -l /tmp • うぇぇぇ

• df, du -k /tmp • くぁsdsかだしfじゃlsdかjsjdlふじこp

Page 25: 20140419【qpstudy】OSとNW設計の勘所

cronの罠• cronの標準出力はファイルに出す • 自動化するとき、おっさんとの約束

お前それ

1年後でも

同じこと言えんの?

Page 26: 20140419【qpstudy】OSとNW設計の勘所

ログのローテーション• ログ抜け、ログ溢れ、監視できてない • ローテーション方式

!

!

• ログ切り替えタイミング

方式 内容 注意コピー退避 別ファイルにコピー コピー中の抜け

オリジナル移動 元ファイルを移動 書出先FDをリセット

方式 内容 注意サイズ固定切り替え 一定サイズで切替 時間で切れないサイズ固定上書き 一定サイズで戻る 消える時間で切替 一定時刻で切替 ディスク溢れ件数固定 一定件数で切替 消える

Page 27: 20140419【qpstudy】OSとNW設計の勘所

えいえんはあるよないよ208.5日

248日

497日

2004/01/11

2012/07/01

2038/01/19

http://irs.ietf.to/past/docs_20080808/2008-09-11-IRS17-XXX-days-Problems-nishino.pdfhttp://itpro.nikkeibp.co.jp/free/NC/NEWS/20040202/139212/

Page 28: 20140419【qpstudy】OSとNW設計の勘所

えいえんはあるよないよ• カウンタ溢れ系のバグが見つかってOSはどっかで再起動する日が来る →メンテの計画を

• 208.5 →TSCカウンタ。OSが落ちる / リブート後起動しなくなる。

• 248  →1/10秒精度カウンタ。Oracle Clientハングとか。

• 497  →1/100秒精度カウンタ。カーネル2.4の時に問題があった。

• 2004/01/11 →2038年の半分。ATMの誤動作が発生した。

• 2012/07/01 →うるう秒。MySQLなどでCPUが高負荷に。

• 2038/01/19 →UNIX TIME time_t(int)型の秒カウンタ。

http://irs.ietf.to/past/docs_20080808/2008-09-11-IRS17-XXX-days-Problems-nishino.pdfhttp://itpro.nikkeibp.co.jp/free/NC/NEWS/20040202/139212/

Page 29: 20140419【qpstudy】OSとNW設計の勘所

時間感覚

• cronの罠

• ログのローテーション

• えいえんはあるよないよ

Page 30: 20140419【qpstudy】OSとNW設計の勘所

CM: お気に入りの日本酒

富山 清都酒造場

「勝駒」純米吟醸

Page 31: 20140419【qpstudy】OSとNW設計の勘所

OS/ネットワーク設計の勘所(その3)

トラブル感覚

Page 32: 20140419【qpstudy】OSとNW設計の勘所

サーバを「触診」する1. コンソールにログインしたらログイン画面が出る(何を言ってry

2. 何もしていないのに帯域いっぱいの通信が出ていく

3. ssh接続しようとしても繋がらずタイムアウトする

4. ssh接続しようとしてもパスワードのプロンプトが出るのが遅い

5. sshでログインするとプロンプトが出るのに数分かかる

6. lsしても返ってくるのが遅い

7. -bash: ls: command not found

8. : bad interpreter: そのようなファイルやディレクトリはありません

Page 33: 20140419【qpstudy】OSとNW設計の勘所

こんな風に考える1. /bin/bashが無いかクラックされてる

2. クラックされてDoSの攻撃元になってる

3. sshdが落ちたかFWで蹴られている

4. IPアドレスの逆引き設定がおかしい

5. メモリ不足でスラッシングが発生している

6. そのディレクトリに大量のファイルがある

7. $PATHがおかしいか/bin/bashが無いか

8. シェルスクリプトの改行コードがCRLF • od ‒t xCzで確認を

Page 34: 20140419【qpstudy】OSとNW設計の勘所

システムバックアップありますか• データはいいけどOS領域壊れたらどうすんの? • いみゅーたぶ(略 • システムバックアップの取り方、リストアのやり方も考える

• リリース前に必ずリストアできることを確認 • 怖い。でもやるべし。 • RAID1の片方を外してテストするとか • リストア後のシステムで運用するルールとか

• acronisとかイメージ系バックアップいいけど • 取った後の構成管理・変更管理をきっちりやる • お前それ1年後も使えるの?

Page 35: 20140419【qpstudy】OSとNW設計の勘所

屍は生ける師なり• 四の五の言わずログを取れ • アクセスログ • エラーログ • パフォーマンスログ • 監査ログ

• OSが死んだとき、事実を語るのはログしかない • クラッシュダンプも取れるようにしておくとよい • 最近はメモリサイズがでかいのが困りもの…

財前五郎@白い巨塔

Page 36: 20140419【qpstudy】OSとNW設計の勘所

屍は生ける師なり

• 障害対応の流れは決まっている • 事実を正確に把握する • 原因を推測する • 推測した原因が正しいことを検証する • 対処を実施する • 障害が回復したことを検証する

Page 37: 20140419【qpstudy】OSとNW設計の勘所

奥山清行氏の言葉

• いつ来るか分からない15分のために 常に準備をしているのがプロ

• 来ないかもしれないからと言って 準備をしないのがアマチュア

工業デザイナー(イタリア人以外で初めてフェラーリをデザインした男)

http://gigazine.net/news/20110908_moonshot_design_cedec2011/

Page 38: 20140419【qpstudy】OSとNW設計の勘所

トラブル感覚

• サーバを「触診」する

• システムバックアップありますか

• 屍は生ける師なり

Page 39: 20140419【qpstudy】OSとNW設計の勘所

OSとネットワーク設計の 勘所おっさんの小言

1. レイヤ感覚

2. 時間感覚

3. トラブル感覚

Page 40: 20140419【qpstudy】OSとNW設計の勘所

勘所≒ノウハウ=失敗経験

Page 41: 20140419【qpstudy】OSとNW設計の勘所

初心者の方へ 「もっと失敗しよう」

Page 42: 20140419【qpstudy】OSとNW設計の勘所

おっさんの小言と

冷酒は

あとで効く

Page 43: 20140419【qpstudy】OSとNW設計の勘所

ありがとうございました