web-dev-qa-db-ja.com

OpenstackNeutronの安定性の問題

PoC用のかなり単純なOpenstackセットアップがあります。 2つのノード、両方ともNovaを実行し、ノード1上のその他すべて。CentOS6を実行しており、RDOを使用してセットアップされました。重要なことに、私はネットワーキングにNeutronを使用しており、GREテナントネットワークは 既存のネットワークのRDOドキュメント からセットアップされています。

定期的に(私が考える数日ごとに)Openvswitch(したがって私のインスタンス)とのすべての通信が失われます。ノード2にSSHで接続し、プライベートネットワーク経由でノード1に接続できるため、OVSと認識しています。私がログで見る最もわかりやすいことはこれです:

unix:/var/run/openvswitch/db.sock: database connection failed (Protocol error)

さらに、OVSは大量のCPU(16コアボックスで800%)を使用しており、クリーンシャットダウンを実行しようとすると、ovsdb-serverを強制終了できないため、発生しません。

私はいくつかのグーグルを実行し、人々がOVS /カーネルバージョンの不一致を持っていた古いOpenstackリリースに基づいたいくつかの古い提案を見つけました。 RDOのバージョンを実行しているので、それを割り引くことができると思います(Red Hatが大規模な混乱を引き起こしていない限り)。

他の誰かがこれを見ましたか?何か提案がありますか?

PS:近い将来に起こらないさまざまな理由で、Openvswitchを再コンパイルするように私に言わないでください。

1
chriscowley

どのバージョンのOpenStack、どのバージョンのRDOリポジトリを使用していますか?私はほんの少しの詳細で推測しているだけですが、OpenvSwitchとカーネル、暴走するOVSプロセスに何らかの問題があることを示しているように見えます。データベースまたはメッセージングエージェントに関連している可能性があります。

Qpidログ(/ var/log/messages)で、インスタンスの通信が失われたときに切断された理由を示すものがないか確認してください。これにより、メッセージングの切断が発生する理由と、メッセージング接続の失敗が原因であるかどうか(外部/三次的な原因)が明らかになる可能性があります。またはその逆で、OVSの切断が原因です(OVS /カーネルビルドの問題の可能性があります)。

RDOは「... RHEL 6.4でテスト済み」なので、おっしゃるように6ではなくCentOS6.4を使用します。 RDOで必要に応じてパッチを適用するのではなく、カーネルに多数のコンポーネントが含まれているため、6.5を使用することをお勧めします。

ログと構成の詳細がないと、ユーザーに代わって追加のトラブルシューティングを行うことは困難ですが、これを評価した後、GREとMTUの設定で克服すべき既知のNeutron構成の課題があると言えば十分です。

いずれにせよ、OpenStackビルドを成功させるには(基本的であっても複雑です)、OS、カーネル、OVSのサポートされている最新のビルドから始める必要があります。 「OVS /カーネルバージョンの不一致」を割引できることをどのように確認できますか?どのバージョンを使用していますか?

最新のCentOS6.5とRDOで構成し、問題が解決しない場合は(更新された詳細、ログファイルなどを使用して)RDOフォーラムに追加で再投稿することをお勧めします: http://openstack.redhat.com/forum/ その場合、必要になる可能性のあるディストリビューション固有の詳細を取得します。

編集:MTU設定については、これらの記事でdhcp.iniとdnsmaskの構成を確認してください。GREを実行している場合、ゲストインスタンスには明らかに1454が適切であるはずです: http://bderzhavets.blogspot.com.au/2014/01/setting -up-two-physical-node-openstack.htmlhttps://ask.openstack.org/en/question/12499/forcing-mtu-to-1400-via-etcneutrondnsmasq-neutronconf-per -ダニエルズ/

カーネルとOVSのバージョンによっては、MTUとGREにまだ問題がある可能性があることを忘れないでください。使用しているバージョンを通知し、投稿を更新してください。同様の問題を抱えている他のユーザーを支援できます。両方のノードで結果が表示されますために:

うなめ-a

rpm -qpi | grep openvswitch

また、OVS GREフローを確認し、大規模な20G転送を行うときに、関連するqrouter名前空間でいくつかのtcpdumpを実行します。RDOのこのガイドが役立ちます。60分での2ノードの説明に関するJoeTalericoの優れたGREデバッグをご覧ください。以降: http://www.youtube.com/watch?v=wEa_8ESxPAY&feature=share&t=1h20s

そして最後に、投稿#24のようにGeneric Receive Offload設定の影響を受けていないことも確認する必要があります: https://bugs.launchpad.net/neutron/+bug/12529

2
Marten Hauville