赞
踩
最近学习hadoop的在NFS上的HA,由于主机中没有安装NFS,所以学习了一下如何创建NFS服务器,特意做笔记如下。
本次创建的NFS服务器为临时实验用,并没有太多的安全考虑,所用主机为CentOS7版本,参考文章为鸟哥的Linux私房菜。去那里查看更详细的说明。
创建NFS服务器,需要两个组件rpc-bind和nfs-utils。我的电脑上已经安装了这两个软件。没有安装的同学可以使用yum命令安装这两个软件。
对于不太熟悉linux而又想简单创建一个nfs服务器的同学,可以按如下步骤
1.使用rpm -qa|grep nfs 命令和rpm -qa|grep rpcbind 命令查看主机有没有安装nfs和rpcbind
2.如果没有安装,可以使用yum install rpcbind命令和yum install nfs-utils命令来安装
3.注意无法连接到外网,只能在局域网中使用,那样就比较麻烦,需要下载rpcbind以及nfs-utils对应版本的安装包以及他们的依赖,使用rpm -i *.rpm进行安装
必须要先开启rpcbind服务,然后再开启nfs服务(因为nfs-server相关的服务需要向rpcbind注册端口信息,不理解的可以跳过,知道需要先开启rpcbind再开始nfs即可)。
所需要的命令为
systemctl enable rpcbind #这个命令的意思是设置rpcbind服务开机启动,可以不设定
systemctl enable nfs #同上
systemctl start rpcbind #开始rpcbind服务
systemctl start nfs #开始nfs相关服务,一般会开始nfs-idmapd.service nfs-mounted.service nfs-server.service
配置nfs是在文件/etc/exports文件中进行配置。
假设我们要在文件是/home/nfs,当前用户为jason,配置过程如下。
首先创建该文件夹sudo mkdir /home/nfs,使用sudo命令的原因是因为/home文件的默认属性为755,默认用户和用户组都是root,如果已经有该文件夹可以忽略这一步。
检查/home/nfs文件的属性以及用户和用户组。如果不是当前用户,可以使用命令sudo chown jason:jason /home/nfs。需要说明的是,这个设置与nfs的权限有关,这一步并不是必要的步骤,想了解具体的原因的可以查看该链接。
配置nfs,使用sudo vim /etc/exports进行配置。(不熟悉vim,可以再图形界面下用gedit等进行编辑,但是需要获得管理员权限)在改文件中添加以下内容:/home/nfs *(rw,all_squash,anonuid=1001,anongid=1001)
注:在上面添加的内容当中,anonuid=1001,annonif=1001 这两项中的1001分别代表的当前用户的uid以及gid,并不是固定不变的,你可以使用id命令查看当前用户的id以及默认的gid,替换即可。为了能够正常使用,nfs的权限配置是一个比较重要的事情,可以进一步查看资料。
用exportfs -arv命令使配置生效。
首先可以使用showmount -e命令查看exports文件是否生效。根据以上配置若出现说明已经生效。
Export list for nfs-server-hostname:
/home/nfs *
可以使用sudo mount -t nfs nfs-server-ip:/home/nfs /mnt/nfs查看是否挂在成功。
这一部分和上文中是一样的,不在赘述。
使用命令sudo mount -t nfs nfs-server-ip:/home/nfs /mnt/nfs挂在目录,若只是共享文件,而不会执行里面的脚本可以使用如下命令
sudo mount -t nfs -o nosuid,noexec,nodev,rw nfs-server-ip:/home/nfs /mnt/nfs
以上过程只是搭建了一个简单的可以使用的nfs文件系统,没有考虑任何其他的问题。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。