SYNOPSIS
pveceph <COMMAND> [ARGS] [OPTIONS] です。
pveceph createmgr
pveceph mgr create のエイリアス。
ヴェーセフ・クリエイトモン
pveceph mon create のエイリアス。
プベケフ・クリエイト・オスド
pveceph osd create のエイリアス。
pvecephはプールを作成します。
pveceph pool create のエイリアス。
ヴェーセフ・デストロイムグ
pveceph mgr destroy のエイリアス。
プヴェセフ・デストロイモン
pveceph mon destroy のエイリアス。
ヴェセフ・デストロエスディー
pveceph osd destroy のエイリアス。
プベセフ・デストロイプール
pveceph pool destroy のエイリアス。
pveceph fs create [OPTIONS](pveceph fs create [OPTIONS])
Cephファイルシステムの作成
- --add-storage <boolean>(デフォルト = 0)
-
作成されたCephFSをこのクラスタのストレージとして構成します。
- --name <文字列>(デフォルト = cephfs)
-
cephファイルシステム名。
- --pg_num <整数> (8 - 32768)(デフォルト = 128)
-
バッキング・データ・プールの配置グループ数。メタデータ・プールはこの4分の1を使用します。
pveceph fs destroy <name> [OPTIONS].
Cephファイルシステムの破棄
- <名前>: <文字列
-
cephファイルシステム名。
- --remove-pools <boolean>(デフォルト = 0)
-
この fs に設定されているデータとメタデータのプールを削除します。
- --remove-storages <boolean>(デフォルト = 0)
-
この fs 用に構成された pveceph 管理ストレージをすべて削除します。
pveceph help [OPTIONS] (オプション)
指定したコマンドに関するヘルプを表示します。
- --extra-args <array> です。
-
特定のコマンドのヘルプを表示します。
- --verbose <ブール値
-
冗長出力フォーマット。
pveceph init [OPTIONS] です。
cephの初期デフォルト構成を作成し、シンボリックリンクを設定します。
- --cluster-network <文字列
-
独立したクラスタネットワークを宣言し、OSDはハートビート、オブジェクトレプリケーション、リカバリのトラフィックをルーティングします。
必要なオプション:ネットワーク - --disable_cephx <boolean>(デフォルト = 0)
-
cephx認証を無効にします。
cephxは中間者攻撃から保護するセキュリティ機能です。ネットワークがプライベートな場合にのみ、cephxの無効化を検討してください! - --min_size <整数> (1 - 7)(デフォルト = 2)
-
I/Oを許可するために、オブジェクトごとに利用可能なレプリカの最小数
- --ネットワーク <文字列
-
すべてのceph関連トラフィックに特定のネットワークを使用します。
- --pg_bits <整数> (6 - 14)(デフォルト = 6)
-
配置グループのデフォルト数を指定するために使用します。
非推奨。この設定は、最近のCephバージョンで非推奨になりました。
- --サイズ <整数> (1 - 7)(デフォルト = 3)
-
オブジェクトあたりの目標レプリカ数
pveceph install [OPTIONS] (オプション)
ceph関連パッケージをインストールします。
- --allow-experimental <boolean>(デフォルト = 0)
-
実験的なバージョンを許可します。注意して使用してください!
- --リポジトリ <enterprise | no-subscription | test>(デフォルト = enterprise)
-
使用するCephリポジトリ。
- --バージョン <quincy | reef | squid>(デフォルト = quincy)
-
インストールするCephのバージョン。
鞭打ち鞭打ち鞭打ち鞭打ち鞭打ち鞭打ち鞭打ち鞭打ち鞭打ち鞭打ち鞭打ち
pveceph pool ls のエイリアス。
pveceph mds create [OPTIONS] [オプション]。
Cephメタデータサーバ(MDS)の作成
- --hotstandby <boolean>(デフォルト = 0)
-
ceph-mdsデーモンがアクティブなデータシートのログをポーリングして再生するかどうかを決定します。データシートの障害時の切り替えが高速化されますが、アイドルリソースがより多く必要になります。
- --name [a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?(default = nodename)
-
省略時はノード名と同じ。
pveceph mds destroy <名前>。
Cephメタデータサーバの破棄
- <name>: [a-zA-Z0-9]([a-zA-Z0-9\-]*[a-zA-Z0-9])?
-
mdsの名前(ID)
pveceph mgr create [OPTIONS] [オプション]。
Ceph Managerの作成
- --id [a-zA-Z0-9]([a-zA-Z0-9\-]*[a-zA-Z0-9])?
-
省略時はノード名と同じ。
pveceph mgr destroy <id>
Ceph Managerを破棄します。
- <id>: [a-zA-Z0-9]([a-zA-Z0-9\-]*[a-zA-Z0-9])?
-
マネージャーのID
pveceph mon create [OPTIONS]を作成します。
Cephモニタとマネージャの作成
- --モン・アドレス <文字列
-
自動検出されたモニタIPアドレスを上書きします。Cephのパブリックネットワーク内にある必要があります。
- --monid [a-zA-Z0-9]([a-zA-Z0-9\-]*[a-zA-Z0-9])?
-
省略時はノード名と同じ。
pveceph モンを破壊する <monid
Ceph MonitorとManagerを破棄します。
- <monid>: [a-zA-Z0-9]([a-zA-Z0-9\-]*[a-zA-Z0-9])?
-
モニターID
pveceph osd create <dev> [OPTIONS].
OSDの作成
- <dev>: <文字列
-
ブロックデバイス名。
- -crush-device-class <文字列>。
-
OSDのデバイスクラスをクラッシュで設定します。
- --db_dev <文字列
-
block.db のブロックデバイス名。
- --db_dev_size <number> (1 - N)(デフォルト = bluestore_block_db_size または OSD サイズの 10%)
-
block.dbのGiB単位のサイズ。
必要なオプション:db_dev - --暗号化 <ブール値>(デフォルト = 0)
-
OSDの暗号化を有効にします。
- --osds-per-device <整数> (1 - N)
-
物理デバイスごとのOSDサービス。高速な NVMe デバイスにのみ有効です。
- --wal_dev <文字列
-
block.walのブロックデバイス名。
- --wal_dev_size <number> (0.5 - N)(デフォルト = bluestore_block_wal_size または OSD サイズの 1%)
-
block.walのGiBサイズ。
必要なオプション:wal_dev
pveceph osd destroy <osdid> [OPTIONS].
OSDの破棄
- <osdid>: <整数
-
OSD ID
- --クリーンアップ <ブール値>(デフォルト = 0)
-
もしセットされていれば、パーティションテーブルのエントリーを削除します。
pveceph osd details <osdid> [OPTIONS] [FORMAT_OPTIONS].
OSDの詳細を取得します。
- <osdid>: <文字列
-
OSDのID
- --verbose <boolean>(デフォルト = 0)
-
json-pretty 出力形式と同じです。
pveceph pool create <name> [OPTIONS] [オプション]。
Cephプールの作成
- <名前>: <文字列
-
プールの名前。一意でなければなりません。
- --add_storages <boolean>(デフォルト = 0; データ消去プールの場合: 1)
-
新しいプールを使用してVMとCTストレージを構成します。
- --アプリケーション <cephfs | rbd | rgw>(デフォルト = rbd)
-
プールの応用。
- -crush_rule(クラッシュルール) <文字列
-
クラスタ内のオブジェクト配置のマッピングに使用するルール。
- --erasure-coding k=<integer> ,m=<integer> [,device-class=<class>] [,failure-domain=<domain>] [,profile=<profile>]。
-
RBD用の消去コード化プールと、それに付随するメタデータストレージ用の複製プールを作成します。ECでは、共通のcephオプションsize、min_size、crush_ruleパラメータがメタデータプールに適用されます。
- --min_size <整数> (1 - 7)(デフォルト = 2)
-
オブジェクトあたりの最小レプリカ数
- --pg_autoscale_mode <off | on | warn>(デフォルト = warn)
-
プールの自動PGスケーリングモード。
- --pg_num <整数> (1 - 32768)(デフォルト = 128)
-
配置グループの数。
- --pg_num_min <整数> (-N - 32768)
-
配置グループの最小数。
- --サイズ <整数> (1 - 7)(デフォルト = 3)
-
オブジェクトごとのレプリカ数
- --target_size ^(¬d+(¬d+)?)([KMGT])?$?
-
PGオートスケーラのプールの推定目標サイズ。
- --target_size_ratio <数値> を指定します。
-
PGオートスケーラのプールの推定目標比率。
pveceph pool destroy <name> [OPTIONS] [オプション].
プールを破壊
- <名前>: <文字列
-
プールの名前。一意でなければなりません。
- --force <ブール値>(デフォルト = 0)
-
trueの場合、使用中であってもプールを破棄します。
- --remove_ecprofile <boolean>(デフォルト = 1)
-
消去コード・プロファイルを削除します。該当する場合、デフォルトは true です。
- --remove_storages <boolean>(デフォルト = 0)
-
このプールに設定されているすべての pveceph 管理ストレージを削除します。
pveceph pool get <name> [OPTIONS] [FORMAT_OPTIONS] です。
現在のプールの状態を表示します。
- <名前>: <文字列
-
プールの名前。一意でなければなりません。
- --verbose <boolean>(デフォルト = 0)
-
有効にすると、追加データ(統計など)が表示されます。
pveceph pool ls [FORMAT_OPTIONS] です。
すべてのプールとその設定 (POST/PUT エンドポイントで設定可能) を一覧表示します。
pveceph pool set <name> [OPTIONS].
POOL設定の変更
- <名前>: <文字列
-
プールの名前。一意でなければなりません。
- --application <cephfs | rbd | rgw>.
-
プールの応用。
- -crush_rule(クラッシュルール) <文字列
-
クラスタ内のオブジェクト配置のマッピングに使用するルール。
- --最小サイズ <整数> (1 - 7)
-
オブジェクトあたりの最小レプリカ数
- --pg_autoscale_mode <off | on | warn> です。
-
プールの自動PGスケーリングモード。
- --pg_num <整数> (1 - 32768)
-
配置グループの数。
- --pg_num_min <整数> (-N - 32768)
-
配置グループの最小数。
- --サイズ <整数> (1 - 7)
-
オブジェクトごとのレプリカ数
- --target_size ^(¬d+(¬d+)?)([KMGT])?$?
-
PGオートスケーラのプールの推定目標サイズ。
- --target_size_ratio <数値> を指定します。
-
PGオートスケーラのプールの推定目標比率。
pveceph purge [OPTIONS] (パージ・ オプション)
ceph関連のデータと構成ファイルを破棄します。
- --クラッシュ <ブール値
-
さらに、/var/lib/ceph/crashのCephクラッシュログをパージします。
- --ログ <ブール値
-
さらに、/var/log/cephのCephログをパージします。
pveceph start [OPTIONS] です。
cephサービスを開始します。
- --service (ceph|mon|mds|osd|mgr)(\.[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?)(default = ceph.target )?
-
Cephサービス名。
pvecephステータス
Cephのステータスを取得します。
pveceph stop [OPTIONS] [オプション].
cephサービスを停止します。
- --service (ceph|mon|mds|osd|mgr)(\.[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?)(default = ceph.target )?
-
Cephサービス名。
説明
Proxmox VEは、コンピュートシステムとストレージシステムを統合します。つまり、クラスタ内の同じ物理ノードをコンピューティング(VMやコンテナの処理)とレプリケートされたストレージの両方に使用できます。コンピュートリソースとストレージリソースの従来のサイロを単一のハイパーコンバージドアプライアンスにまとめることができ、個別のストレージネットワーク(SAN)やネットワークアタッチドストレージ(NAS)を介した接続がなくなります。オープンソースのSoftware-Defined StorageプラットフォームであるCephの統合により、Proxmox VEはハイパーバイザーノード上でCephストレージを直接実行・管理する機能を備えています。
Cephは、優れたパフォーマンス、信頼性、スケーラビリティを提供するように設計された分散オブジェクトストアおよびファイルシステムです。
-
CLIとGUIによる簡単なセットアップと管理
-
シン・プロビジョニング
-
スナップショットのサポート
-
セルフヒーリング
-
エクサバイト・レベルまで拡張可能
-
ブロック、ファイルシステム、オブジェクトストレージを提供
-
パフォーマンスと冗長性の特性が異なるプールの設定
-
データは複製されるため、フォールトトレラントです。
-
コモディティハードウェアで動作
-
ハードウェアRAIDコントローラは不要
-
オープンソース
小規模から中規模の導入の場合、RADOS Block Devices (RBD)またはCephFSを使用するCephサーバをProxmox VEクラスタノードに直接インストールできます(Ceph RADOS Block Devices (RBD)を参照)。 最近のハードウェアはCPUパワーとRAMが大きいため、ストレージサービスと仮想ゲストを同じノードで実行できます。
管理を簡素化するために、Proxmox VEは、組み込みのWebインタフェース、またはpvecephコマンドラインツールを使用して、Proxmox VEノードにCephサービスをインストールおよび管理するためのネイティブ統合を提供します。
用語
-
Cephモニタ(ceph-mon、またはMON)
-
Ceph Manager(ceph-mgr、またはMGS)
-
Cephメタデータサービス(ceph-mds、またはMDS)
-
Ceph Object Storage Daemon (ceph-osd、またはOSD)
|
|
Ceph [Ceph introhttps://docs.ceph.com/en/quincy/start/] 、そのアーキテクチャ [Ceph architecturehttps://docs.ceph.com/en/quincy/architecture/] および語彙 [Ceph glossaryhttps://docs.ceph.com/en/quincy/glossary] に精通することを強くお勧めします。 |
健全なCephクラスタのための推奨事項
ハイパーコンバージドProxmox + Ceph Clusterを構築するには、セットアップに少なくとも3台の(できれば)同一のサーバを使用する必要があります。
Cephのウェブサイトの推奨事項も確認してください。
|
|
以下の推奨事項は、ハードウェアを選択する際のおおまかな指針とお考えください。セットアップをテストし、ヘルスとパフォーマンスを継続的に監視する必要があります。 |
Cephサービスは2つのカテゴリに分類できます:
-
CPUを集中的に使用し、高いCPU基本周波数とマルチコアの恩恵を受けています。このカテゴリのメンバーは以下の通り:
-
オブジェクト・ストレージ・デーモン(OSD)サービス
-
CephFSで使用されるメタデータサービス(MDS)
-
-
複数のCPUコアを必要としない、適度なCPU使用率。これらは
-
モニター(MON)サービス
-
マネージャー(MGR)サービス
-
単純な経験則として、安定した耐久性のあるCephパフォーマンスに必要な最小限のリソースを提供するために、各Cephサービスに少なくとも1つのCPUコア(またはスレッド)を割り当てる必要があります。
たとえば、1つのノードでCephモニタ、Cephマネージャ、および6つのCeph OSDサービスを実行する予定であれば、基本的で安定したパフォーマンスを目標とする場合、8つのCPUコアをCeph専用に確保する必要があります。
OSD の CPU 使用率は、主にディスクの性能に依存することに注意してください。ディスクの IOPS(IO OperationsperSecond) が高ければ高いほど、OSD サービスで使用できる CPU は増えます。 NVMe のような最新のエンタープライズ SSD ディスクでは、100,000 を超える高い IOPS 負荷をサブミリ秒のレイテンシで永続的に維持できるため、各 OSD は複数の CPU スレッドを使用できます。
特にハイパーコンバージドセットアップでは、メモリ消費を注意深く計画し、監視する必要があります。仮想マシンとコンテナのメモリ使用量の予測に加えて、Cephが優れた安定したパフォーマンスを提供するために十分なメモリを利用できることも考慮する必要があります。
経験則として、およそ1TiBのデータに対して、1GiBのメモリがOSDによって使用されます。通常の状態では使用量は少ないかもしれませんが、リカバリー、再バランス、バックフィルなどの重要な操作の際には、最も多く使用されます。 つまり、通常の操作ですでに使用可能なメモリを最大にするのは避けるべきで、むしろ障害に対処するための余裕を残しておく必要があります。
OSDサービス自体にはさらにメモリが必要です。デーモンのCeph BlueStoreバックエンドには、デフォルトで3~5GiBのメモリが必要です(調整可能)。
Cephトラフィック専用に、少なくとも10Gbps以上のネットワーク帯域幅を使用することを推奨します。10Gbps以上のスイッチがない場合、3~5ノードのクラスタにはメッシュ型ネットワークセットアップ
[Full Mesh Network for Cephhttps://pve.proxmox.com/wiki/Full_Mesh_Network_for_Ceph_Server]
もオプションとして使用できます。
|
|
特にリカバリ中のトラフィック量は、同じネットワーク上の他のサービスに干渉し、特にレイテンシに敏感なProxmox VEのcorosyncクラスタスタックが影響を受け、クラスタクォーラムが失われる可能性があります。 Cephトラフィックを専用の物理的に分離されたネットワークに移動すると、corosyncだけでなく、仮想ゲストによって提供されるネットワークサービスでも、このような干渉が回避されます。 |
必要な帯域幅を見積もるには、ディスクの性能を考慮する必要があります。1台のHDDが1Gbのリンクを飽和させることはないかもしれませんが、ノードあたり複数のHDD OSDが10Gbpsを飽和させることもあります。 最新のNVMeアタッチドSSDが使用されている場合、1台で10Gbps以上の帯域幅を飽和させることができます。このような高性能セットアップには、少なくとも25Gpbsを推奨します。また、基盤となるディスクの潜在性能をフルに活用するには、40Gbpsまたは100Gbps以上が必要な場合もあります。
不安な場合は、高性能なセットアップのために3つの(物理的な)独立したネットワークを使用することをお勧めします:
-
Ceph(内部)クラスタトラフィック用の超高帯域幅(25Gbps以上)ネットワーク1つ。
-
cephサーバとcephクライアントのストレージトラフィック間のCeph(パブリック)トラフィック用の高帯域幅(10Gpbs以上)ネットワーク1つ。ニーズによっては、仮想ゲストラフィックとVMライブマイグレーショントラフィックのホストにも使用できます。
-
遅延の影響を受けやすいcorosyncクラスタ通信のために、1つの中帯域幅(1 Gbps)専用。
Cephクラスタのサイズを計画する際は、リカバリ時間を考慮することが重要です。特に小規模なクラスタでは、リカバリに時間がかかる場合があります。リカバリ時間を短縮し、リカバリ中に後続の障害イベントが発生する可能性を最小限に抑えるため、小規模なセットアップではHDDの代わりにSSDを使用することをお勧めします。
一般的に、SSD は回転ディスクよりも多くの IOPS を提供します。この点を考慮すると、コストが高くなることに加えて、クラスベースのプール分離を実装することが理にかなっている場合があります。OSDを高速化するもう1つの方法は、より高速なディスクをジャーナルまたはDB/Write-Ahead-Logデバイスとして使用することです。 より高速なディスクを複数のOSDに使用する場合、OSDとWAL/DB(またはジャーナル)ディスクの適切なバランスを選択する必要があります。
ディスクの種類は別として、Cephはノードごとに均等なサイズで均等な量のディスクを使用するのが最適です。たとえば、1 TBディスク1台と250 GBディスク3台の混在セットアップよりも、各ノード内に500 GBディスク4台の方が優れています。
OSD数とシングルOSD容量のバランスも取る必要があります。容量を増やすと、ストレージ密度を高めることができますが、OSDが1つ故障すると、Cephは一度に多くのデータを回復しなければならなくなります。
Cephはデータオブジェクトの冗長性とディスクへの複数の並列書き込み(OSD)を独自に処理するため、通常、RAIDコントローラを使用してもパフォーマンスや可用性は向上しません。それどころか、Cephはディスク全体を単独で処理するように設計されています。RAIDコントローラはCephのワークロード用に設計されておらず、書き込みやキャッシュのアルゴリズムがCephのものと干渉する可能性があるため、状況が複雑になり、場合によってはパフォーマンスが低下することもあります。
|
|
RAIDコントローラは避けてください。代わりにホストバスアダプタ(HBA)を使用してください。 |
Cephの初期インストールと構成
ウェブベースのウィザードの使用
Proxmox VEには、Ceph用の使いやすいインストールウィザードが用意されています。クラスタノードの1つをクリックし、メニューツリーのCephセクションに移動します。Cephがまだインストールされていない場合は、インストールを促すプロンプトが表示されます。
ウィザードは複数のセクションに分かれており、Cephを使用するには、各セクションを正常に終了する必要があります。
まず、インストールするCephのバージョンを選択する必要があります。他のノードのものを選ぶか、Cephをインストールする最初のノードであれば最新のものを選びます。
インストールを開始すると、ウィザードがProxmox VEのCephリポジトリから必要なパッケージをすべてダウンロードしてインストールします。
この設定はProxmox VEのクラスタ構成ファイルシステム(pmxcfs)を通じて残りのすべてのクラスタメンバに自動的に配布されるため、このステップはクラスタごとに1回だけ必要です。
コンフィギュレーション・ステップには以下の設定が含まれます:
-
パブリックネットワーク:このネットワークは、パブリックストレージ通信(Ceph RBDバックアップディスクやCephFSマウントを使用する仮想マシンなど)、およびさまざまなCephサービス間の通信に使用されます。この設定は必須です。
CephのトラフィックをProxmox VEクラスタ通信(corosync)、および仮想ゲストの前面(パブリック)ネットワークから分離することを強くお勧めします。そうしないと、Cephの広帯域幅IOトラフィックが他の低レイテンシ依存サービスに干渉する可能性があります。 -
クラスタ・ネットワーク: OSDレプリケーションとハートビートトラフィックも分離するように指定します。この設定はオプションです。
物理的に分離されたネットワークを使用すると、Cephパブリックと仮想ゲストのネットワークが緩和され、Cephのパフォーマンスも大幅に向上するため、推奨されます。
Cephクラスタネットワークを構成し、後で別の物理的に分離されたネットワークに移動できます。
-
レプリカの数:オブジェクトが複製される頻度を定義します。
-
最小レプリカ数:I/Oを完了としてマークするために必要なレプリカの最小数を定義します。
さらに、最初のモニターノードを選択する必要があります。このステップは必須です。
これで完了です。最後のステップとして成功ページが表示され、さらに進む方法が表示されます。これで、システムはCephの使用を開始する準備ができました。 開始するには、追加のモニタ、OSD、および少なくとも1つのプールを作成する必要があります。
この章の残りの部分では、Proxmox VEベースのCephセットアップを最大限に活用する方法を説明します。これには、前述のヒントのほか、新しいCephクラスタに追加すると便利なCephFSなどが含まれます。
CephパッケージのCLIインストール
Webインタフェースで利用可能な推奨のProxmox VE Cephインストールウィザードの代わりに、各ノードで次のCLIコマンドを使用できます:
pvecephインストール
これにより、/etc/apt/sources.list.d/ceph.listにaptパッケージリポジトリが設定され、必要なソフトウェアがインストールされます。
CLIによるCephの初期構成
Proxmox VE Cephインストールウィザードを使用するか(推奨)、1つのノードで以下のコマンドを実行します:
pveceph init --network10.10.10.0/24
これにより、/etc/pve/ceph.confにCeph専用のネットワークを持つ初期構成が作成されます。このファイルは、pmxcfsを使用して、すべてのProxmox VEノードに自動的に配布されます。このコマンドはまた、/etc/ceph/ceph.confにシンボリックリンクを作成し、このファイルを指すようにします。 このため、構成ファイルを指定しなくても、Cephコマンドを単純に実行できます。
Ceph Monitor
Ceph Monitor (MON)
[Ceph Monitorhttps://docs.ceph.com/en/quincy/rados/configuration/mon-config-ref/]
クラスタマップのマスターコピーを維持します。高可用性を実現するには、少なくとも3つのモニタが必要です。インストールウィザードを使用した場合、1つのモニタがすでにインストールされています。クラスタが小規模から中規模であれば、3つ以上のモニタは必要ありません。これ以上必要になるのは、本当に大規模なクラスタだけです。
Ceph Manager
Managerデーモンはモニタと並行して実行されます。クラスタを監視するためのインタフェースを提供します。Ceph luminousのリリース以降、少なくとも1つのceph-mgr
[Ceph Managerhttps://docs.ceph.com/en/quincy/mgr/]
デーモンが必要です。
Ceph OSD
OSDの作成
OSD は Proxmox VE の Web インターフェイスまたはpveceph を使用して CLI で作成できます。例えば
pveceph osd create /dev/sd[X].
|
|
少なくとも3台のノードと、ノード間で均等に分散された少なくとも12台のOSDを備えたCephクラスタを推奨します。 |
ディスクが以前(例えばZFSやOSDとして)使用されていた場合は、まずその使用痕跡をすべて消す必要があります。パーティションテーブル、ブートセクタ、その他のOSDの残りを削除するには、以下のコマンドを使用します:
ceph-volume lvm zap /dev/sd[X]--destroy
|
|
上記のコマンドはディスク上のすべてのデータを破壊します! |
Ceph Krakenリリースから、Bluestore
[Ceph Bluestorehttps://ceph.com/community/new-luminous-bluestore/]
という新しいCeph OSDストレージタイプが導入されました。 Ceph Luminous以降、OSD作成時のデフォルトはこれです。
pveceph osd create /dev/sd[X].
OSDに別のDB/WALデバイスを使いたい場合は、-db_devと -wal_devオプションで指定できます。別々に指定しない場合、WALはDBと一緒に配置されます。
pveceph osd create /dev/sd[X]-db_dev /dev/sd[Y]-wal_dev /dev/sd[Z].
それぞれ-db_sizeと-wal_sizeパラメータで直接サイズを指定できます。それらが与えられない場合は、以下の値(順番に)が使われます:
-
Ceph設定からのbluestore_block_{db,wal}_size...
-
... データベース、セクションosd
-
... データベース、セクショングローバル
-
...ファイル、セクションosd
-
... ファイル、セクショングローバル
-
-
OSDサイズの10%(DB)/1%(WAL)
|
|
DBはBlueStoreの内部メタデータを格納し、WALはBlueStoreの内部ジャーナルまたはライトアヘッド・ログです。パフォーマンスを向上させるために、高速なSSDまたはNVRAMを使用することをお勧めします。 |
Ceph Luminous以前は、Ceph OSDのデフォルトのストレージタイプとしてファイルストアが使用されていました。 Ceph Nautilus以降、Proxmox VEではpvecephを使用したOSDの作成がサポートされなくなりました。ファイルストアOSDを作成する場合は、ceph-volumeを直接使用してください。
ceph-volume lvm create --filestore --data /dev/sd[X]--journal /dev/sd[Y]
OSDの破棄
GUIでOSDを削除するには、まずツリービューでProxmox VEノードを選択し、Ceph → OSDパネルに進みます。次に、破棄するOSDを選択し、OUTボタンをクリックします。OSDのステータスがinから outに変わったら、STOPボタンをクリックします。最後に、ステータスがupから downに変わったら、Moreドロップダウン・メニューからDestroyを選択します。
CLIでOSDを削除するには、次のコマンドを実行します。
ceph osd out<ID> systemctlstop ceph-osd@<ID>.service
|
|
最初のコマンドは、データ配布にOSDを含めないようにCephに指示します。2番目のコマンドは、OSDサービスを停止します。この時点まで、データは失われません。 |
次のコマンドはOSDを破棄します。さらにパーティションテーブルを破棄するには、-cleanupオプションを指定します。
pveceph osd destroy<ID>です。|
|
上記のコマンドはディスク上のすべてのデータを破壊します! |
Cephプール
プールの作成と編集
Proxmox VEホストのコマンドラインまたはWebインタフェースから、Ceph → Poolsでプールを作成および編集できます。
オプションが指定されていない場合、デフォルトで128個のPG、3個のレプリカ、2個のレプリカのmin_sizeを設定します。
|
|
min_sizeを1に設定しないでください。min_sizeが1のレプリケート・プールでは、レプリカが1つしかないときにオブジェクトに対するI/Oが許可されるため、データ損失、不完全なPG、または未発見のオブジェクトが発生する可能性があります。 |
PG-Autoscalerを有効にするか、セットアップに基づいてPG数を計算することをお勧めします。計算式とPG計算機
[PG計算機https://web.archive.org/web/20210301111112/http://ceph.com/pgcalc/]
はオンラインで参照できます。Ceph Nautilus以降では、セットアップ後にPG数
[配置グループhttps://docs.ceph.com/en/quincy/rados/operations/placement-groups/]
を変更できます。
PG autoscaler
[Automated Scalinghttps://docs.ceph.com/en/quincy/rados/operations/placement-groups/#automated-scaling]
は、バックグラウンドでプールの PG カウントを自動的にスケールできます。ターゲット サイズまたはターゲット比率の詳細パラメータを設定すると、PG オートスケーラがより良い決定を下すのに役立ちます。
pveceph pool create< プール名>--add_storages
|
|
プールにストレージを自動的に定義したい場合は、Webインタフェースで「Add as Storage」チェックボックスをチェックしたままにするか、プール作成時にコマンドラインオプション--add_storagesを使用します。 |
プールオプション
- 名称
-
プールの名前。これは一意でなければならず、後から変更することはできません。
- サイズ
-
オブジェクトあたりのレプリカ数。Cephは常にオブジェクトのコピーをこの数にしようとします。デフォルト:3。
- PGオートスケールモード
-
自動 PG スケーリングモード
[autoscaler]
プールの。warn に設定すると、プールの PG 数が最適でない場合に警告メッセージを生成します。デフォルト:warn。 - ストレージとして追加
-
新しいプールを使用して、VM またはコンテナ・ストレージを構成します。 デフォルト:true(作成時にのみ表示されます)。
- 最小サイズ
-
オブジェクトあたりの最小レプリカ数。PGのレプリカ数がこの数未満の場合、Cephはプール上のI/Oを拒否します。デフォルト:2。
- クラッシュルール
-
クラスタ内のオブジェクト配置のマッピングに使用するルール。これらのルールは、クラスタ内でのデータの配置方法を定義します。デバイスベースのルールについては、Ceph CRUSH & デバイスクラスを参照してください。
- # PG数
-
[placement_groups]
プールが最初に持つべき配置グループの数。デフォルト:128。 - 目標比率
-
プールで予想されるデータの比率。PG オートスケーラは、他の比率セットに対する比率を使用します。両方が設定されている場合は、ターゲットサイズよりも優先されます。
- 対象サイズ
-
プールに予想されるデータ量。PGオートスケーラーは、このサイズを使用して最適なPG数を推定します。
- 最低# PG数
-
配置グループの最小数。この設定は、そのプールの PG カウントの下限を微調整するために使用されます。PG オートスケーラーは、この閾値未満の PG をマージしません。
Cephプールの処理の詳細については、Cephプール操作
[Cephプール操作https://docs.ceph.com/en/quincy/rados/operations/pools/]
マニュアルを参照してください。
消去符号化プール
消去符号化(EC)は「順方向エラー訂正」符号の一形態で、ある程度のデータ損失から回復することができます。消去符号化されたプールは、複製されたプールと比較してより多くの使用可能領域を提供できますが、その分パフォーマンスが低下します。
一方、消去コード化プールでは、データはk個のデータチャンクに分割され、さらにm個のコーディング(チェック)チャンクが追加されます。これらのコーディング・チャンクは、データ・チャンクが欠落した場合にデータを再作成するために使用されます。
符号化チャンクの数mは、データを失うことなくOSDを失うことができる数を定義します。保存されるオブジェクトの総量はk + mです。
ECプールの作成
消去符号化(EC)プールはpvecephCLIツールで作成できます。 ECプールを計画するには、レプリケートされたプールとは動作が異なるという事実を考慮する必要があります。
ECプールのデフォルトのmin_sizeは mパラメータによって異なります。m = 1の場合、ECプールのmin_sizeは kになります。m > 1の場合、min_sizeは k + 1になります。Cephのドキュメントでは、保守的なmin_sizeとして k + 2
[Ceph Erasure Coded Pool Recoveryhttps://docs.ceph.com/en/quincy/rados/operations/erasure-code/#erasure-coded-pool-recovery]
を推奨しています。
利用可能なOSDがmin_size未満である場合、プールへのIOは、再び十分なOSDが利用可能になるまでブロックされます。
|
|
消去コード化されたプールを計画するときは、min_sizeに注意してください。そうしないと、IOがブロックされてしまいます。 |
たとえば、k = 2、m = 1のECプールは、size = 3、min_size = 2となり、1つのOSDが故障しても運用を継続します。プールがk = 2、m = 2で構成されている場合、サイズ = 4、min_size = 3となり、1つのOSDが失われた場合でも運用を継続します。
新しいECプールを作成するには、以下のコマンドを実行します:
pveceph pool create<pool-name>--erasure-codingk=2,m=1
オプションのパラメータはfailure-domainと device-classです。プールで使用されるECプロファイル設定を変更する必要がある場合は、新しいプロファイルで新しいプールを作成する必要があります。
これにより、新しいECプールと、RBDオマップとその他のメタデータを格納するために必要な複製プールが作成されます。最終的に、<プール名>-データと<プール名>-メタデータ・プールが作成されます。デフォルトの動作では、一致するストレージ構成も作成されます。この動作が不要な場合は、--add_storages 0パラメータを指定することで無効にすることができます。 ストレージ構成を手動で構成する場合、data-poolパラメータを設定する必要があることに注意してください。その場合のみ、ECプールがデータ・オブジェクトの格納に使用されます。例えば
|
|
オプションのパラメータ-size、-min_size、および-crush_ruleは、複製されたメタデータ・プールには使用されますが、消去コード化されたデータ・プールには使用されません。 データ・プールでmin_sizeを変更する必要がある場合は、後で変更できます。sizeおよびcrush_ruleパラメータは、消去コード化されたプールでは変更できません。 |
ECプロファイルをさらにカスタマイズする必要がある場合は、Cephツールで直接作成します
[Ceph Erasure Code Profilehttps://docs.ceph.com/en/quincy/rados/operations/erasure-code/#erasure-code-profiles]
、profileパラメータで使用するプロファイルを指定します。
例えば
pveceph pool create<pool-name>--erasure-codingprofile=<profile-name >。
Destroy Pools
GUIでプールを破棄するには、ツリービューでノードを選択し、Ceph → Poolsパネルに移動します。破棄するプールを選択し、破棄ボタンをクリックします。プールの破棄を確認するには、プール名を入力する必要があります。
以下のコマンドを実行してプールを破棄します。関連するストレージも削除するには、-remove_storagesを指定します。
pveceph プール破壊<名前|
|
プールの削除はバックグラウンドで実行されるため、時間がかかることがあります。 このプロセスの間、クラスタのデータ使用量が減少していることがわかります。 |
PG オートスケーラー
PGオートスケーラを使用すると、クラスタが各プールに格納されている(予想される)データ量を考慮し、適切なpg_num値を自動的に選択できます。 Ceph Nautilusから使用できます。
調整が有効になる前に、PGオートスケーラー・モジュールをアクティブにする必要がある場合があります。
ceph mgr moduleenablepg_autoscalerオートスケーラーはプールごとに構成され、以下のモードがあります:
|
言い聞かす |
pg_numの推奨値が現在の値と大きく異なる場合、健全性の警告が発行されます。 |
|
オン |
pg_numは自動的に調整され、手動で操作する必要はありません。 |
|
オフ |
自動的なpg_numの調整は行われず、PG数が最適でない場合に警告は発行されません。 |
スケーリング係数は、target_size、target_size_ratio、pg_num_minオプションで将来のデータ保存を容易にするように調整することができます。
|
|
デフォルトでは、オートスケーラは、プールのPGカウントが3倍ずれている場合にチューニングを検討します。これは、データ配置のかなりのシフトにつながり、クラスタに高負荷をもたらす可能性があります。 |
PGオートスケーラの詳細については、Cephのブログ -Nautilusの新機能を参照してください:PGマージとオートチューニング。
Ceph CRUSH & デバイスクラス
[https://ceph.com/assets/pdfs/weil-crush-sc06.pdf]
(ControlledReplication Under Scalable Hashing)アルゴリズムはCephの基盤です。
CRUSHはどこにデータを保存し、どこから取得するかを計算します。これには、中央のインデックス作成サービスが必要ないという利点があります。CRUSHはプールのOSD、バケット(デバイスの位置)、ルールセット(データの複製)のマップを使用して動作します。
|
|
詳細については、CephドキュメントのCRUSH map [CRUSH maphttps://docs.ceph.com/en/quincy/rados/operations/crush-map/] のセクションを参照してください。 |
このマップは、異なるレプリケーション階層を反映するように変更できます。オブジェクトのレプリカは、望ましい分散を維持したまま、(障害ドメインなど)分離することができます。
一般的な構成は、異なるCephプールに異なるクラスのディスクを使用することです。 このため、Cephはルミナスでデバイスクラスを導入し、ルールセットを簡単に生成できるようにしました。
デバイスクラスは、ceph osdツリー出力で確認できます。これらのクラスは独自のルートバケットを表し、以下のコマンドで確認できます。
ceph osd crush tree --show-shadow
上記コマンドの出力例:
ID CLASS WEIGHT TYPE NAME-16nvme2.18307root default~nvme-13nvme0.72769host sumi1~nvme 12nvme0.72769osd.12-14nvme0.72769host sumi2~nvme 13nvme0.72769osd.13-15nvme0.72769host sumi3~nvme 14nvme0.72769osd.14 -17.70544root default-32.56848host sumi112nvme0.72769osd.12-5 2.56848host sumi213nvme0.72769osd.13-7 2.56848host sumi314nvme0.72769osd.14
特定のデバイスクラス上のオブジェクトのみを配布するようにプールに指示するには、まず、デバイスクラス用のルールセットを作成する必要があります:
ceph osd crush rule create-replicated< ルール名><ルート ><障害 ドメイン><クラス
<ルール名 |
プールと接続するためのルール名 (GUI および CLI) |
<ルート |
どのクラッシュルートに属するか(デフォルトのCephルート「default」) |
<失敗ドメイン |
どの障害ドメインにオブジェクトを配布するか (通常はホスト) |
<クラス |
使用する OSD バックアップ ストアのタイプ (例: nvme、sd、hdd) |
ルールがCRUSHマップにあれば、そのルールセットを使用するようにプールに指示することができます。
ceph osdプールセット < プール名>crush_rule<rule-name >。
|
|
プールにすでにオブジェクトが含まれている場合は、それに応じてこれらを移動する必要があります。 セットアップによっては、クラスタに大きなパフォーマンスの影響が生じる可能性があります。別の方法として、新しいプールを作成し、ディスクを個別に移動することができます。 |
Ceph クライアント
前のセクションのセットアップに続いて、Proxmox VEを設定して、このようなプールを使用してVMおよびコンテナイメージを保存できます。GUIを使用して新しいRBDストレージを追加するだけです(Ceph RADOS Block Devices (RBD)の項を参照)。
また、外部Cephクラスタ用の定義済みの場所にキーリングをコピーする必要があります。CephがProxmoxノード自体にインストールされている場合、これは自動的に実行されます。
|
|
ファイル名は<storage_id> + `.keyring で、<storage_id>は/etc/pve/storage.cfg のrbd: の後に記述します。以下の例では、my-ceph-storageが<storage_id> です: |
mkdir /etc/pve/priv/ceph cp /etc/ceph/ceph.client.admin.keyring /etc/pve/priv/ceph/my-ceph-storage.keyring
CephFS
Cephはファイルシステムも提供し、RADOSブロックデバイスと同じオブジェクトストレージ上で動作します。メタデータ サーバ(MDS)を使用して、RADOSでバックアップされたオブジェクトをファイルとディレクトリにマッピングするため、CephはPOSIX準拠の複製ファイルシステムを提供できます。これにより、クラスタ化された可用性の高い共有ファイルシステムを簡単に構成できます。Cephのメタデータサーバは、ファイルがCephクラスタ全体に均等に分散されることを保証します。その結果、負荷が高い場合でも、NFSなどの従来の共有ファイルシステムアプローチで問題となる、単一のホストを圧倒することはありません。
メタデータサーバー (MDS)
CephFSを機能させるには、少なくとも1つのメタデータサーバを構成して実行する必要があります。データシートは、Proxmox VE Web GUIのNode -> CephFSパネルまたはコマンドラインから作成できます:
プベケフ・マッズ・クリエイト
クラスタには複数のメタデータサーバーを作成できますが、デフォルト設定では一度にアクティブにできるのは1つのみです。データシートまたはそのノードが応答しなくなった(またはクラッシュした)場合、別のスタンバイデータシートがアクティブに昇格します。 作成時にhotstandbyパラメータオプションを使用するか、すでに作成済みの場合は設定/追加することで、アクティブとスタンバイのデータシート間のハンドオーバーを高速化できます:
mdsスタンバイ再生 = true
を/etc/pve/ceph.confの各データシートセクションに追加します。この設定を有効にすると、指定されたデータシートはウォーム状態を維持し、アクティブなデータシートにポーリングします。
|
|
このアクティブなポーリングは、システムおよびアクティブなデータシートにさらなるパフォーマンスの影響を与えます。 |
Luminous (12.2.x)以降、複数のアクティブなメタデータサーバーを同時に実行することができますが、これは通常、大量のクライアントが並行して実行されている場合にのみ有用です。そうでない場合、データシートがシステムのボトルネックになることはほとんどありません。この設定を行う場合は、Cephのドキュメントを参照してください。
[複数のアクティブなデータシートデーモンの設定https://docs.ceph.com/en/quincy/cephfs/multimds/]
CephFS を作成します。
Proxmox VEのCephFSの統合により、Webインタフェース、CLI、または外部APIインタフェースを使用して簡単にCephFSを作成できます。これを動作させるには、いくつかの前提条件が必要です:
-
Cephパッケージのインストール- 以前に実行済みの場合は、最新のシステムで再実行して、CephFS関連パッケージがすべてインストールされるようにします。
これが完了したら、Web GUIのNode -> CephFSパネルまたはコマンドラインツールのpvecephなどを使用して、CephFSを作成できます:
pveceph fs create --pg_num 128 --add-storage
これにより、cephfsという名前のCephFSが作成され、128の配置グループを持つcephfs_dataという名前のデータ用プールと、データプールの配置グループの4分の1(32)を持つcephfs_metadataという名前のメタデータ用プールが使用されます。
セットアップに適した配置グループ番号(pg_num)の詳細については、Proxmox VE managed Ceph poolの章を参照するか、Cephのドキュメントを参照してください。
[placement_groups]
. さらに、--add-storageパラメータを使用すると、CephFSが正常に作成された後、Proxmox VEストレージ構成に追加されます。
CephFS を破棄します。
|
|
CephFSを破棄すると、そのデータはすべて使用できなくなります。これは元に戻せません! |
CephFSを完全かつ優雅に削除するには、次の手順が必要です:
-
すべての非Proxmox VEクライアントを切断します(たとえば、ゲストのCephFSをアンマウントします)。
-
関連するすべてのCephFS Proxmox VEストレージエントリを無効にします(自動的にマウントされないようにします)。
-
破棄するCephFS上のゲスト(ISOなど)から、使用済みのリソースをすべて削除します。
-
を使用して、すべてのクラスタノードのCephFSストレージを手動でアンマウントします。
umount /mnt/pve/<STORAGE-NAME>。
ここで、<STORAGE-NAME>はProxmox VE内のCephFSストレージの名前です。
-
メタデータサーバ(MDS)を停止するか破棄して、そのCephFSでメタデータサーバ(MDS)が実行されていないことを確認します。これは、Webインタフェースまたはコマンドラインインタフェースで実行できます。後者の場合は、次のコマンドを実行します:
pveceph stop --service mds.NAME
を止めるか
pveceph mds destroy NAME
破壊するために。
アクティブなデータシートが停止または削除されると、スタンバイサーバーは自動的にアクティブに昇格することに注意してください。
-
これで、CephFSを次のように破壊できます。
pveceph fs destroy NAME --remove-storages --remove-pools
これにより、基盤となるCephプールが自動的に破棄され、pve設定からストレージが削除されます。
これらの手順の後、CephFSを完全に削除し、他のCephFSインスタンスがある場合は、停止したメタデータサーバを再度起動してスタンバイとして動作させることができます。
Ceph メンテナンス
OSDの交換
Cephで最も一般的なメンテナンスタスクの1つは、OSDのディスクを交換することです。ディスクがすでに故障状態になっている場合は、Destroy OSDの手順を実行します。Cephは、可能であれば残りのOSDにそれらのコピーを再作成します。このリバランシングは、OSD障害が検出されるか、OSDがアクティブに停止されるとすぐに開始されます。
|
|
プールのデフォルトのsize/min_size (3/2)では、「size + 1」ノードが利用可能な場合にのみ復旧が開始されます。この理由は、CephオブジェクトバランサCRUSHのデフォルトがフルノードを`障害ドメイン'としているためです。 |
GUIから機能しているディスクを交換するには、Destroy OSDの手順を実行します。唯一の追加は、OSDを停止して破壊する前に、クラスタがHEALTH_OKを表示するまで待つことです。
コマンドラインでは、以下のコマンドを使用します:
ceph osd out osd.<id>
OSDを安全に削除できるかどうかは、以下のコマンドで確認できます。
ceph osdのsafe-to-destroy osd.<id>。
上記のチェックでOSDを取り外しても安全であることがわかったら、次のコマンドを実行してください:
systemctl stop ceph-osd@<id>.service pveceph osd destroy <id>
古いディスクを新しいディスクと交換し、OSDの作成で説明したのと同じ手順を使用します。
トリム/廃棄
VMやコンテナでfstrim(discard)を定期的に実行するのは良い習慣です。 これにより、ファイルシステムが使用しなくなったデータ・ブロックが解放されます。これにより、データ使用量とリソース負荷が軽減されます。最近のオペレーティング・システムでは、このようなdiscardコマンドを定期的にディスクに発行しています。仮想マシンがディスク廃棄オプションを有効にしていることを確認するだけです。
スクラブ&ディープスクラブ
Cephは配置グループをスクラブすることで、データの整合性を確保します。CephはPG内のすべてのオブジェクトの健全性をチェックします。スクラブには、毎日の安価なメタデータチェックと毎週のディープデータチェックの2つの形式があります。毎週のディープスクラブはオブジェクトを読み取り、チェックサムを使用してデータの整合性を確保します。実行中のスクラブがビジネス(パフォーマンス)ニーズに干渉する場合、スクラブ
[Ceph scrubbing https://docs.ceph.com/en/quincy/rados/configuration/osd-config-ref/#scrubbing]
が実行される時間を調整できます。
Proxmox VE + Ceph HCIクラスタのシャットダウン
Proxmox VE + Cephクラスタ全体をシャットダウンするには、まずすべてのCephクライアントを停止します。これらは主にVMとコンテナになります。Ceph FSまたはインストールされているRADOS GWにアクセスする可能性がある追加のクライアントがある場合は、これらも停止します。 Proxmox VEツールを使用してパワーダウンすると、可用性の高いゲストは状態を停止に切り替えます。
すべてのクライアント、VM、およびコンテナがオフになるか、Cephクラスタにアクセスしなくなったら、Cephクラスタが健全な状態であることを確認します。Web UIまたはCLIのいずれかを使用します:
ceph -s
すべての自己回復アクションを無効にし、CephクラスタのクライアントIOを一時停止するには、Ceph → OSDパネルまたはCLIで次のOSDフラグを有効にします:
ceph osd set noout ceph osd set norecover ceph osd set norebalance ceph osd set nobackfill ceph osd set nodown ceph osd set pause
モニター(MON)のないノードのパワーダウンを開始します。これらのノードのパワーダウンが完了したら、モニターのあるノードのパワーダウンを続けます。
クラスタの電源を入れるときは、モニタ(MON)があるノードを最初に起動します。すべてのノードが稼働したら、すべてのCephサービスが稼働していることを確認してから、OSDフラグを再度設定解除します:
ceph osd unset pause ceph osd unset nodown ceph osd unset nobackfill ceph osd unset norebalance ceph osd unset norecover ceph osd unset noout
これでゲストを起動できます。高可用性ゲストは、電源が入ると状態が開始状態に変わります。
Cephの監視とトラブルシューティング
Cephツールを使用するか、Proxmox VEAPIを介してステータスにアクセスするかして、Cephデプロイの健全性を最初から継続的に監視することが重要です。
以下のCephコマンドを使用して、クラスタが健全かどうか(HEALTH_OK)、警告があるかどうか(HEALTH_WARN)、またはエラーかどうか(HEALTH_ERR)を確認できます。クラスタが不健全な状態の場合、以下のステータスコマンドを使用すると、現在のイベントと取るべきアクションの概要もわかります。
# 単発出力 pve# ceph -s # ステータス変更を継続的に出力 (CTRL+C で停止) pve# ceph -w
より詳細に表示するには、すべてのCephサービスに/var/log/ceph/下のログファイルがあります。詳細が必要な場合は、ログレベルを調整できます。
[Ceph log and debugginghttps://docs.ceph.com/en/quincy/rados/troubleshooting/log-and-debug/]
。
Ceph troubleshooting
[Ceph troubleshootinghttps://docs.ceph.com/en/quincy/rados/troubleshooting/]
Cephクラスタの詳細については、公式Webサイトを参照してください。
著作権および免責事項
著作権 © 2007-2022 Proxmox Server Solutions GmbH
このプログラムはフリー・ソフトウェアです。あなたは、Free Software Foundationによって発行されたGNU Affero General Public Licenseのバージョン3、またはそれ以降のバージョンのいずれかに従って、このプログラムを再配布したり、変更したりすることができます。
このプログラムは有用であることを期待して配布されていますが、商品性や特定の目的への適合性についての暗黙の保証もなく、いかなる保証もありません。詳細はGNU Affero General Public Licenseをご覧ください。
あなたはこのプログラムとともにGNU Affero General Public Licenseのコピーを受け取っているはずです。 そうでない場合は、https://www.gnu.org/licenses/をご覧ください。




