Linux で Ceph 分散ソフトウェアをインストールして使用する方法に関するチュートリアル

Linux で Ceph 分散ソフトウェアをインストールして使用する方法に関するチュートリアル

序文

k8s クラスターにはどのようなストレージが適していますか? 分散ストレージ ceph を調査したので、ここで皆さんと共有したいと思います。

1. 基本環境

1. サービス配信

ノード1: 管理者、OSD、管理者
ノード2: osd、mds、クライアント

2. ネットワーク構成(全ノード)

ホスト名を変更します。ホスト名にはアンダースコアを使用できないことに注意してください。ホスト名 (/etc/hostname) を変更します。
ホスト名ctl set-hostname ノード1
ホスト名ctl set-hostname node2

/etc/hostsを変更する vim /etc/hostsを追加する
192.168.84.131 ノード1
192.168.84.132 ノード2

3. SSHパスワードフリーアクセス(全ノード)

sshキー生成 
ssh-copy-id -i id_rsa.pub [email protected]

2. インストール

1. 新しくマウントされたハードディスクを osd のストレージとしてフォーマットします (これはすべての osd ノードに対して実行する必要があります)

mkfs.xfs /dev/sdb
blkid /dev/sdb
mkdir -p /data/osd
vim /etc/fstab 
UUID="57493ebb-6744-4355-a7f6-ec7538b4b65e" /data/osd xfs デフォルト 0 0
マウント -a

2. 管理ノードnode1にceph-deploy管理ツールをインストールします。

(1)yumソースを設定する

vim /etc/yum.repos.d/ceph.repo
[セフ]
名前=セフ
ベースURL=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/x86_64/
gpgcheck=0
優先度=1
 
[セフノアーチ]
名前=セフノアーチ
ベースURL=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/noarch/
gpgcheck=0
優先度=1
 
[cephソース]
name=Ceph ソースパッケージ
ベースURL=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/SRPMS
gpgcheck=0
優先度=1

#yum キャッシュをクリアし、yum clean all を再読み込みします
yum メイクキャッシュ

(2)ceph-deploy管理ツールをインストールする

yum -y ceph-deployをインストールします

(3)モニターサービスを作成する

mkdir /data/ceph
cd /data/ceph/
ceph-deploy 新しいノード1

ここに画像の説明を挿入

ceph.conf ceph 設定ファイル ceph-deploy-ceph.log ceph ログ ceph.mon.keyring ceph モニター キー リング ファイル #デーモンの数、つまりコピーの数を変更する場合は、ceph.conf 設定ファイルに次の行を追加します osd_pool_default_size = 1 ##コピーの数

3. すべてのホストにcephをインストールする

ceph-deploy ノード1 ノード2 をインストール

#上記のコマンドは、公式サーバーからダウンロードしてインストールするためのものです。これは非常に遅いため、通常はこの方法では使用されません。以前は、管理ノード node1 は、yum を使用して直接インストールできる Ceph の Alibaba Cloud ソースで構成されていました。ただし、ホスト node2 では、まず yum ソースを構成してからインストールする必要があります。

yum -y epel-release をインストールします
yum -y ceph-release をインストールします
yum -y ceph をインストールします。ceph-radosgw

4. 管理ノードにモニターをインストールする

cd /data/ceph/
ceph-deploy mon ノード1を作成します
ceph-deploy ノード1のキー収集

ここに画像の説明を挿入

5. osdを作成する

#osd ディレクトリは以前に作成されマウントされているため、ここでは osd ノードを作成するだけで済みます。
ceph-deploy osd は、node1:/data/osd を準備します。node2:/data/osd

異なるホスト上で対応するノードがファイルを生成することがわかります

ここに画像の説明を挿入ここに画像の説明を挿入

6. osdをアクティブにする

#管理ノードnode1の各ノードのosdをアクティブ化します
ceph-deploy osd をアクティブ化します。node1:/data/osd、node2:/data/osd

ここに画像の説明を挿入

#上の図は、理由が権限不足であることを明確に示しており、777を直接承認します
chmod 777 -R /データ/osd/

#ceph-deploy osd を再度アクティブ化 activate node1:/data/osd node2:/data/osd

アクティベーションが完了したら、コマンドを使用してosdを表示できます。

