|
Cephは、高性能、信頼性、拡張性に優れたオープンソースのストレージプラットフォームです。オブジェクトレベル、ブロックレベル、ファイルレベルのストレージインターフェースを提供し、単一障害点の影響を受けずに運用できる、無料の分散ストレージシステムです。 このチュートリアルでは、Ubuntu 16.04サーバーにCephクラスターをインストールして設定する方法を説明します。Cephクラスターには以下のコンポーネントが含まれます。
前提条件
インストールには次のホスト名/IP を使用します。
ステップ1 - すべてのノードを構成する このインストールでは、Cephクラスタソフトウェアのインストール準備として、6つのノードすべてを設定します。そのため、すべてのノードで以下のコマンドを実行する必要があります。その後、すべてのノードにssh-serverがインストールされていることを確認してください。 Cephユーザーを作成する すべてのノードに cephuser という名前の新しいユーザーを作成します。
新しいユーザーを作成したら、cephuser にパスワードなしの sudo 権限を設定する必要があります。これにより、cephuser は sudo 権限を取得し、パスワードを入力せずに実行できるようになります。 次のコマンドを実行して構成を完了します。
NTPのインストールと設定 NTPをインストールして、すべてのノードの日付と時刻を同期します。まず、`ntpdate`コマンドを実行してNTP経由で日付を設定します。USプールのNTPサーバーを使用します。次に、NTPサービスを有効にして、起動時に起動します。
Open-vm-toolsをインストールする すべてのノードを VMware で実行している場合は、この仮想化ツールをインストールする必要があります。
Pythonとpartedをインストールする このチュートリアルでは、Cephクラスターを構築するためにPythonパッケージが必要です。Pythonとpython-pipをインストールしてください。
Hostsファイルの設定 vim エディタを使用して、すべてのノードのホスト ファイルを編集します。
次の設定を貼り付けます。
ホストファイルを保存し、Vim エディターを終了します。 これで、2 つのサーバー間でホスト名を ping して、ネットワーク接続をテストすることができます。
Ubuntu 16.04へのCephクラスターのインストール ステップ2 - SSHサーバーの設定 このステップでは、ceph-adminノードを設定します。管理ノードは、監視ノードとOSDノードの設定に使用されます。cephuserユーザーを使用してceph-adminノードにログインしてください。
管理ノードはすべてのクラスタノードのインストールと設定に使用されるため、ceph-admin のユーザーにはパスワードなしの SSH ログイン権限が必要です。「ceph-admin」ノードの cephuser ユーザーにパスワードなしの SSH ログイン権限を設定する必要があります。 cephuser の SSH キーを生成します。
パスワードは空白のままにしてください。 次に、SSH の設定ファイルを作成します。
次の設定を貼り付けます。
ファイルを保存して vim を終了します。 Ceph-admin の設定 設定ファイルの権限を 644 に変更します。
次に、ssh-copy-id コマンドを使用して、すべてのノードにキーを追加します。
プロンプトが表示されたら、cephuser パスワードを入力します。 Ceph-adminはすべてのクラスタノードにSSHキーを展開します。 次に、ceph-admin ノードから OSD1 サーバーにログインして、パスワードなしのログインが機能するかどうかをテストします。
ceph-admin からすべてのノード クラスタへの SSH パスワード削減 ステップ3 - Ubuntuファイアウォールを設定する セキュリティ上の理由から、サーバーのファイアウォールを有効にする必要があります。システムを保護するために、UbuntuのデフォルトのファイアウォールであるUfw(Uncomplicated Firewall)を使用することをお勧めします。このステップでは、すべてのノードでufwを有効にし、ceph-admin、ceph-mon、ceph-osdに必要なポートを開きます。 ceph-admin ノードにログインし、ufw パッケージをインストールします。
ポート 80、2003、4505-4506 を開き、ファイアウォールを再起動します。
ufw を有効にし、起動時に自動的に起動するように設定します。
Ceph サービスを備えた UFW ファイアウォール ceph-admin ノードから監視ノード mon1 にログインし、ufw をインストールします。
Ceph 監視ノードのポートを開き、ufw を有効にします。
***、各 OSD ノード (ceph-osd1、ceph-osd2、ceph-osd3) でポート 6800 ~ 7300 を開きます。 ceph-admin にログインし、各 ceph-osd ノードに ufw をインストールします。
OSD ノードのポートを開き、ファイアウォールを再起動します。
ufw ファイアウォールの設定が完了しました。 ステップ4 - Ceph OSDノードを構成する このチュートリアルでは、3 つの OSD ノードがあり、それぞれに 2 つのハード ドライブ パーティションがあります。
Cephディスクとして/dev/sdbを使用します。ceph-adminノードからすべてのOSDノードにログインし、/dev/sdbパーティションをXFSファイルシステムとしてフォーマットします。
fdisk コマンドを使用してパーティション テーブルを確認します。
/dev/sdb パーティションを XFS ファイル システムとしてフォーマットし、parted コマンドを使用して GPT パーティション テーブルを作成します。
次に、mkfs コマンドを使用してパーティションを XFS としてフォーマットします。
ここでパーティションを確認すると、XFS ファイルシステムの /dev/sdb パーティションが表示されます。
Ceph OSDノードのパーティションをフォーマットする ステップ5 - Cephクラスターを作成する このステップでは、ceph-admin からすべてのノードに Ceph をインストールします。まずは ceph-admin ノードにログインしましょう。
ceph-adminノードにceph-deployをインストールする まず、Pythonとpython-pipはすでにシステムにインストールされています。次に、PyPI PythonリポジトリからCephデプロイメントツール「ceph-deploy」をインストールする必要があります。 pip コマンドを使用して、ceph-admin ノードに ceph-deploy をインストールします。
注: すべてのノードが更新されていることを確認してください。 ceph-deploy ツールをインストールしたら、Ceph クラスターを構成するための新しいディレクトリを作成します。 新しいクラスターを作成する 新しいクラスター ディレクトリを作成します。
次に、ceph-deploy コマンドを使用して、監視ノード mon1 を定義して新しいクラスターを作成します。
このコマンドは、クラスター ディレクトリに Ceph クラスター構成ファイル ceph.conf を生成します。 新しい Ceph クラスタ構成を生成する vim を使用して ceph.conf を編集します。
[global] ブロックの下に、次の構成を貼り付けます。
ファイルを保存してエディターを終了します。 すべてのノードにCephをインストールする ここで、1 つのコマンドを使用して、ceph-admin ノードからすべてのノードに Ceph をインストールします。
このコマンドは、すべてのノード (mon1、osd1-3、ceph-admin) に Ceph を自動的にインストールします。インストールにはしばらく時間がかかります。 次に、mon1 ノードに監視ノードをデプロイします。
このコマンドは監視キーを作成します。ceph コマンドを使用してキーを確認します。
キーcephをデプロイする クラスターにOSDを追加する すべてのノードにCephをインストールしたら、OSDデーモンをクラスターに追加できます。OSDデーモンは、/dev/sdbディスクパーティションにデータとログを作成します。 すべての OSD ノード上の /dev/sdb ディスクの可用性を確認します。
OSDノードのディスクリスト 先ほど作成した /dev/sdb が XFS 形式で表示されます。 次に、zap オプションを使用して、すべての OSD ノード上のパーティション テーブルを削除します。
このコマンドは、すべての Ceph OSD ノード上の /dev/sdb 上のデータを削除します。 次に、すべての OSD ノードを準備し、結果にエラーがないことを確認します。
ceph-osd1-3 の結果が OSD で使用できる状態であることが確認された場合、コマンドが成功したことを意味します。 ceph-osdノードを準備する 次のコマンドを使用して OSD をアクティブ化します。
これで、OSDS ノードの sdb ディスクを再度確認できます。
Ceph OSDS が有効化されました その結果、/dev/sdb は 2 つのパーティションに分割されます。
あるいは、OSD ノードで直接確認することもできます。
Ceph OSDノードが作成された 次に、管理キーを関連するすべてのノードに展開します。
キー ファイルの権限を変更するには、すべてのノードで次のコマンドを実行します。
Ceph クラスターが Ubuntu 16.04 上に作成されました。 ステップ6 - Cephのテスト ステップ4では、新しいCephクラスターをインストールして作成し、OSDノードをクラスターに追加しました。次に、クラスターが期待どおりに動作することを確認するためにテストを行います。 ceph-admin ノードから Ceph 監視サーバー mon1 にログインします。
クラスターが正常かどうかを確認するには、次のコマンドを実行します。
次に、クラスターのステータスを確認します。
次の結果が表示されます。 Ceph クラスターのステータス Ceph が正常であることを確認してください。IP アドレスが「10.0.15.11」の監視ノード (mon1) が 1 つあります。OSD サーバーが 3 台稼働しており、使用可能なディスク容量は 45GB です。これは、15GB の Ceph データ OSD パーティションが 3 つあることを意味します。 Ubuntu 16.04 上に新しい Ceph クラスターを正常に作成しました。 |