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

推薦する

after疑似要素を使用して中空の三角矢印とXアイコンを実装する例

フロントエンドのデザイン案では、「X」や「>」の形をした閉じるボタンや、他の 3 方向の白抜き...

Linux で crontab 出力リダイレクトが有効にならない問題の解決方法

質問LINUX では、定期的なタスクは通常、cron デーモン プロセス [ps -ef | gre...

HTML で余分なテキストを省略記号に変換する方法

HTML で余分なテキストを省略記号として表示したい場合は、いくつかの方法があります。 1行テキスト...

Vueバインディングクラスとバインディングインラインスタイルの実装方法

目次バインディングクラスインラインスタイルのバインディングバインディングクラス方法1:オブジェクト構...

React.FCとReact.Componentの使用に関する簡単な説明

目次1. React.FC<> 2. クラスxxはReact.Componentを拡張し...

ウェブページのアクセス速度に関する主な問題と解決策

<br />ウェブサイトのアクセス速度はウェブサイトのトラフィックに直接影響を及ぼし、ウ...

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

MySQL8.0.22のインストールと設定(超詳細)参考までに、具体的な内容は次のとおりです。みなさ...

mysql 基本操作文コマンドの詳細な説明

1. MySQLに接続するフォーマット: mysql -h ホストアドレス -u ユーザー名 -p ...

カレンダーウィジェットのネイティブJS実装

この記事の例では、カレンダーウィジェットを実装するためのjsの具体的なコードを参考までに共有していま...

ウェブサイトのユーザビリティとコンバージョン率を向上させる 25 のツール

ウェブサイトの場合、ユーザビリティとは、ユーザーが必要な情報を効果的に見つけたり、タスクを完了したり...

VUE ユニアプリライフサイクルに関する簡単な説明

目次1. アプリケーションライフサイクル2. ページのライフサイクルコンポーネントライフサイクル要約...

VMware 仮想マシンの NAT モードを構成する方法

この記事では、VMware仮想マシンのNAT構成プロセスを詳しく説明します。具体的な内容は次のとおり...

Mysql 更新マルチテーブル共同更新方法の概要

次に、2 つのテーブルを作成し、一連の SQL 文を実行します。SQL 文の実行後にテーブル内のデー...

Angular の 12 の典型的な問題について簡単に説明します

目次1. Angular 2 アプリケーションのライフサイクル フックとは何ですか? 2. Angu...

nginx で SSL 証明書を設定して https サービスを実装する方法

前回の記事では、openssl を使用して無料の証明書を生成した後、この証明書を使用してローカル ノ...