在CentOS 7上挂载CephFS

By | 2021年1月14日
目录
[隐藏]

Ceph是一个开源存储平台,它提供高性能,可靠性和可伸缩性。它是一个免费的分布式存储系统,可为对象,块和文件级存储提供接口,而不会出现单点故障。

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

 

先决条件

 

步骤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-admin节点

在此步骤中,我们将配置集群,以便我们可以使用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密钥已添加。现在,我们无需使用ceph-admin节点的密码即可访问client2节点。

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。在此步骤中,我们将使用mount命令将CephFS作为文件系统安装在client2节点上。

在开始下一步之前,我们需要从client2节点上的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

注意:

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

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

sudo df -hT

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

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

umount /mnt/cephfs

卸载CephFS

 

步骤6-将CephFS挂载为保险丝

成功将CephFS挂载为文件系统后,我们将CephFS挂载为Fuse(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 Fuse,请使用kill命令。

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

用保险丝卸下CphFS

 

步骤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自动挂载。

Category: os

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注