在CentOS 7上挂载CephFS
<p><strong>Ceph是一个开源存储平台,它提供高性能,可靠性和可伸缩性。它是一个免费的分布式存储系统,可为对象,块和文件级存储提供接口,而不会出现单点故障。</strong></p><p><span><span>这是Ceph教程系列的第三部分。</span><span>在</span></span><span>第一部分中</span><span><span>,我向您展示了如何在CentOS7上构建具有多个节点的“ Ceph集群”。</span><span>在</span></span><span>第二部分</span><span> 是一个指南,说明如何在CentOS的7使用头孢作为块设备在第三部分,我将告诉你如何安装Ceph的是作为客户端在CentOS 7的文件系统。</span></p>
<p> </p>
<p>先决条件</p>
<ul>
<li><span>Ceph集群-1个Ceph-admin节点,1个Moinitor节点(ceph-mon),3个Ceph-osd节点(</span><span>请参阅第1部分</span><span>)。</span></li>
<li><span>Client2-CentOS 7服务器(</span><span>请参阅第2部分</span><span>)。</span></li>
<li><span>根特权</span></li>
</ul>
<p> </p>
<div> </div>
<h2 id="step-configure-the-client-node"><span>步骤1-配置Client2节点</span></h2>
<p><span><span>在第一步中,我们将进行客户端的基础安装。</span><span>这与我们在其他群集节点上使用的过程相同。</span><span>我们将</span><span>在盒子上</span><span>创建一个名为</span></span>cephuser<span><span>的新用户</span><span>,将时间与ntpdate同步,为cephuser配置sudo无密码等。所以让我们开始吧...</span></span></p>
<p><span>以SSH身份作为root用户连接到client2节点:</span></p>
<pre class="command"><code>ssh root@client2</code></pre>
<p><span>我们以root用户权限登录到服务器,现在我们可以创建新的cephuser。</span></p>
<pre class="command"><code>useradd -m -d /home/cephuser cephuser<br>passwd cephuser<br>TYPE YOUR NEW PASSWORD</code></pre>
<p><span>创建新用户后,通过在sudoers目录中创建新的配置文件为用户启用sudo无密码。</span></p>
<pre class="command"><code>echo "cephuser ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephuser<br>sed -i s'/Defaults requiretty/#Defaults requiretty'/g /etc/sudoers<br>chmod 0440 /etc/sudoers.d/cephuser</code></pre>
<p><span><span>接下来,安装NTP,ntpdate命令行工具和open-vm工具。</span><span>然后,使用ntpdate更新并同步系统时间。</span></span></p>
<pre class="command"><code>yum install -y open-vm-tools<br>yum install -y ntp ntpdate ntp-doc<br>ntpdate 0.us.pool.ntp.org<br>hwclock --systohc<br>systemctl enable ntpd.service<br>systemctl start ntpd.service</code></pre>
<p><span>禁用SELinux并编辑主机的文件。</span></p>
<pre class="command"><code>sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config<br>vim /etc/hosts</code></pre>
<p><span>粘贴主机配置如下:</span></p>
<pre><code>10.0.15.10 ceph-admin<br>10.0.15.11 mon1<br>10.0.15.21 osd1<br>10.0.15.22 osd2<br>10.0.15.23 osd3<br>10.0.15.15 client<br>10.0.15.16 client2</code></pre>
<p><span><span>保存主机文件并退出编辑器。</span><span>现在尝试ping ceph-admin节点以测试连接和主机名设置。</span></span></p>
<pre class="command"><code>ping -c 3 ceph-admin</code></pre>
<p><span>您应该看到结果为ceph-admin节点IP地址。</span></p>
<p> </p>
<h2 id="step-install-ceph-common-utilities-on-client-node"><span>第2步-在Client2节点上安装Ceph Common Utilities</span></h2>
<p><span><span>可以从Ceph存储库中安装ceph-common软件包。</span><span>它包含用于安装Ceph存储群集并与之交互的Ceph实用程序。</span></span></p>
<p><span>在继续安装ceph-common软件包之前,我们必须添加epel-repository和Ceph存储库。</span></p>
<pre class="command"><code>sudo yum -y install epel-release<br>sudo rpm -Uhv http://download.ceph.com/rpm-jewel/el7/noarch/ceph-release-1-1.el7.noarch.rpm</code></pre>
<p><span>更新系统并安装Ceph通用实用程序。</span></p>
<pre class="command"><code>sudo yum -y update<br>sudo yum -y install ceph-common</code></pre>
<p><span>接下来,我们必须在ceph-admin节点上添加配置。</span></p>
<p> </p>
<h2 id="step-configure-the-cephadmin-node"><span>第3步-配置Ceph-admin节点</span></h2>
<p><span>在此步骤中,我们将配置集群,以便我们可以使用ssh密钥(无需密码)从admin连接到client2节点。</span></p>
<p><span>以root用户身份连接到ceph-admin节点,然后使用su登录到cephuser。</span></p>
<pre class="command"><code>ssh root@ceph-admin<br>su - cephuser</code></pre>
<p><span>编辑ssh配置文件并定义一个新的client2配置部分。</span></p>
<pre class="command"><code>vim ~/.ssh/config</code></pre>
<p><span>在文件末尾,将以下配置粘贴:</span></p>
<pre><code>Host client2<br> Hostname client2<br> User cephuser</code></pre>
<p><span>接下来,将客户端节点的主机配置行添加到ceph-admin节点上的“ / etc / hosts”文件中。</span></p>
<pre class="command"><code>sudo vim /etc/hosts</code></pre>
<p><span>将主机配置粘贴到文件末尾。</span></p>
<pre><code>10.0.15.16 client2</code></pre>
<p><span>保存主机文件并退出编辑器。</span></p>
<p><span>现在,将ceph-admin节点的ssh密钥添加到client2节点。</span></p>
<pre class="command"><code>ssh-keyscan client2 >> ~/.ssh/known_hosts<br>ssh-copy-id client2<br>TYPE THE client2 PASSWORD</code></pre>
<p><span><span>ceph-admin密钥已添加。</span><span>现在,我们无需使用ceph-admin节点的密码即可访问client2节点。</span></span></p>
<pre class="command"><code>ssh client2</code></pre>
<p><img src="https://www.howtoforge.com/images/how-to-mount-cephfs-on-centos-7/1.png" alt="将客户端添加到ceph管理节点" width="550" height="259"></p>
<p> </p>
<h2 id="step-create-the-ceph-metadata-server"><span>第4步-创建Ceph MetaData服务器</span></h2>
<p><span><span>如果要运行和挂载CephFS,则需要一个ceph元数据服务器(Ceph MDS)。</span><span>Ceph MDS在OSD节点上运行。</span><span>我们可以使用ceph-admin节点中的ceph-deploy命令将Ceph MDS安装到OSD节点。</span></span></p>
<p><span>登录到ceph-admin节点并成为cephuser。</span></p>
<pre class="command"><code>ssh root@ceph-admin<br>su - cephuser</code></pre>
<p><span><span>转到集群目录并运行ceph-deploy命令以创建新的ceph元数据服务器(Ceph MDS)。</span><span>我将使用“ osd1”节点作为元数据服务器。</span></span></p>
<pre class="command"><code>cd cluster/<br>ceph-deploy mds create osd1</code></pre>
<p><img src="https://www.howtoforge.com/images/how-to-mount-cephfs-on-centos-7/2.png" alt="创建Ceph MDS服务器" width="550" height="278"></p>
<p><span>在osd1节点上创建MDS服务器后,我们必须使用ssh连接到该节点。</span></p>
<pre class="command"><code>ssh osd1</code></pre>
<p><span>接下来,为MDS服务器创建新的池,至少我们需要2个池-cephfs_data和cephfs_metadata。</span></p>
<p><span>在“ osd1”节点上创建新池。</span></p>
<pre class="command"><code>ceph osd pool create cephfs_data 128<br>ceph osd pool create cephfs_metadata 128</code></pre>
<p><span><span>新池已准备就绪。</span><span>现在,我们可以使用命名池创建新文件系统:cephfs_data和cephfs_metadata。</span></span></p>
<pre class="command"><code>ceph fs new cephfs cephfs_metadata cephfs_data</code></pre>
<p><span>cephfs =文件系统名称。</span></p>
<p><span>完成此步骤而没有错误时,请使用以下命令检查MDS服务器。</span></p>
<p><span>检查MDS服务器列表:</span></p>
<pre class="command"><code>ceph fs ls</code></pre>
<p><span>现在您可以看到文件系统名称为“ cephfs”,元数据池为“ cephfs_metadata”,数据池为“ cephfs_data”。</span></p>
<p><span>显示MDS状态:</span></p>
<pre class="command"><code>ceph mds stat</code></pre>
<p><span>在继续操作之前,请确保MDS已启动并处于活动状态。</span></p>
<p><img src="https://www.howtoforge.com/images/how-to-mount-cephfs-on-centos-7/3.png" alt="MDS服务器已创建并处于活动状态" width="550" height="207"></p>
<p> </p>
<h2 id="step-mount-cephfs-with-the-kernel-driver"><span>第5步-使用内核驱动程序挂载CephFS</span></h2>
<p><span><span>Ceph MDS服务器已在“ osd1”节点上创建。</span><span>现在我们可以使用CephFS。</span><span>在此步骤中,我们将使用mount命令将CephFS作为文件系统安装在client2节点上。</span></span></p>
<p><span>在开始下一步之前,我们需要从client2节点上的ceph存储库中安装ceph-fuse。</span></p>
<pre class="command"><code>sudo yum -y install ceph-fuse</code></pre>
<p><span><span>安装完成后,复制用户密钥。</span><span>在我们的默认配置中,启用了cephx身份验证。</span><span>默认用户为“ admin”。</span></span></p>
<p><span>使用scp命令将密钥从MDS服务器节点“ osd1”复制到client2节点,然后更改密钥的许可权。</span></p>
<pre class="command"><code>ssh cephuser@osd1 'sudo ceph-authtool -p /etc/ceph/ceph.client.admin.keyring' > ceph.key<br>chmod 600 ceph.key</code></pre>
<p><img src="https://www.howtoforge.com/images/how-to-mount-cephfs-on-centos-7/4.png" alt="使用内核驱动程序mount命令挂载CephFS" width="550" height="141"></p>
<p><span>接下来,创建一个新的cephfs目录并将CephFS挂载到该目录。</span></p>
<pre class="command"><code>sudo mkdir -p /mnt/cephfs<br>sudo mount -t ceph mon1:6789:/ /mnt/cephfs -o name=admin,secretfile=ceph.key</code></pre>
<p>注意:</p>
<p><br><span><span>MDS节点osd1中的</span><span>默认用户名= admin </span><span>secretfile = ceph.key</span></span></p>
<p><span>您将在列表中看到一个新的类型为'ceph'的文件系统。</span></p>
<pre class="command"><code>sudo df -hT</code></pre>
<p><img src="https://www.howtoforge.com/images/how-to-mount-cephfs-on-centos-7/5.png" alt="使用内核驱动程序挂载命令的CephFS挂载" width="550" height="215"> </p>
<p><span>要卸载文件系统,请使用umount命令实用程序。</span></p>
<pre class="command"><code>umount /mnt/cephfs</code></pre>
<p><img src="https://www.howtoforge.com/images/how-to-mount-cephfs-on-centos-7/6.png" alt="卸载CephFS" width="550" height="236"></p>
<p> </p>
<h2 id="step-mount-cephfs-as-fuse"><span>步骤6-将CephFS挂载为保险丝</span></h2>
<p><span><span>成功将CephFS挂载为文件系统后,我们将CephFS挂载为Fuse(USErspace中的文件系统)。</span><span>对于此设置,我们需要从监视节点“ mon1”复制配置文件“ ceph.conf”和密钥。</span></span></p>
<p><span>在client2节点上创建一个新的ceph目录,并复制配置文件和密钥。</span></p>
<pre class="command"><code>sudo mkdir -p /etc/ceph/<br>sudo scp root@mon1:/etc/ceph/ceph.conf /etc/ceph/ceph.conf<br>sudo scp root@mon1:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ceph.client.admin.keyring</code></pre>
<p><span>更改文件的权限。</span></p>
<pre class="command"><code>sudo chmod 644 /etc/ceph/ceph.conf<br>sudo chmod 644 /etc/ceph/ceph.client.admin.keyring</code></pre>
<p><span>接下来,创建一个新的保险丝目录,并将CephFS作为Fuse挂载到“ / mnt / fuse”目录。</span></p>
<pre class="command"><code>sudo mkdir -p /mnt/fuse<br>sudo ceph-fuse -m mon1:6789 /mnt/fuse</code></pre>
<p><img src="https://www.howtoforge.com/images/how-to-mount-cephfs-on-centos-7/7.png" alt="将CephFS挂载为FUSE" width="550" height="124"></p>
<p><span>确保没有错误,并检查是否已安装CephFS。</span></p>
<pre class="command"><code>sudo df -hT</code></pre>
<p><span>要卸载CephFS Fuse,请使用kill命令。</span></p>
<pre class="command"><code>sudo ps -aux | grep ceph-fuse<br>kill -2 PID</code></pre>
<p><img src="https://www.howtoforge.com/images/how-to-mount-cephfs-on-centos-7/8.png" alt="用保险丝卸下CphFS" width="550" height="209"></p>
<p> </p>
<h2 id="step-mount-cephfs-using-fstab"><span>步骤7-使用fstab挂载CephFS</span></h2>
<p><span><span>在此步骤中,我们将使用fstab永久挂载CephFS。</span><span>我们将编辑/ etc / fstab并使用mount命令使用内核驱动程序添加用于安装CephFS的配置。</span></span></p>
<p><span>编辑fstab文件。</span></p>
<pre class="command"><code>sudo vim /etc/fstab</code></pre>
<p><span>将以下配置粘贴到文件末尾:</span></p>
<pre><code>mon1:6789:/ /mnt/cephfs ceph name=admin,secretkey=/home/cephuser/ceph.key,_netdev,noatime 0 0</code></pre>
<p><span>保存文件并退出vim。</span></p>
<p><span>使用mount -a命令从fstab挂载所有磁盘,然后列出所有可用磁盘。</span></p>
<pre class="command"><code>sudo mount -a<br>sudo df -hT</code></pre>
<p><span>最后,重新引导系统并检查可用磁盘,以确保配置是重新引导安全的。</span></p>
<pre class="command"><code>reboot<br>sudo df -hT</code></pre>
<p><span>您会看到CephFS已通过fstab自动挂载。</span></p>
</div>
<div id="MySignature" role="contentinfo">
<p>本文来自博客园,作者:sunsky303,转载请注明原文链接:https://www.cnblogs.com/sunsky303/p/12206485.html</p><br><br>
来源:https://www.cnblogs.com/sunsky303/p/12206485.html
頁:
[1]