Ceph是一个开源存储平台,它提供高性能,可靠性和可伸缩性。它是一个免费的分布式存储系统,可为对象,块和文件级存储提供接口,而不会出现单点故障。
这是Ceph教程系列的第三部分。在第一部分中,我向您展示了如何在CentOS7上构建具有多个节点的“ Ceph集群”。在第二部分 是一个指南,说明如何在CentOS的7使用头孢作为块设备在第三部分,我将告诉你如何安装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-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
第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
在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
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
接下来,创建一个新的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
要卸载文件系统,请使用umount命令实用程序。
umount /mnt/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。
sudo df -hT
要卸载CephFS Fuse,请使用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自动挂载。