大規模商用linuxの適用拡大に向けた取り組み ~コ …...トラブル事例紹介...

25
Copyright©2014 NTT Corp. All Rights Reserved. 大規模商用Linuxの適用拡大に向けた取り組み ~コミュニティにおけるノウハウ共有の必要性~ 吉川 拓哉 NTT OSSセンタ 20141112EUM 2014

Upload: others

Post on 24-May-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 大規模商用Linuxの適用拡大に向けた取り組み ~コ …...トラブル事例紹介 Linux(RHEL 6) サーバ(x86 NUMA) いろいろなノウハウがある一方、システム構築に苦しんでいる現状がある

Copyright©2014 NTT Corp. All Rights Reserved.

大規模商用Linuxの適用拡大に向けた取り組み ~コミュニティにおけるノウハウ共有の必要性~

吉川 拓哉

NTT OSSセンタ

2014年11月12日

EUM 2014

Page 2: 大規模商用Linuxの適用拡大に向けた取り組み ~コ …...トラブル事例紹介 Linux(RHEL 6) サーバ(x86 NUMA) いろいろなノウハウがある一方、システム構築に苦しんでいる現状がある

1 Copyright©2014 NTT Corp. All Rights Reserved.

目次

• 自己紹介

• Linuxサーバの現状把握

• トラブル事例紹介

• ノウハウ共有とその課題

Page 3: 大規模商用Linuxの適用拡大に向けた取り組み ~コ …...トラブル事例紹介 Linux(RHEL 6) サーバ(x86 NUMA) いろいろなノウハウがある一方、システム構築に苦しんでいる現状がある

2 Copyright©2014 NTT Corp. All Rights Reserved.

自己紹介

• NTT OSSセンタでOSS関連業務に従事

• OS(Linux)に関するサポート業務

• コミュニティ活動

事業会社

SI会社

問合せ対応、 導入支援、

プロダクト保守等

技術検証、検証済OSSの導

入推進

プロダクト/ ツール類の拡充

技術者育成、人材交流

各種 OSS コミュニティ

社内システムの 設計・開発・運用

NTTグループ各社

サポート ベンダ、

NTT 研究所等

お客様

サポート 連携

開発 連携

①OSSトータルサポート

NTT OSSセンタ

②OSS適用推進

③技術開発 (DBMS,高可用ミドル等)

④ソフトウェア 基盤技術力向上

年間2,000件近い 問い合わせに対応

Page 4: 大規模商用Linuxの適用拡大に向けた取り組み ~コ …...トラブル事例紹介 Linux(RHEL 6) サーバ(x86 NUMA) いろいろなノウハウがある一方、システム構築に苦しんでいる現状がある

3 Copyright©2014 NTT Corp. All Rights Reserved.

Linuxサーバの利用形態と活用目的

ハイエンドユーザ (性能指向が高いユーザ)

一般的な企業ユーザ

個人レベルのユーザ

Page 5: 大規模商用Linuxの適用拡大に向けた取り組み ~コ …...トラブル事例紹介 Linux(RHEL 6) サーバ(x86 NUMA) いろいろなノウハウがある一方、システム構築に苦しんでいる現状がある

4 Copyright©2014 NTT Corp. All Rights Reserved.

Linuxサーバの利用形態と活用目的

ハイエンドユーザ (性能指向が高いユーザ)

一般的な企業ユーザ

個人レベルのユーザ

サービス規模の追求がメイン、そのためにかけるコストも大きく、開発コミュニティの注目も受けやすい

• 世界規模のインターネットサービス • 莫大な数のサーバ群 • 巨額の開発費

• サービスをスケールさせて回収 • 数%の性能向上が大きな利益 • 大量のエンジニアを囲い込み

Page 6: 大規模商用Linuxの適用拡大に向けた取り組み ~コ …...トラブル事例紹介 Linux(RHEL 6) サーバ(x86 NUMA) いろいろなノウハウがある一方、システム構築に苦しんでいる現状がある

5 Copyright©2014 NTT Corp. All Rights Reserved.

Linuxサーバの利用形態と活用目的

ハイエンドユーザ (性能指向が高いユーザ)

一般的な企業ユーザ

個人レベルのユーザ 決まった性能要件を満たしつつ、ベンダロックイン回避やTCO削減を達成したい。一般的だが話題になりにくい

