linux的nfs如何安装,linux安装nfs命令
终极管理员 知识笔记 139阅读
目录
一.NFS服务

二.NFS和RPC的概念
三.什么是RPC

四.工具
五.安装配置NFS环境
1.查看一下是否有nfs-utils和rpcbind软件包的安装rpm包
2.安装nfs-utils 、rpcbind
3.环境配置
1.nfs配置文件需要遵守如下规则
2.nfs语法参数解释
3.nfs客户端地址形式
4.nfs客户端权限参数
七、nfs服务端的文件目录共享实践
1.前提
2.nfs服务端部署
3.修改nfs服务端的配置文件进行客户端授权
4.挂载
一.NFS服务
专用于linux和linux之间的专门的文件共享服务NFS服务network filesystem网络文件系统
NFS服务可以把远程linux机器上面的文件目录数据通过挂载的形式映射到用户本地机器
本地/mnt ------------- 远方的一台服务器/sharedir
二.NFS和RPC的概念
NFS通过port传输数据NFS服务在传输数据的时候端口是随机选择的自己重启NFS服务查看端口是否在变化
但是因为NFS的端口是随机的既然端口不确定客户端是无法链接NFS服务的
所以我们就需要一个另外的服务进行NFS的端口注册并且告知客户端NFS的工作端口是哪一个以此让客户端能连接到服务器的NFS服务
三.什么是RPC
RPC远程过程调用
linux使用NFS服务必须启动2个服务
NFS服务RPC服务NFS服务通过RPC注册自己的端口功能
RPC服务功能就是记录每个NFS服务对应的端口号并且RPC保证了NFS客户端发出请求的时候把该功能对应的端口信息告知NFS客户端保证客户端能够正确连接到NFS服务端的端口达到数据传输目的
四.工具 nfs-utilsNFS服务的主程序包括了rpc.nfsd rpc.mountd这两个守护进程相关配置文件信息RPCBIND
RPC在centos7系统平台下实现的软件RPCBIND服务
NFS服务的配置必须要先运行好RPCBIND服务才可以
如果RPCBIND服务重启了原本注册的NFS服务端的信息也失效了你还得再重启NFS服务端重新注册信息才可以
如果仅仅修改了NFS配置文件不需要重启NFS服务端因为重启后端口的信息就更新了还得重新注册。
五.安装配置NFS环境
1.查看一下是否有nfs-utils和rpcbind软件包的安装rpm包
[rootlocalhost virtual_user_dir]# rpm -qa nfs-utils rpcbindnfs-utils-1.3.0-0.68.el7.x86_64rpcbind-0.2.0-49.el7.x86_64
2.安装nfs-utils 、rpcbind
yum install nfs-utils
yum install rpcbind
3.环境配置
NFS是c/s模式准备一个nfs服务端准备一个nfs客户端两台linux机器
再nfsserver端创建一个 用于共享的文件夹且设置相应的读写权限
mkdir /sharenfschmod -Rf 777 /sharenfs/
六、nfs的配置文件
vim /etc/exports
1.nfs配置文件需要遵守如下规则
nfs共享目录 nfs客户端地址参数1参数2…… NFS客户端地址2参数1参数2……
例如
#把nfs服务端的根目录共享出去且允许两个主机名为client1client2的机器可以进行rw读写权限 / client1(rw) client2(rw)
#允许任意的客户端都能够挂载到此nfs /public *(rw)
#只允许指定的ip地址的服务器能够挂载此NFS服务端的/home/nfsfile文件夹且是只读的 /home/nfsfile 101.1.16.61(ro)
2.nfs语法参数解释
nfs共享目录是绝对路径
nfs客户端地址也就是nfs服务器授权可以访问共享目录的地址可以写主机名可以写通配符ip地址
权限参数对nfs授权的客户端进行权限控制的参数
3.nfs客户端地址形式
单一客户端 10.1.1.1 ---用的很少
允许整个网段访问 10.1.1.0/24 ---局域网用的较多
授权整个域名客户端 nfs.baidu.cn ---用的很少
授权子域名客户端 *.baidu.cn ---用的少
4.nfs客户端权限参数
ro ---只读
rw ---读写
root_squash ---当nfs客户端以root账号访问nfs服务端共享目录数据的时候把该root映射为nfs服务端的一个匿名用户该用户的uidgid会变成nfsnobody的信息
no_root_squash ---几乎和上面一样但是不安全因为会映射成root账户
all_squash ---所有nfs客户端的用户都映射为匿名用户很安全生产环境常用
sync ---数据同步写入到内存和磁盘有点是保证内存数据安全但效率太低
async ---数据先写入内存再写入到磁盘但是内存是易失性存储所以掉电可能会出问题
七、nfs服务端的文件目录共享实践 1.前提
nfs服务是基于rpc的111通信端口必须要先确保已经启动了rpc服务
如果rpcbind服务停止了111端口也不会挂掉因为centos7还提供了rpcbind.socket服务运行着
其实也就是保证rpcbind服务正常运行
[rootlocalhost virtual_user_dir]# systemctl restart rpcbind[rootlocalhost virtual_user_dir]# systemctl status rpcbind
[rootlocalhost virtual_user_dir]# netstat -tunlp|grep 111
2.nfs服务端部署
前面已经确保了rpcbind服务正确启动
现在需要创建nfs服务端共享的目录
mkdir -p /sharenfschmod -Rf 777 /sharenfs/
我们再创建两个文件
touch /sharenfs/file1touch /sharenfs/file2
防止出现权限问题把目录所有人调整为nfsnobody
chown -R nfsnobody.nfsnobody /sharenfs/
3.修改nfs服务端的配置文件进行客户端授权
vim /etc/exports/sharenfs *(insecure,rw,sync:)
4.挂载 [rootlocalhost sharenfs]# mount -t nfs 127.0.0.1:/sharenfs /mnt[rootlocalhost sharenfs]# df -hFilesystem Size Used Avail Use% Mounted ondevtmpfs 3.6G 0 3.6G 0% /devtmpfs 3.6G 20M 3.6G 1% /dev/shmtmpfs 3.6G 13M 3.6G 1% /runtmpfs 3.6G 0 3.6G 0% /sys/fs/cgroup/dev/mapper/centos-root 47G 8.0G 40G 17% //dev/sda1 1014M 185M 830M 19% /boottmpfs 727M 36K 727M 1% /run/user/1000/dev/sr0 4.4G 4.4G 0 100% /run/media/o/CentOS 7 x86_64127.0.0.1:/sharenfs 47G 8.0G 40G 17% /mnt[rootlocalhost sharenfs]# cd /mnt/[rootlocalhost mnt]# lsfile1 file2[rootlocalhost mnt]#