自动挂载NFS文件系统到云服务器(Linux)

<p class="shortdesc">为了使云服务器重启时仍然能够挂载NFS类型文件系统,您可以配置Linux系统的自动挂载。</p> <section class="section" id="automaticallylinux__section_gpk_34k_3mb"><h2 class="doc-tairway">背景信息</h2> <ul class="ul" id="automaticallylinux__ul_wtx_34k_3mb"> <li class="li">方式一:将挂载信息写入/etc/fstab中,文件系统就会自动随着云服务器开机而自动挂载。此种方式操作简单便捷,但如果挂载的文件系统很多,会消耗服务器资源。如果长时间不使用文件系统,会造成资源的浪费,并且影响整个系统的性能。</li> <li class="li">方式二:使用Autofs方式挂载。使用这种方式挂载,在默认情况下,文件系统是处于卸载状态,直到用户访问该挂载点,才会将其自动挂载。如果用户一段时间内不再使用该文件系统,它又将自动进入卸载状态,有效地节省了系统资源。</li> </ul> </section> <section class="section" id="automaticallylinux__section_s4b_j4k_3mb"><h2 class="doc-tairway">前提条件</h2> <p class="p">在自动挂载前,您需要确保已经完成如下操作:</p> <ol class="ol" id="automaticallylinux__ol_apy_j4k_3mb"> <li class="li">创建ECS云服务器。</li> <li class="li">创建文件系统。</li> <li class="li">连接ECS云服务器。</li> </ol> </section> <section class="section" id="automaticallylinux__section_smn_k4k_3mb"><h2 class="doc-tairway">使用/etc/fstab方式实现自动挂载</h2> <ol class="ol" id="automaticallylinux__ol_f5z_l4k_3mb"> <li class="li"> <p class="p">以<strong class="ph b">root</strong>用户登录ECS云服务器。</p> <p class="p">如果当前用户不是<strong class="ph b">root</strong>用户,执行 <code class="ph codeph">sudo su</code>命令,然后输入当前用户的密码。</p> </li> <li class="li"> 执行<code class="ph codeph">vi /etc/fstab</code>命令打开 <code class="ph codeph">/etc/fstab</code>文件。</li> <li class="li"> 打开文件后,输入“<strong class="ph b">i</strong>”,在 <code class="ph codeph">/etc/fstab</code>文件下方,添加如下信息。<pre class="pre codeblock"><code><挂载路径> <本地挂载目录> nfs vers=3,timeo=600,nolock 0 0</code></pre></li> <li class="li">单击“<strong class="ph b">ESC</strong>”,并输入“<strong class="ph b">:wq</strong>”,保存文件并退出。</li> <li class="li"> 执行 <code class="ph codeph">cat /etc/fstab</code>检查修改后的 <code class="ph codeph">/etc/fstab</code>文件中是否已经有了挂载信息。</li> </ol> <p class="p">完成上述配置后,当ECS云服务器重启时,系统会从 <code class="ph codeph">/etc/fstab</code>文件中读取挂载信息,完成文件系统的自动挂载。</p> </section> <section class="section" id="automaticallylinux__section_rfv_1pk_3mb"><h2 class="doc-tairway">使用autofs方式实现自动挂载(Centos6.7)</h2> <ol class="ol" id="automaticallylinux__ol_sfv_1pk_3mb"> <li class="li"> <p class="p">以<strong class="ph b">root</strong>用户登录ECS云服务器。</p> <p class="p">如果当前用户不是<strong class="ph b">root</strong>用户,执行 <code class="ph codeph">sudo su</code>命令,然后输入当前用户的密码。</p> </li> <li class="li"> 检查是否配置过automount。<pre class="pre codeblock"><code>cat /etc/auto.nfsc</code></pre><p class="p">查看云服务器是否挂载过其他文件系统。</p><pre class="pre codeblock"><code>df –t nfs -Ph</code></pre><p class="p">如果上述都没有配置过自动挂载,则需要执行步骤3,否则,直接步骤7。</p></li> <li class="li"> 配置相关参数进行操作系统性能调优。<p class="p">执行<code class="ph codeph">cat /etc/sysctl.conf</code>命令查看<code class="ph codeph">/etc/sysctl.conf</code>中是否存在如下配置。如果没有相关配置,则需要先备份文件,然后写入配置,并使配置生效。</p><pre class="pre codeblock"><code>//备份sysctl.conf文件 cp -p /etc/sysctl.conf /etc/sysctl.conf.date +%F_%T //写入如下配置 echo “net.core.rmem_default = 2621440” >> /etc/sysctl.conf echo “net.core.wmem_default = 2621440” >> /etc/sysctl.conf echo “net.core.rmem_max = 2621440” >> /etc/sysctl.conf echo “net.core.wmem_max = 2621440” >> /etc/sysctl.conf echo “net.ipv4.tcp_rmem = 4096 655360 2621440” >> /etc/sysctl.conf echo “net.ipv4.tcp_wmem = 4096 655360 2621440” >> /etc/sysctl.conf //使配置生效 sysctl -p</code></pre></li> <li class="li"> 检查portmap(rpcbind)和nfslock服务并配置。<pre class="pre codeblock"><code>//启动rpcbind服务 service rpcbind start //查看rpcbind服务 service rpcbind status //设置rpcbind服务开机自启动 chkconfig rpcbind on //列出rpcbind服务信息 chkconfig --list rpcbind</code></pre></li> <li class="li">设置自动挂载。<pre class="pre codeblock"><code>//备份自动挂载配置文件 cp -p /etc/auto.master /etc/auto.master.date +%F_%T //写入配置 echo “/nfsc/etc/auto.nfsc –timeout=600”&nbsp; >> /etc/auto.master //查看并启用配置: chkconfig --list autofs #列出autofs服务信息 chkconfig autofs on #设置autofs服务开机自启动 chkconfig --list autofs #列出autofs服务信息 //开启服务 service autofs start</code></pre></li> <li class="li"> 配置auto.nfsc文件。<pre class="pre codeblock"><code>//打开auto.nfsc文件 vi auto.nfsc //输入i,写入如下信息 <本地挂载目录> &nbsp;-rw,soft,intr,rsize=32768,wsize=32768,tcp,timeo=300 <挂载路径 >&nbsp; //&nbsp; 单击ECS,并输入“:wq”,保存文件并退出。 // 使配置生效 service autofs reload</code></pre></li> <li class="li"> 触发automount自动挂载。<pre class="pre codeblock"><code>ls –dl <本地挂载目录></code></pre></li> <li class="li">验证挂载是否成功。<pre class="pre codeblock"><code>df –t nfs –Ph</code></pre></li> </ol> </section> <section class="section" id="automaticallylinux__section_drq_kpk_3mb"><h2 class="doc-tairway"><strong class="ph b">使用autofs方式实现自动挂载(CentOS7.2)</strong></h2> <ol class="ol" id="automaticallylinux__ol_erq_kpk_3mb"> <li class="li"> <p class="p">以<strong class="ph b">root</strong>用户登录ECS云服务器。</p> <p class="p">如果当前用户不是<strong class="ph b">root</strong>用户,执行 <code class="ph codeph">sudo su</code>命令,然后输入当前用户的密码。</p> </li> <li class="li"> 检查是否配置过automount。<pre class="pre codeblock"><code>cat /etc/auto.nfsc</code></pre><p class="p">查看云服务器是否挂载过其他文件系统。</p><pre class="pre codeblock"><code>df –t nfs -Ph</code></pre><p class="p">如果上述都没有配置过自动挂载,则需要执行步骤3,否则,直接步骤7。</p></li> <li class="li"> <p class="p">执行<code class="ph codeph">cat /etc/sysctl.conf</code>命令查看<code class="ph codeph">/etc/sysctl.conf</code>中是否存在如下配置。如果没有相关配置,则需要先备份文件,然后写入配置,并使配置生效。</p> <pre class="pre codeblock"><code>//备份sysctl.conf文件 cp -p /etc/sysctl.conf /etc/sysctl.conf.date +%F_%T //写入如下配置 echo “net.core.rmem_default = 2621440” >> /etc/sysctl.conf echo “net.core.wmem_default = 2621440” >> /etc/sysctl.conf echo “net.core.rmem_max = 2621440” >> &nbsp;/etc/sysctl.conf echo “net.core.wmem_max = 2621440” >> &nbsp;/etc/sysctl.conf echo “net.ipv4.tcp_rmem = 4096 655360 2621440” >> &nbsp;/etc/sysctl.conf echo “net.ipv4.tcp_wmem = 4096 655360 2621440” >> &nbsp;/etc/sysctl.conf //使配置生效 sysctl -p</code></pre> </li> <li class="li"> 检查portmap(rpcbind)和nfslock服务并配置。<pre class="pre codeblock"><code>//启动rpcbind服务 systemctl start rpcbind //查看rpcbind服务状态 systemctl status rpcbind //设置开机启动rpcbind服务 systemctl enable rpcbind //列出所有rpcbind类#型的unit systemctl list-units –type=service grep rpcbind</code></pre></li> <li class="li">设置自动挂载。<pre class="pre codeblock"><code>//备份自动挂载配置文件 cp -p /etc/auto.master /etc/auto.master.date +%F_%T //写入配置 echo “/efsclient /etc/auto.nfsc –timeout=60” >> /etc/auto.master //查看并启用配置: systemctl list-units –type=service grep autofs #列出autofs服务信息 systemctl enable autofs #设置autofs服务开机自启动 systemctl list-units –type=service grep autofs #列出autofs服务信息 //开启服务 systemctl autofs start</code></pre></li> <li class="li"> 配置auto.nfsc文件。<pre class="pre codeblock"><code>//打开auto.nfsc文件 vi auto.nfsc //输入i,写入如下信息 <本地挂载目录> -rw,soft,intr,rsize=32768,wsize=32768,tcp,timeo=300 <挂载路径>&nbsp; //单击ECS,并输入“:wq”,保存文件并退出。 //使配置生效 systemctl restart autofs</code></pre></li> <li class="li"> 触发automount自动挂载。<pre class="pre codeblock"><code>ls –dl <本地挂载目录></code></pre></li> <li class="li">验证挂载是否成功。<pre class="pre codeblock"><code>df –t nfs –Ph</code></pre></li> </ol> </section>
以上内容是否解决了您的问题?
请补全提交信息!
联系我们

电话咨询

400-151-8800

邮件咨询

fincloud@ocft.com

在线客服

工单支持

解决云产品相关技术问题