• サービス範囲が限定的 • システム構築費用を抑えたい • 性能要件を満たせればよい • エンジニアは限定的

Page 7: 大規模商用Linuxの適用拡大に向けた取り組み ~コ …...トラブル事例紹介 Linux(RHEL 6) サーバ(x86 NUMA) いろいろなノウハウがある一方、システム構築に苦しんでいる現状がある

6 Copyright©2014 NTT Corp. All Rights Reserved.

Linuxサーバの利用形態と活用目的

ハイエンドユーザ (性能指向が高いユーザ)

一般的な企業ユーザ

個人レベルのユーザ

用途は多様。企業ユーザと異なり、制約がない分、バグ報告や機能開発などでの貢献が自由という特徴あり

• 開発用やデスクトップ環境など

Page 8: 大規模商用Linuxの適用拡大に向けた取り組み ~コ …...トラブル事例紹介 Linux(RHEL 6) サーバ(x86 NUMA) いろいろなノウハウがある一方、システム構築に苦しんでいる現状がある

7 Copyright©2014 NTT Corp. All Rights Reserved.

Linuxサーバの利用形態と活用目的

裾野の広いユーザ程、増加するノウハウへの対応、習熟、蓄積は困難に

ハイエンドユーザ (性能指向が高いユーザ)

一般的な企業ユーザ

個人レベルのユーザ

新しいハードウェアを活用するユーザの裾野を広げるためにはノウハウが共有される必要がある

Page 9: 大規模商用Linuxの適用拡大に向けた取り組み ~コ …...トラブル事例紹介 Linux(RHEL 6) サーバ(x86 NUMA) いろいろなノウハウがある一方、システム構築に苦しんでいる現状がある

8 Copyright©2014 NTT Corp. All Rights Reserved.

最近の商用Linuxサーバの傾向

• 増加するサーバリソース対応 • NUMAなどの構成をアプリに意識させずに最適化を目指す機能なども開発

カーネル

サーバ

• コア数の増加、大容量メモリ搭載、NUMA • 10G/40G対応(HW支援機能搭載)

NUMAマシンでは数10コアや数10GBメモリは普通、100GBを超すメモリの場合も

Page 10: 大規模商用Linuxの適用拡大に向けた取り組み ~コ …...トラブル事例紹介 Linux(RHEL 6) サーバ(x86 NUMA) いろいろなノウハウがある一方、システム構築に苦しんでいる現状がある

9 Copyright©2014 NTT Corp. All Rights Reserved.

最近の商用Linuxサーバの傾向

• 増加するサーバリソース対応 • NUMAなどの構成をアプリに意識させずに最適化を目指す機能なども開発

カーネル

サーバ

NUMAマシンでは数10コアや数10GBメモリは普通、100GBを超すメモリの場合も

• コア数の増加、大容量メモリ搭載、NUMA • 10G/40G対応(HW支援機能搭載)

Linuxサーバ上のアプリに搭載されたリソースを活用させてシステムの性能要件を満たしたい

Page 11: 大規模商用Linuxの適用拡大に向けた取り組み ~コ …...トラブル事例紹介 Linux(RHEL 6) サーバ(x86 NUMA) いろいろなノウハウがある一方、システム構築に苦しんでいる現状がある

10 Copyright©2014 NTT Corp. All Rights Reserved.

トラブル事例紹介

Linux(RHEL 6)

サーバ(x86 NUMA)

いろいろなノウハウがある一方、システム構築に苦しんでいる現状がある

DB(PostgreSQL 9)

事例として、一般的企業がLinuxを使いDBサーバを

構築した場合のトラブルと、それにどう対処したかを紹介します

Page 12: 大規模商用Linuxの適用拡大に向けた取り組み ~コ …...トラブル事例紹介 Linux(RHEL 6) サーバ(x86 NUMA) いろいろなノウハウがある一方、システム構築に苦しんでいる現状がある

11 Copyright©2014 NTT Corp. All Rights Reserved.

事例1:THP との相性の問題

ページ

ページ

通常のページ

ヒュージページ

メモリ

ページ数が多く管理オーバーヘッド大

...

≥ 64GB

大容量メモリに対応するため、APに意識させない形で、カーネルがヒュージページ機能を利用している

...

