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

推薦する

Centos7 esxi6.7 テンプレートの実際のアプリケーションの詳細な説明

1. Centos7.6システムを作成し、システムを最適化する1. NetworkManagerをオ...

mysql バッチで大量のデータを削除する

mysql バッチで大量のデータを削除する1000万件のレコードを持つテーブル(syslogs)があ...

よく使われるLinuxコマンド「ll」が無効、またはコマンドが見つからないという問題を解決します

質問:よく使用されるコマンド「ll」が無効であるか、コマンドが見つかりません理由: 「ll」コマンド...

マークアップ言語 - Web アプリケーション CSS スタイル

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

Docker で Confluence をデプロイする

1. 環境要件1. Docker 17以上がインストールされている2. コンテナ操作docker r...

ウェブデザインでは、まずウェブサイトの包括的なイメージの位置付けが必要です。

⑴ 内容によって形式が決まります。まず内容を充実させ、次にブロックに分割し、トーンを決め、最後に細部...

無料のパブリック STUN サーバー

無料のパブリック STUN サーバーSIP 端末がプライベート IP アドレスを使用する場合、スタン...

CSS でフローティングにより親要素の高さが崩れる問題を解決するいくつかの方法

1. ドキュメントフローとフローティング1. ドキュメントフローとは何ですか? HTML では、ドキ...

js 日付と時刻のフォーマット方法の例

js 日付時刻形式日付と時刻を指定された形式に変換します。例: YYYY-mm-dd HH:MM は...

Linux C バックグラウンドサービスプログラムの単一プロセス制御の実装

導入通常、バックグラウンド サーバー プログラムには 1 つのプロセスのみが必要ですが、単一のプロセ...

docker-compose ネットワーク設定についての簡単な説明

ネットワーク使用チュートリアル公式サイト docker-compose.yml リファレンスドキュメ...

ノードの対応するバージョンに関する簡単な説明 node-sass sass-loader

目次ノードのバージョンが一致しない、ノードをアップグレードまたはダウングレードするnvm を使用して...

Linux で Nginx ロード バランシングを使用して複数の Tomcat を構成する方法

Linux に nginx と複数の tomcat をインストールする方法はここでは紹介しません。不...

MySQLクエリキャッシュに関するヒント

目次序文QueryCache の概要クエリキャッシュ構成QueryCache の使用queryCac...

mysql のファイル mysql-bin.000001 とは何ですか? 削除できますか?

ポートを使用して MySQL をインストールした後、しばらくすると /var の容量が不足しているこ...