如何在CentOS 7上安装CephFS

我将告诉你如何在Ceph教程系列的第三部分中将Ceph作为一个文件系统安装在CentOS 7上。 Ceph是一个开源存储平台...

Ceph是一个开源的存储平台,它提供高性能,可靠性和可扩展性。 它是一个免费的分布式存储系统,它提供了对象,块和文件级存储的接口,而没有单点故障。

这是Ceph教程系列的第三部分。 在第一部分中 ,我向您展示了如何在CentOS7上构建多个节点的“Ceph群集”。 第二部分是介绍如何在CentOS 7上使用Ceph作为块设备的指南。在第三部分中,我将介绍如何将Ceph作为文件系统安装在CentOS 7上作为客户机。

先决条件

  • Ceph簇 - 1个Ceph-admin节点,1个Moinitor节点(ceph-mon),3个Ceph-osd节点( 见第1部分 )。
  • Client2 - CentOS 7服务器( 参见第2部分 )。
  • 根权限

第1步 - 配置Client2节点

在第一步中,我们将对客户端进行基本安装。 这与我们在其他集群节点上使用的过程相同。 我们将在框上创建一个名为cephuser的新用户,与ntpdate同步时间,为cephuser等配置sudo密码。所以让我们开始...

使用SSH作为root用户连接到client2节点:

ssh root@client2

我们使用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

保存主机文件并退出编辑器。 现在尝试ping ceph-admin节点来测试连接和主机名设置。

ping -c 3 ceph-admin

您应该看到ceph-admin节点IP地址作为结果。

第2步 - 在Client2节点上安装Ceph Common Utilities

可以从Ceph存储库安装ceph-common软件包。 它包含Ceph实用程序来安装和与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管理节点

在此步骤中,我们将配置集群,以便我们可以使用ssh密钥(没有密码)从admin连接到client2节点。

以root身份连接到ceph-admin节点,然后使用su登录到cephuser。

ssh root@ceph-admin
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密钥。 现在我们可以访问client2节点而没有来自ceph-admin节点的密码。

ssh client2

将客户端添加到ceph管理节点

第4步 - 创建Ceph MetaData服务器

如果要运行并挂载CephFS,则需要一个ceph元数据服务器(Ceph MDS)。 Ceph MDS正在OSD节点上运行。 我们可以使用ceph-admin节点的ceph-deploy命令将Ceph MDS安装到OSD节点。

登录到ceph-admin节点并成为cephuser。

ssh root@ceph-admin
su - cephuser

转到集群目录并运行ceph-deploy命令来创建新的ceph元数据服务器(Ceph MDS)。 我将使用'osd1'节点作为元数据服务器。

cd cluster/
ceph-deploy mds create osd1

创建Ceph MDS服务器

在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已启动并处于活动状态。

MDS服务器已创建并处于活动状态

第5步 - 使用内核驱动程序安装CephFS

Ceph MDS服务器已在'osd1'节点上创建。 现在我们可以使用CephFS。 在这个步骤中,我们将在client2节点上安装CephFS作为具有mount命令的文件系统。

在我们开始下一步之前,我们需要从客户端2节点上的ceph存储库安装ceph-fuse。

sudo yum -y install ceph-fuse

安装完成后,复制用户的密钥。 在我们的默认配置中,启用了cephx认证。 默认用户为“admin”。

使用scp命令将密钥从MDS服务器节点'osd1'复制到client2节点,然后更改密钥的权限。

ssh cephuser@osd1 'sudo ceph-authtool -p /etc/ceph/ceph.client.admin.keyring' > ceph.key
chmod 600 ceph.key

使用内核驱动程序mount命令挂载CephFS

接下来,创建一个新的cephfs目录并将CephFS安装到该目录。

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

注意:

默认用户名= admin
secretfile = ceph.key从MDS节点osd1

您将在列表中看到一个类型为'ceph'的新文件系统。

sudo df -hT

CephFS安装与内核驱动程序mount命令

要卸载文件系统,请使用umount命令实用程序。

umount /mnt/cephfs

卸载CephFS

第6步 - 将CephFS安装为保险丝

在我们成功安装CephFS作为文件系统之后,我们将CephFS作为Fuse(US系统在USErspace中)安装。 对于这种设置,我们需要从监视节点'mon1'复制配置文件'ceph.conf'和密钥。

在client2节点上创建一个新的ceph目录并复制配置文件和密钥。

sudo mkdir -p /etc/ceph/
sudo scp root@mon1:/etc/ceph/ceph.conf /etc/ceph/ceph.conf
sudo scp root@mon1:/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作为Fuse安装到'/ mnt / fuse'目录。

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

将CephFS作为FUSE

确保没有错误,并检查是否安装了CephFS。

sudo df -hT

要卸载CephFS保险丝,请使用kill命令。

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

用保险丝卸载CphFS

第7步 - 使用fstab安装CephFS

在这一步中,我们将永久安装带有fstab的CephFS。 我们将使用mount命令编辑/ etc / fstab并添加使用内核驱动程序安装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自动安装。

参考