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リクエスト

推薦する

Docker で ElasticSearch をデプロイする方法

1. ElasticSearch とは何ですか? Elasticsearch も Java で開発さ...

CSS3 のディスプレイのグリッドレイアウトとフレックスレイアウトの詳細な説明

Gird レイアウトは Flex レイアウトといくつかの類似点があり、どちらもコンテナーの内部項目を...

角丸四角形の HTML+CSS 実装コード

退屈していたので、突然角丸四角形の実装を思いつきました。しかし、私たちはこの話題についてあまりにも長...

Node.js のモジュール性、npm パッケージ マネージャーの説明

目次モジュール化の基本概念モジュール化とは何かモジュール分解の利点Node.js のモジュール性No...

MySQL InnoDB のトランザクション特性を確保するにはどうすればよいですか?

序文「データベース トランザクションの特徴は何ですか?」と尋ねられたら、 ACID 特性である原子性...

きちんとした標準的なHTMLタグの書き方を学ぶ

優れた HTML コードは美しい Web サイトの基礎となります。私が CSS を教えるときは、まず...

Linux ssh サービス情報と実行ステータスを表示する方法

Linux での ssh サービス構成など、ssh サーバー構成に関する記事は多数あります。ここでは...

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

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

MySQL 5.7.13 のインストールと設定方法の Mac でのグラフィック チュートリアル

MySQL 5.7.13 Mac用インストールチュートリアル、非常に詳細で、以下のように記録されてい...

CentOS仮想マシンの時刻を変更する方法

上はシステム時間、下はハードウェア時間です。ここでは変更を加えているので、同じくらいの速さになってい...

LeetCode の SQL 実装 (182. 重複するメールボックス)

[LeetCode] 182.重複メールPerson という名前のテーブル内のすべての重複メールを...

ティックアニメーション効果を作成するための svg+css または js

以前、上司からログイン後にチェックマークを表示できるプログラムを作るように言われたのですが、Baid...

MySQLの詳細な分析で使用法と結果を説明します

序文日常業務では、実行に時間のかかる SQL ステートメントを記録するために、スロー クエリを実行す...

HTML ウェブページの基本コンポーネントの概要

<br />Web ページ上の情報は主にテキストベースです。 Web ページでは、フォン...

MySQL: データの整合性

データ整合性は、エンティティ整合性、ドメイン整合性、参照整合性に分けられます。参照整合性:参照整合性...