UbuntuにおけるCephストレージ:概要

by cmoullec on 30 April 2020

Cephは、従来型のベンダーが提供している私有ソフトウェア定義ストレージの替わりとなる、魅力あるオープンソースのソリューションで、その技術の発展のために共働する活発なコミュニティがあります。UbuntuはCephとそのコミュニティを初期から支援してきました。またCanonicalは現在もCeph Foundationの主要メンバーであり、同団体の理事を務めています。

多くのグローバル企業や通信事業者がUbuntu上でCephを実行しています。企業はオープンソースの経済性およびアップストリームの利点を活用しながらブロックストレージとオブジェクトストレージを大規模に組み合わせることができます。

Cephを使う理由

Cephは、データを複数の方法で利用可能という点にその独自性があります。CephFSを介することでPOSIX準拠のファイルシステムとして、RBDドライバを介することでブロックストレージボリュームとして、またはRADOSゲートウェイを使用することでS3とSwiftプロトコルとの互換性を持ったオブジェクトストアとして使用することができます。

Cephのユースケースとして多いのは、Cinder経由でOpenStackクラウドにブロックおよびオブジェクトストアを提供する場合や、Swiftの代替としての使用があります。同様にKubernetesも、物理ボリューム(PV)向けの一般的な方法として、CephをContainer Storage Interface(CSI)プラグインとして採用しています。

スタンドアロンとしてもCephは、クローズドソースの私有ソリューションに代わる魅力的なオープンソースのストレージであり、ライセンス、アップグレード、そしてベンダーロックインによる費用など、企業のストレージ利用に際して発生する一般的な運用コストを削減することができます。

Cephの動作

Ceph, storage, ubuntu

Cephはデータをプールに格納します。ユーザーや他のサービスはこのプールにアクセスし、ブロック、ファイル、またはオブジェクトのストレージを提供できます。Cephプールはこれらの各機構を下支えしています。複製、アクセス権、その他の内部特性(データの配置、所有権、アクセスなど)は、プール単位で示されます。

クラスター状態の維持はCeph Monitors(MON)が行います。MONは、CRUSHマップを使用してデータの場所を管理します。これらはクォーラムベースの高可用性 (HA)を備えたクラスター内で動作し、データはオブジェクトストレージデバイス(OSD)を介して保存および取得されます。

ストレージデバイスと、実行中のOSDデーモンプロセスとの間には1:1のマッピングが存在します。OSDは、関係するクラスターメンバーホストのCPUとRAMを大きく消費します。このため、Cephクラスターを構成するときには、OSDの数とCPUコアやメモリの数を注意深くバランスさせる必要があります。これは特に、超集約型アーキテクチャ(OpenStackやKubernetesなど)を作成する場合に重要です。

LXDをコンテナハイパーバイザとして使用することで、特定ノードで実行中のプロセスのほとんどに対して、リソース制限を的確に適用できます。LXDは、Ceph MONを分離することにより、CanonicalのCharmed OpenStackディストリビューションで高い経済性を提供すたるために幅広く使われています。Ceph OSDのコンテナ化は現在のところ推奨されていません。

Cephストレージの仕組み

個々のデータプールにアクセスするということは、そのための機構を選択することと同等です。たとえば、1つのプールをブロックボリュームの保存に、別のプールはオブジェクトストアやファイルシステムのストレージバックエンドとして使用することができます。ボリュームに関しては、ボリュームをマウントしようとするホストは、まずRBDカーネルモジュールをロードしたうえで、ローカルボリュームと同様にCephボリュームをマウントする必要があります。

オブジェクトバケットは一般的にはマウントされません。クライアント側のアプリケーションはオーバーレイファイルシステムを使用して「ドライブ」をシミュレートできますが、実際のボリュームがマウントされるわけではありません。その代わりに、RADOSゲートウェイによってオブジェクトバケットへのアクセスが可能になります。RADOSGWは、S3またはSwiftプロトコルを使ってオブジェクトにアクセスするためのREST APIを提供します。ファイルシステムはCephFSを使用して作成およびフォーマットされた後、NFSマウントと同様の方法でエクスポートされ、ローカルネットワークで使用できるようになります。

ボリュームおよびオブジェクトストアのユースケースは、すでに長期間にわたり大規模に運用されています。Cephを使ってボリュームとオブジェクトストアを組み合わせることで、オペレータに多くのメリットがもたらされます。複数のストレージユースケースに対するサポートに加えて、適切なアーキテクチャとスケーリングを行うことで最大の密度を実現できます。

CanonicalによるCephストレージサポート

CanonicalはUbuntu Advantage for Infrastructureの一部としてCephをサポートしており、StandardとAdvancedのSLAでそれぞれ営業時間内と24時間年中無休のサポートを提供しています。サポートでカバーされる各ノードには、最大48TBのCephクラスターのRAWストレージに対するサポートが含まれています。

このカバレッジは、超集約型アーキテクチャのOpenStackおよびKubernetes向けに当社が推奨するリファレンスハードウェアに基づくもので、TB単位の価格が最適化さていると同時に、オンプレミスクラウド内のコンピュートとネットワーク間で最高の性能が維持されます。また、ノード数とTBの比率が当社の推奨と一致せずに制限を超過した場合でも、TB単位での超過分の価格を用意してスケールアウト型ストレージをご利用のお客様に対応しています。

CephはUbuntuのメインリポジトリで入手可能なため、ユーザーはLTSバージョンでは最長5年間の無償セキュリティアップデートを受けられます。標準のサポートサイクル終了後は、Ubuntu Advantage for Infrastructureを通して5年間の追加商用サポートを有償で受けられます。

さまざまな組織がどのようにCanonicalのCephサポートを活用しているか、以下のケーススタディでご覧いただけます。

CanonicalのCephストレージソリューションCephサポートサービスについての詳細は、ウェブサイトをご覧ください。

関連記事

Ubuntu Applianceポートフォリオ

本日は、Canonicalの新たなイニシアチブであるUbuntu Applianceポートフォリオをご紹介します。Canonicalは、Nextcloud、AdGuard、Plex Media Server、Mosquitto、OpenHABと協力して、新たなUbuntu派生製品を開発しました。1つの目的に特化したアプライアンスイメージです。Ubuntu Appliance によって、Raspberry PiやPCをセキュアで、自己更新するソリューションへと、無料で変えることができます。 Ubuntu Applianceの目的は、セキュアで、自己修復機能があり、単一目的のデバイスを可能にすることです。ディスカッションに参加して、ぜひ、皆様が今後期待する展開を教えてください […]


© 2020 Canonical Ltd. Ubuntu および Canonical は、Canonical Ltd の登録商標です。