实现NFS多主机共享

内容概要
NFS的简介
实现NFS多主机共享
内容详细
NFS简介
NFS是Network File System的缩写及网络文件系统。NFS主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录。

    NFS系统和Windows网络共享、网络驱动器类似, 只不过windows用于局域网, NFS用于企业集群架构中, 如果是大型网站, 会用到更复杂的分布式文件系统FastDFS,glusterfs,HDFS,ceph

NFS应用
1.用户访问NFS客户端,将请求转化为函数
2.NFS通过TCP/IP连接服务端
3.NFS服务端接收请求,会先调用portmap进程进行端口映射
4.Rpc.nfsd进程用于判断NFS客户端能否连接服务端;
5.Rpc.mount进程用于判断客户端对服务端的操作权限
6.如果通过权限验证,可以对服务端进行操作,修改或读取
NFS实践
服务端
1、安装NFS和rpcbind
[root@nfs ~]# yum install nfs-utils rpcbind -y

    2、创建挂载点
    [root@nfs ~]# mkdir /web/nfs{1..9}

    3、配置挂载点
    [root@nfs ~]# vim /etc/exports
    格式:
    [挂载点] [可以访问的IP]([权限])
    /web/nfs1  172.16.1.0/20(rw,sync,all_squash)

    4、关闭selinux和防火墙
    [root@nfs ~]# setenforce 0
    [root@nfs ~]# systemctl disable --now firewalld

    5、启动Nfs和rpcbind服务
    [root@nfs ~]# systemctl start nfs-server 
    [root@nfs ~]# systemctl start rpcbind

    6、检查服务端是否正常
    [root@nfs ~]# showmount -e [服务端的地址,默认是本机地址]

    [root@nfs ~]# showmount -e
    Export list for nfs:
    /web/nfsv1 172.16.1.0/20
    [root@nfs ~]# showmount -e 172.16.1.31
    Export list for 172.16.1.31:
    /web/nfsv1 172.16.1.0/20

    [root@nfs ~]# cat /var/lib/nfs/etab

    7、给挂载点授权
    [root@nfs ~]# chown -R nfsnobody.nfsnobody /web

客户端
1、安装NFS
[root@web01 opt]# yum install -y nfs-utils

    2、创建目录
    [root@web01 opt]# mkdir /opt/nfs/

    3、挂载NFS
    [root@web01 opt]# mount -t nfs 172.16.1.31:/web/nfs1  /opt/nfs/

    4、测试NFS文件同步功能

NFS配置详解
nfs共享参数 参数作用
rw 读写权限 (常用)
ro 只读权限 (不常用)
root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户 (不常用)
no_root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员 (不常用)
all_squash 无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户 (常用)
no_all_squash 无论NFS客户端使用什么账户访问,都不进行压缩 (不常用)
sync 同时将数据写入到内存与硬盘中,保证不丢失数据 (常用)
async 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据 (不常用)
anonuid 配置all_squash使用,指定NFS的用户UID,必须存在系统 (常用)
anongid 配置all_squash使用,指定NFS的用户GID,必须存在系统 (常用)
1、控制读写
rw、ro

    2、控制文件权限
    root_squash
    no_root_squash
    all_squash
    no_all_squash

    3、控制写模式
    sync
    async

    4、控制用户
    anonuid
    anongid

搭建考试系统
统一用户
1、创建用户
[root@nfs nfs1]# groupadd www -g 666
[root@nfs nfs1]# useradd www -u 666 -g 666 -M -r -s /sbin/nologin

    2、修改挂载点权限
    [root@nfs nfs1]# chown -R www.www /web/

搭建WEB服务
1、安装web软件
[root@web01 opt]# yum install httpd php php-devel -y

    2、将代码放置于网站的根目录
    [root@web01 opt]# cd /var/www/html/

    # 上传代码

    3、授权
    [root@web01 html]# chown -R www.www /var/www/html

    4、关闭selinux和防火墙
    [root@nfs ~]# setenforce 0
    [root@nfs ~]# systemctl disable --now firewalld

    5、修改web软件的用户
    [root@web01 html]# vim /etc/httpd/conf/httpd.conf
    User www
    Group www

    6、启动web软件
    [root@web01 html]# systemctl start httpd

    7、测试

        1、上传

        2、访问
        http://172.16.1.7/upload/1_linux.jpg

配合NFS实现文件共享
1、修改NFS配置文件
[root@nfs nfs1]# vim /etc/exports
/web/upload 172.16.1.0/20(rw,sync,all_squash,anonuid=666,anongid=666)

    2、创建挂载点
    [root@nfs nfs1]# mkdir /web/upload
    [root@nfs nfs1]# chown www.www /web/upload

    3、重启NFS
    [root@nfs nfs1]# systemctl restart nfs-server rpcbind

    4、客户端安装NFS软件
    [root@web01 html]# yum install nfs-utils -y
    [root@web02 html]# yum install nfs-utils -y
    [root@web03 html]# yum install nfs-utils -y

    5、挂载
    [root@web01 html]# mount -t nfs 172.16.1.31:/web/upload /var/www/html/upload
    [root@web02 html]# mount -t nfs 172.16.1.31:/web/upload /var/www/html/upload
    [root@web03 html]# mount -t nfs 172.16.1.31:/web/upload /var/www/html/upload

    6、测试
    用web2上传,web3查看
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于配置 NFS 服务器实现本地挂载共享和其他主机挂载共享,我可以为您提供以下步骤: 1. 在 NFS 服务器上安装 NFS 服务器软件 在 Linux 上,可以使用以下命令安装 NFS 服务器软件: ``` sudo apt-get install nfs-kernel-server ``` 2. 创建共享目录 在 NFS 服务器上创建一个共享目录,例如 /shared,用于存储要共享的文件。 ``` sudo mkdir /shared ``` 3. 配置共享目录权限 使用 chmod 命令配置共享目录权限,以确保其他用户可以访问共享目录。例如,可以使用以下命令将共享目录设置为可读写: ``` sudo chmod 777 /shared ``` 4. 配置 NFS 服务器 在 /etc/exports 文件中配置 NFS 服务器,指定要共享的目录和允许访问的客户端。例如,可以添加以下行: ``` /shared 192.168.0.0/24(rw,sync,no_subtree_check) ``` 这将允许位于 192.168.0.0/24 网络中的客户端访问 /shared 目录。 5. 重新启动 NFS 服务器 使用以下命令重新启动 NFS 服务器: ``` sudo systemctl restart nfs-kernel-server ``` 6. 在客户端上挂载共享目录 现在,在客户端上,可以使用以下命令挂载共享目录: ``` sudo mount <NFS服务器的IP地址>:/shared <本地挂载目录> ``` 例如,可以使用以下命令将共享目录挂载到 /mnt/shared: ``` sudo mount 192.168.0.100:/shared /mnt/shared ``` 7. 配置其他主机挂载共享 要让其他主机挂载共享,可以在 /etc/fstab 文件中添加一行类似的条目: ``` 192.168.0.100:/shared /mnt/shared nfs defaults 0 0 ``` 这将在启动时自动挂载共享目录。 以上就是配置 NFS 服务器实现本地挂载共享和其他主机挂载共享的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值