背景
最近在使用K8S,研究PV和PVC,正好拿熟悉的NFS开始,在开始搭建NFS时候又忘记以前的知识了,百度了一下发现按照他们的做还是不行,说的比较繁琐,干脆自己写个简单的以备不时之需。
关于NFS
NFS能够在不同的服务器间挂载共享目录,能够跨服务器读写,方便数据共享。
准备安装NFS
NFS挂载至少需要2台服务器,一个nfs server,一个nfs client,并且你有root权限。
Master:10.10.80.205 ,系统:centos 6
Client:10.10.69.110 ,系统:centos 6
配置NFS server
第一步,安装nfs必要的程序
yum install nfs-utils nfs-utils-lib
开启NFS自启动
chkconfig nfs on
service rpcbind start
service nfs start
第二步,export共享目录
这一步决定哪个目录是共享给client使用的。这个目录应该被加入到/etc/exports,并且指定详细的共享策略。假如我们要共享/data目录,client有读写权限,可以按照下面操作。
echo "/data 10.10.69.110(rw,sync,root_squash,no_subtree_check)" >> /etc/exports
注:上面的10.10.69.110可以为IP地址,也可以是网段。
上面的策略有rw,sync,no_root_squash,no_subtree_check
- rw:这个选项授予client具有读、写的权限;
- sync:在NFS2和NFS3版本的协议中,默认使用的是异步。异步有具有很好的性能,数据还在缓存中,没有真正的数据落地。
- no_subtree_check:这个选项阻止子目录检查,当子目录中有很多的文件,nfs将会扫描整个每个目录,验证权限等。禁用这个选择可以增强nfs的可靠性,降低了安全性;
- root_squash:对于root权限的client,保存的文件将转为nobody用户的权限,安全;
如果确定上面的配置没有问题可以使用下面命令更新;
exportfs -a
配置NFS Client
第一步:安装必要的软件
yum install nfs-utils nfs-utils-lib
第二步:挂载目录
mount 10.10.80.205:/data /mnt
df -h | grep mnt
如下:
10.10.80.205:/data 28G 1.9G 24G 8% /mnt
mount | grep mnt
如下:
10.10.80.205:/data on /mnt type nfs (rw,vers=4,addr=10.10.80.205,clientaddr=10.10.69.110)
如果要永久挂载可以添加到/etc/fstab
vi /etc/fstab
10.10.80.205:/data /mnt nfs auto,noatime,nolock,bg,nfsvers=3,intr,tcp,actimeo=1800 0 0
参考链接
https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs-mount-on-centos-6#setup
http://nfs.sourceforge.net/nfs-howto/ar01s05.html