Page 13: 大規模商用Linuxの適用拡大に向けた取り組み ~コ …...トラブル事例紹介 Linux(RHEL 6) サーバ(x86 NUMA) いろいろなノウハウがある一方、システム構築に苦しんでいる現状がある

12 Copyright©2014 NTT Corp. All Rights Reserved.

ページ数が多く管理オーバーヘッド大 ...

事例1:THP との相性の問題

ページ

ページ

通常のページ

ヒュージページ

初期のRHEL 6では、THP機能が不安定で、DBサーバとの相性も良くなかった

メモリ

...

≥ 64GB

大容量メモリに対応するため、APに意識させない形で、カーネルがヒュージページ機能を利用している

THPを無効化し、性能要件を満たしつつ安定動作するようチューニングを実施

Page 14: 大規模商用Linuxの適用拡大に向けた取り組み ~コ …...トラブル事例紹介 Linux(RHEL 6) サーバ(x86 NUMA) いろいろなノウハウがある一方、システム構築に苦しんでいる現状がある

13 Copyright©2014 NTT Corp. All Rights Reserved.

事例2:NUMA対応の問題

数10GBのメモリを搭載するx86サーバは一般的にNUMAマシン

タスクをどこに配置するかが性能に影響する

遠い(遅い)

近い(速い)

Page 15: 大規模商用Linuxの適用拡大に向けた取り組み ~コ …...トラブル事例紹介 Linux(RHEL 6) サーバ(x86 NUMA) いろいろなノウハウがある一方、システム構築に苦しんでいる現状がある

14 Copyright©2014 NTT Corp. All Rights Reserved.

遠い(遅い)

近い(速い)

事例2:NUMA対応の問題

数10GBのメモリを搭載するx86サーバは一般的にNUMAマシン

タスクをどこに配置するかが性能に影響する

片方のノードに収まらないメモリを使用する場合に、偏りが生じ、動作が不安定に AP(PostgreSQL)の使用メモリ

メモリを均等に使用するメモリインタリーブモードの適用により、動作を安定化

Page 16: 大規模商用Linuxの適用拡大に向けた取り組み ~コ …...トラブル事例紹介 Linux(RHEL 6) サーバ(x86 NUMA) いろいろなノウハウがある一方、システム構築に苦しんでいる現状がある

15 Copyright©2014 NTT Corp. All Rights Reserved.

プロジェクト視点でみた問題

アプリ固有のチューニング

カーネルの新機能

サーバに適した設定

ノウハウは散在していて信頼性も疑問

システム・案件ごとに同種の問題とその対応ノウハウが多数存在する

クラウド化が万能の処方箋ではない

プロジェクトごとに多数のノウハウを保持しなくてもいいように、共有されたノウハウが欲しい

Page 17: 大規模商用Linuxの適用拡大に向けた取り組み ~コ …...トラブル事例紹介 Linux(RHEL 6) サーバ(x86 NUMA) いろいろなノウハウがある一方、システム構築に苦しんでいる現状がある

16 Copyright©2014 NTT Corp. All Rights Reserved.

現在のノウハウ共有の課題

• ノウハウの散在

• ノウハウの陳腐化・ 最新情報の不足

• ノウハウ間の相性の問題

Page 18: 大規模商用Linuxの適用拡大に向けた取り組み ~コ …...トラブル事例紹介 Linux(RHEL 6) サーバ(x86 NUMA) いろいろなノウハウがある一方、システム構築に苦しんでいる現状がある

17 Copyright©2014 NTT Corp. All Rights Reserved.

ノウハウの散在

• MLや個人ブログなどにノウハウが散在

• 情報の収集が困難

• 信頼できる情報か判断が難しい

開発コミュニティのサイトなど、信頼できる場所に重要なノウハウは集約されるべき

Page 19: 大規模商用Linuxの適用拡大に向けた取り組み ~コ …...トラブル事例紹介 Linux(RHEL 6) サーバ(x86 NUMA) いろいろなノウハウがある一方、システム構築に苦しんでいる現状がある

18 Copyright©2014 NTT Corp. All Rights Reserved.

ノウハウの陳腐化・ 最新情報の不足

• NUMAマシンなどのスペックに未対応

• 10年前のサーバスペックを前提としたまま

• 開発者個人のマシンを前提とするものも多い

• 在宅勤務でデスクトップのみ使用する場合は多い

• 商用ユーザからのフィードバックは不足しがち

