GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS7にCephFSをマウントする方法

Cephはオープンソースのストレージプラットフォームであり、高性能、信頼性、スケーラビリティを提供します。これは、単一障害点なしでオブジェクト、ブロック、およびファイルレベルのストレージへのインターフェイスを提供する無料の分散ストレージシステムです。

これは、Cephチュートリアルシリーズの第3部です。最初のパートでは、CentOS7で複数のノードを使用して「Cephクラスター」を構築する方法を説明しました。 2番目のパートは、CentOS 7でCephをブロックデバイスとして使用する方法を示すガイドです。この3番目のパートでは、CentOS7にクライアントとしてCephをファイルシステムとしてマウントする方法を示します。

前提条件

  • Cephクラスター-1つのCeph-adminノード、1つのMoinitorノード(ceph-mon)、3つのCeph-osdノード(パート1を参照)。
  • Client2-CentOS 7サーバー(パート2を参照)。
  • root権限

ステップ1-Client2ノードを構成します

この最初のステップでは、クライアントの基本インストールを行います。これは、他のクラスターノードで使用した手順と同じです。 cephuserという名前の新しいユーザーを作成します ボックスで、時刻をntpdateと同期し、cephuserなどのsudoパスワードなしを構成します。それでは始めましょう...

rootユーザーとしてSSHを使用してclient2ノードに接続します:

ssh [email protected]

rootアクセスでサーバーにログインしたので、新しいcephuserを作成できます。

useradd -m -d /home/cephuser cephuser
passwd cephuser
TYPE YOUR NEW PASSWORD

新しいユーザーが作成されたら、sudoersディレクトリに新しい構成ファイルを作成して、ユーザーのsudoパスワードなしを有効にします。

echo "cephuser ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephuser
sed -i s'/Defaults requiretty/#Defaults requiretty'/g /etc/sudoers
chmod 0440 /etc/sudoers.d/cephuser
>

次に、NTP、ntpdateコマンドラインツール、およびopen-vmツールをインストールします。次に、システム時刻を更新してntpdateと同期します。

yum install -y open-vm-tools
yum install -y ntp ntpdate ntp-doc
ntpdate 0.us.pool.ntp.org
hwclock --systohc
systemctl enable ntpd.service
systemctl start ntpd.service

SELinuxを無効にして、ホストのファイルを編集します。

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
vim /etc/hosts

以下にホスト構成を貼り付けます:

10.0.15.10        ceph-admin
10.0.15.11        mon1
10.0.15.21        osd1
10.0.15.22        osd2
10.0.15.23        osd3
10.0.15.15        client
10.0.15.16        client2

hostsファイルを保存し、エディターを終了します。次に、ceph-adminノードにpingを実行して、接続とホスト名の設定をテストします。

ping -c 3 ceph-admin

結果として、ceph-adminノードのIPアドレスが表示されます。

ステップ2-Client2ノードにCephCommonUtilitiesをインストールする

ceph-commonパッケージは、Cephリポジトリーからインストールできます。これには、CephStorageClusterをマウントして操作するためのCephユーティリティが含まれています。

ceph-commonパッケージのインストールを続行する前に、epel-repositoryとCephリポジトリを追加する必要があります。

sudo yum -y install epel-release
sudo rpm -Uhv http://download.ceph.com/rpm-jewel/el7/noarch/ceph-release-1-1.el7.noarch.rpm

システムを更新し、Ceph共通ユーティリティをインストールします。

sudo yum -y update
sudo yum -y install ceph-common

次に、ceph-adminノードに構成を追加する必要があります。

ステップ3-Ceph-adminノードを構成します

このステップでは、sshキー(パスワードなし)を使用してadminからclient2ノードに接続できるようにクラスターを構成します。

rootとしてceph-adminノードに接続し、suを使用してcephuserにログインします。

ssh [email protected]
su - cephuser

ssh構成ファイルを編集し、新しいclient2構成セクションを定義します。

vim ~/.ssh/config

ファイルの最後に、以下の構成を貼り付けます。

Host client2
    Hostname client2
    User cephuser

次に、クライアントノードのホスト構成行をceph-adminノードの「/ etc/hosts」ファイルに追加します。

sudo vim /etc/hosts

以下のホスト構成をファイルの最後に貼り付けます。

10.0.15.16      client2

ホストファイルを保存して、エディターを終了します。

次に、ceph-adminノードのsshキーをclient2ノードに追加します。

ssh-keyscan client2 >> ~/.ssh/known_hosts
ssh-copy-id client2
TYPE THE client2 PASSWORD

ceph-adminキーが追加されました。これで、ceph-adminノードからのパスワードなしでclient2ノードにアクセスできます。

ssh client2

ステップ4-Cephメタデータサーバーを作成する

CephFSを実行してマウントする場合は、cephメタデータサーバー(Ceph MDS)が必要です。 CephMDSはOSDノードで実行されています。 ceph-adminノードからのceph-deployコマンドを使用して、CephMDSをOSDノードにインストールできます。

ceph-adminノードにログインして、cephuserになります。

ssh [email protected]
su - cephuser

クラスタディレクトリに移動し、ceph-deployコマンドを実行して、新しいcephメタデータサーバー(Ceph MDS)を作成します。 'osd1'ノードをメタデータサーバーとして使用します。

cd cluster/
ceph-deploy mds create osd1

