1

ubuntu 14 に MariaDB Galera Cluster をインストールしましたが、正常に動作しています。

チュートリアルを見る

3 つのノード (それぞれ 500 GB の HDD 容量) の mariadb クラスターがあり、すべてのレプリケーションは完璧に機能しています。

私の質問は次のとおりです。

数年後にディスク容量が不足した場合、データベースの容量を増やす正確な方法は何ですか?

ノードを追加して、データベースの HDD 容量を増やすことはできますか? MaxScale について聞いたことがありますが、動作するかわかりません

上記の構成に従って、誰でもこれを説明できますか。

これは、2 つのサーバーを使用した MaxScale シンプル シャーディングです。

4

1 に答える 1

1

500GBが問題だと仮定すると...

プランA

  1. ノードをローテーションから外します。
  2. ディスク ドライブをより大きなドライブにアップグレードします。
  3. ノードをローテーションに戻します。SST が発生し、その 1 つのノードのスペースが増えます。
  4. 他のノードごとに繰り返します。

プランB

  1. より大きなドライブを備えた新しいマシンを入手してください。
  2. それをクラスターに追加します。新しいマシンは SST を実行します。
  3. より多くの新しいマシンで繰り返します。
  4. 古いマシンを完全に削除します。

プランBでは、おそらくコアなども追加されるでしょう(ただし、その必要性については言及していませんでした。)

これらの方法は両方とも、単一のサーバーの損失 (3 回) よりも多くのダウンタイムはありません。

データを分割したい場合、それには複数のクラスターが含まれます。クラスターの書き込み容量を超えようとしている場合を除き、シャーディングは保証されません。また、シャーディングは簡単な作業ではありません。

ディスクを「拡張」する別の方法... RAID コントローラ(RAID ソフトウェアより優れている) を使用すると、「ストライピング」によってディスク サブシステムのパフォーマンスを向上させることができます。通常、人々はRAID-5またはRAID-10を使用してパリティを取得し、故障したドライブからシームレスに回復できるようにします。ただし、Galera は、システムを失うことなくサーバーの任意の部分を修復できるようにすることで、デッド ドライブを効果的に処理します。そのため、RAID-0 の方が費用対効果が高いことはほぼ間違いありません。

一部のオペレーティング システムでは、複数のドライブを 1 つの大きなファイル システムとして論理的に扱うこともできます。これにより、ストライピングのパフォーマンスが向上するわけではありませんが、OS、ソフトウェア、およびデータを再インストールすることなくドライブを追加できるようになります (私はそう思います)。

バッテリ バックアップ式ライト キャッシュを備えた RAID コントローラには、電源障害による損失のリスクがなくても、書き込みを「瞬時に」実行できるという特別な利点があります。

于 2015-12-09T21:49:18.237 に答える