商用ユーザのフィードバックに基づいてノウハウを蓄積する仕組みを強化すべき

Page 20: 大規模商用Linuxの適用拡大に向けた取り組み ~コ …...トラブル事例紹介 Linux(RHEL 6) サーバ(x86 NUMA) いろいろなノウハウがある一方、システム構築に苦しんでいる現状がある

19 Copyright©2014 NTT Corp. All Rights Reserved.

ノウハウの陳腐化・ 最新情報の不足(続き)

• アプリ開発が古いカーネルを前提としている

• 新しいカーネルの機能を使いこなせない

• 改善に向けた動きもあり

• Linuxコミュニティとの交流

2014年の Linux Storage, Filesystem, and Memory Management summit で PostgreSQL 開発者が発表

新しいカーネルの機能に対する適切な設定などがタイムリーに提供されるよう連携を強めるべき

Page 21: 大規模商用Linuxの適用拡大に向けた取り組み ~コ …...トラブル事例紹介 Linux(RHEL 6) サーバ(x86 NUMA) いろいろなノウハウがある一方、システム構築に苦しんでいる現状がある

20 Copyright©2014 NTT Corp. All Rights Reserved.

ノウハウ間の相性の問題

• 組み合わせても両立しないことが多い

• 特定のアプリや構成のためのものが多い

• 全てを考慮するには数が多すぎる

• 全体最適化は考慮できていない

PostgreSQLなどのアプリごとに、商用サーバ上で大きな

トラブルなく動かすための実用的で単純なノウハウをまとめるべき

Page 22: 大規模商用Linuxの適用拡大に向けた取り組み ~コ …...トラブル事例紹介 Linux(RHEL 6) サーバ(x86 NUMA) いろいろなノウハウがある一方、システム構築に苦しんでいる現状がある

21 Copyright©2014 NTT Corp. All Rights Reserved.

ノウハウ共有の改善に向けて

アプリごとに、商用サーバ上で大きなトラブルなく動かすための実用的で単純なノウハウをまとめる

開発コミュニティのサイトなど、信頼できる場所に重要なノウハウを集約

商用ユーザのフィードバックに基づいてノウハウ蓄積する仕組みを強化

新しいカーネルの機能に対する適切な設定などがタイムリーに提供されるようにコミュニティの連携強化

コミュニティとユーザの双方が、このような改善に向けて動き出す必要がある

Page 23: 大規模商用Linuxの適用拡大に向けた取り組み ~コ …...トラブル事例紹介 Linux(RHEL 6) サーバ(x86 NUMA) いろいろなノウハウがある一方、システム構築に苦しんでいる現状がある

22 Copyright©2014 NTT Corp. All Rights Reserved.

コミュニティとしてのアクション

• ノウハウ共有という形の貢献の評価

• ノウハウ共有の場の提供

• 古いノウハウの現行化・メンテナンス

コードの貢献と違い評価されにくいノウハウ共有を促すための仕組みを作り、商用サーバのユーザからのフィードバックを集める仕組みを作りたい

Page 24: 大規模商用Linuxの適用拡大に向けた取り組み ~コ …...トラブル事例紹介 Linux(RHEL 6) サーバ(x86 NUMA) いろいろなノウハウがある一方、システム構築に苦しんでいる現状がある

23 Copyright©2014 NTT Corp. All Rights Reserved.

ユーザとしてのアクション

• 公開できるノウハウの共有

• コミュニティの積極的活用

プロジェクト内部に抱え込んでいるノウハウをコミュニティで共有することによるメリットを理解し、オープンソースのエコシステムに加わりたい

Page 25: 大規模商用Linuxの適用拡大に向けた取り組み ~コ …...トラブル事例紹介 Linux(RHEL 6) サーバ(x86 NUMA) いろいろなノウハウがある一方、システム構築に苦しんでいる現状がある

24 Copyright©2014 NTT Corp. All Rights Reserved.

まとめ

• Linuxサーバの現状把握 • 搭載されるハードウェアはハイエンドでなくても高機能・大容量化が進んでいる

• トラブル事例紹介 • 最新ハードウェアを使った商用システム構築でのトラブル対応の経験を通じ、ノウハウ共有の必要性を認識

• ノウハウ共有とその課題 • ノウハウ共有により裾野が広いユーザを支援するために、コミュニティとユーザの双方に課題がある