ceph-deploy osd list node1 #スペースで区切って複数のノードを表示することもできます

ここに画像の説明を挿入

# コマンドを使用して、各ノードに設定ファイルと管理キーを同期します。これにより、ceph コマンドを使用するときに各ノードがモニター アドレスと ceph.client.admin.keyring キーを指定する必要がなくなります。注: 各ノードの ceph.client.admin.keyring キーの権限も変更する必要があります。ceph-deploy admin node1 node2
ノード1:
cd /data/ceph
chmod +r ceph.client.admin.keyring

ノード2:
cd /etc/ceph
chmod +r ceph.client.admin.keyring

最後に、osd ステータスを確認します。
脳の健康

ここに画像の説明を挿入

7. mdsを展開する

ceph-deploy mds ノード2を作成します
ceph mds 統計

クラスターのステータスを確認します。
セフ -s

結論

その時のクラスタステータスのスクリーンショットを撮り忘れました。ceph -s コマンドを実行します。「HEALTH_OK」という文字が表示されていれば、クラスタは正常にデプロイされています。

Linux での Ceph の分散インストールと使用に関するチュートリアルに関するこの記事はこれで終わりです。Linux Ceph のインストールに関する関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Centos7 で yum を使用して Ceph 分散ストレージをインストールするチュートリアル
  • Centos7.0 に ceph (JEWEL) 以降のバージョンをインストールする例の分析
  • Ceph クラスターで RadosGW オブジェクト ストレージを使用する詳細な説明

<<:  HTML入力で値が変更されたときにリスナーイベントを追加することの簡単な分析

>>:  測定画像HTTPリクエスト

推薦する

webpackコード断片化の実装

目次背景コモンズチャンクプラグイン分割チャンク構成リソースを非同期に読み込む要約する背景高性能なアプ...

CSS3+ベジェ曲線でスケーラブルな入力検索ボックス効果を実現

では、早速レンダリングを見てみましょう。 コア コードはtransition: cubic-bezi...

Vueでaxiosをカプセル化するいくつかの方法

目次ベーシックエディションステップ1: Axiosを構成するステップ2: リクエストをカプセル化する...

Ubuntu での CUDA と CUDNN のインストールとアンインストールの実装

目次序文グラフィックドライバーをインストールするCUDAをアンインストールするCUDAをインストール...

MySQL 5.5 のインストールと設定のグラフィックチュートリアル

MySQL 5.5 のインストールと構成のチュートリアル ノートを整理し、全員と共有します。 1.公...

25 div+css プログラミングのヒントとコツ

1. ul タグには、Mozilla ではデフォルトでパディング値がありますが、IE ではマージン値...

Windows でのシンプルな Mysql バックアップ BAT スクリプトの共有

序文この記事では、Windows で Mysql をバックアップするための簡単な BAT スクリプト...

あるテーブルのデータの列を別のテーブルの列にコピーするMySQLメソッド

mysql 1 つのテーブル列を別のテーブルにコピーする場合によっては、フィールドから別の新しいフィ...

WeChatアプレットは記録機能を実装します

この記事では、WeChatアプレットのレコード機能を実装するための具体的なコードを参考までに紹介しま...

Docker に Tomcat をインストールし、Springboot プロジェクトの WAR パッケージをデプロイする方法

簡単です。チュートリアルを見てください。ブロガー1. まずdockerを起動するサービスdocker...

ApacheとTomcatによるクラスタ環境構築プロセスの分析

実際、Apacheクラスタを構築するのは難しくありません。私もインターネットで情報を見つけて自分で設...

ウェブフロントエンド開発の細部

1 選択タグは閉じられている必要があります <select></select>...

html2canvas で破線境界線を実装する例

html2canvas は、HTML 要素からキャンバスを生成するライブラリです。描画されるキャンバ...

CSSはフロートをシミュレートして、画像の左右を囲む中央テキストの効果を実現します。

画像の周囲にテキストを折り返すとは何ですか?これは次の図の効果です。 エフェクトのCSSコードはここ...

シェルスクリプトによるDockerコンテナの起動順序の制御の詳細な説明

1. 遭遇した問題分散プロジェクトの展開プロセスでは、サーバーの再起動後にアプリケーション(データベ...