osd1ノードにMDSサーバーを作成した後、sshを使用してノードに接続する必要があります。

ssh osd1

次に、MDSサーバー用の新しいプールを作成します。少なくとも2つのプール(cephfs_dataとcephfs_metadata)が必要です。

'osd1'ノードに新しいプールを作成します。

ceph osd pool create cephfs_data 128
ceph osd pool create cephfs_metadata 128

新しいプールの準備が整いました。これで、cephfs_dataとcephfs_metadataという名前のプールを使用して新しいファイルシステムを作成できます。

ceph fs new cephfs cephfs_metadata cephfs_data

cephfs=ファイルシステム名。

この手順をエラーなしで完了したら、以下のコマンドを使用してMDSサーバーを確認します。

MDSサーバーのリストを確認してください:

ceph fs ls

これで、ファイルシステム名が「cephfs」、メタデータプールが「cephfs_metadata」、データプールが「cephfs_data」であることがわかります。

MDSステータスを表示する:

ceph mds stat

続行する前に、MDSが起動してアクティブになっていることを確認してください。

ステップ5-カーネルドライバーを使用してCephFSをマウントします

CephMDSサーバーは「osd1」ノードに作成されています。これで、CephFSを使用できるようになりました。このステップでは、mountコマンドを使用してCephFSをファイルシステムとしてclient2ノードにマウントします。

次のステップに進む前に、client2ノードのcephリポジトリからceph-fuseをインストールする必要があります。

sudo yum -y install ceph-fuse

インストールが完了したら、ユーザーのキーをコピーします。デフォルトの構成では、cephx認証が有効になっています。デフォルトのユーザーは「admin」です。

scpコマンドを使用してMDSサーバーノード「osd1」からclient2ノードにキーをコピーしてから、キーの権限を変更します。

ssh [email protected] 'sudo ceph-authtool -p /etc/ceph/ceph.client.admin.keyring' > ceph.key
chmod 600 ceph.key

次に、新しいcephfsディレクトリを作成し、CephFSをそのディレクトリにマウントします。

sudo mkdir -p /mnt/cephfs
sudo mount -t ceph mon1:6789:/ /mnt/cephfs -o name=admin,secretfile=ceph.key

注:

デフォルトのユーザー名=admin
secretfile=MDSノードosd1のceph.key

リストにマウントされたタイプ「ceph」の新しいファイルシステムが表示されます。

sudo df -hT

ファイルシステムをアンマウントするには、umountコマンドユーティリティを使用します。

umount /mnt/cephfs

ステップ6-CephFSをヒューズとしてマウント

CephFSをファイルシステムとして正常にマウントした後、CephFSをFuse(USErspaceのファイルシステム)としてマウントします。このセットアップでは、構成ファイル「ceph.conf」とキーを監視ノード「mon1」からコピーする必要があります。

client2ノードに新しいcephディレクトリを作成し、構成ファイルとキーをコピーします。

sudo mkdir -p /etc/ceph/
sudo scp [email protected]:/etc/ceph/ceph.conf /etc/ceph/ceph.conf
sudo scp [email protected]:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ceph.client.admin.keyring

ファイルの権限を変更します。

sudo chmod 644 /etc/ceph/ceph.conf
sudo chmod 644 /etc/ceph/ceph.client.admin.keyring

次に、新しいヒューズディレクトリを作成し、CephFSをヒューズとして「/ mnt/fuse」ディレクトリにマウントします。

sudo mkdir -p /mnt/fuse
sudo ceph-fuse -m mon1:6789 /mnt/fuse

エラーがないことを確認し、CephFSがマウントされていることを確認します。

sudo df -hT

CephFSヒューズをアンマウントするには、killコマンドを使用します。

sudo ps -aux | grep ceph-fuse
kill -2 PID

ステップ7-fstabを使用してCephFSをマウントします

このステップでは、fstabを使用してCephFSを永続的にマウントします。 / etc / fstabを編集し、mountコマンドを使用してカーネルドライバーでCephFSをマウントするための構成を追加します。

fstabファイルを編集します。

sudo vim /etc/fstab

以下の構成をファイルの最後に貼り付けます:

mon1:6789:/     /mnt/cephfs     ceph        name=admin,secretkey=/home/cephuser/ceph.key,_netdev,noatime    0   0

ファイルを保存してvimを終了します。

mount -aコマンドを使用してfstabからすべてのディスクをマウントしてから、使用可能なすべてのディスクを一覧表示します。

sudo mount -a
sudo df -hT

最後に、システムを再起動し、使用可能なディスクをチェックして、構成が再起動しても安全であることを確認します。

reboot
sudo df -hT

CephFSがfstabで自動的にマウントされていることがわかります。


Cent OS
  1. CentOS7にNode.jsとNPMをインストールする方法

  2. CentOSにNode.jsとNPMをインストールする方法

  3. CentOS/RHEL/Ubuntu に SSHFS をインストールする方法

  1. RHEL 8 / CentOS8Linuxにnode.jsをインストールする方法

  2. CentOS 8 / Rhel8LinuxでISOイメージをマウント/アンマウントする方法

  3. CentOS /RHELLinuxにCD/DVDROMをマウントする方法

  1. CentOSを更新する方法

  2. CentOS7にRをインストールする方法

  3. CentOS7にexFATドライブをマウントする方法