• 配置NFS服务器


    NFS服务器

    传统两种不同的存储解决方案:NFS和SAN
    新型的解决方案:云存储

    NFS(Network File System)网络文件系统。是一种用于在计算机网络上共享文件的协议。它允许在不同的计算机之间共享文件和目录,就好像它们在本地系统上一样

    NFS服务器可以保障数据一致性

    SAN(Storage Area Network)存储区域网络,采用网状通道FC(Fibre Channel)技术,通过FC交换机连接存储阵列和服务器主机,建立用于数据存储的区域网络
    设备
    1、专业的存储服务器,有很大块磁盘,总容量非常大
    2、专业的光纤交换机
    3、业务服务器

    SAN和NFS的区别:
    SAN使用光纤,速度快。NFS使用传统的网络来传输数据,速度有线,性能一般,但成本低

    安装NFS服务器

    1、在NFS服务器(192.168.232.164)和web服务器上下载,开启NFS服务

    yum install nfs-utils -y
    service nfs restart
    
    • 1
    • 2

    2、编辑共享文件的配置文件

    vim /etc/exports
    
    /web  192.168.232.0/24(rw,all_squash,sync)
    
    • 1
    • 2
    • 3

    /web是共享的文件夹的路径,不会自动产生,需要新建
    192.168.232.0是允许来访问的客户机的IP地址段
    (rw,all_squash,sync)表示权限的限制

    • rw:表示允许客户端具有读写权限

      ro:表示客户机只读

    • all_squash:表示将所有客户端用户映射到匿名用户,即客户端的文件访问权限将被限制为匿名用户的权限,以提高安全性。任何客户机上的用户访问过来的时候,都把他当做普通用户

      root_squash:当NFS客户端以root管理员访问时,映射为NFS服务器匿名用户

      no)root_squash:当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员

    • sync:同步。表示在写入文件时进行同步,确保数据同步写入磁盘。

      async:异步。优先将数据保存到内存,然后再写入磁盘,效率更高,但可能丢失数据

    修改完配置文件之后要刷新服务

    service nfs resart
    或
    exportfs -rv
    
    • 1
    • 2
    • 3

    3、在/web文件夹下新建一个html文件

    [root@nfs web]# cat index.html 
    welcome to index!
    
    • 1
    • 2

    4、在其他的web服务器上挂载使用共享目录

    mount 192.168.232.164:/web /usr/local/scnginx99/html/
    		源路径文件(NFS)				本机的挂载点
    [root@web-1 scnginx99]# pwd
    /usr/local/scnginx99
    [root@web-1 scnginx99]# df
    文件系统                   1K-块    已用     可用 已用% 挂载点
    devtmpfs                  919456       0   919456    0% /dev
    tmpfs                     931516       0   931516    0% /dev/shm
    tmpfs                     931516    9772   921744    2% /run
    tmpfs                     931516       0   931516    0% /sys/fs/cgroup
    /dev/mapper/centos-root 17811456 2067620 15743836   12% /
    /dev/sda1                1038336  153868   884468   15% /boot
    tmpfs                     186304       0   186304    0% /run/user/0
    192.168.232.164:/web    17811456 2067968 15743488   12% /usr/local/scnginx99/html
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    这个时候再去访问,就会显示NFS服务器中的index.html页面

    卸载,再访问就会访问backend server的index.html文件

    umount /usr/local/scnginx99/html
    
    • 1

    NFS文件系统的自动挂载

    将这个命令写在/etc/rc.local目录下,授予执行权限,实现开机挂载

    vim /etc/rc.local
    	mount 192.168.232.164:/web /usr/local/scnginx99/html/
    
    chmod +x /etc/rc.local
    
    • 1
    • 2
    • 3
    • 4

    修改/etc/fstab文件,也可以实现自动挂载

    vim /etc/fstab
    
    192.168.232.164:/web /usr/local/scnginx99/html nfs defaults 0 0
    
    • 1
    • 2
    • 3

    在backend server服务器上查看NFS机器共享了哪些目录出来,可以使用

    [root@web-1 conf]# showmount -e 192.168.232.164
    Export list for 192.168.232.164:
    /web 192.168.232.0/24
    
    • 1
    • 2
    • 3

    原理

    NFS工作原理:
    NFS实际上不提供对外服务,他通过RPC(Remote Procedure Call)远程调用来实现,RPC最主要的功能就是在指定每个NFS功能所对应的port number,并回报给客户端,让客户端可以连接到正确的端口上去。
    那RPC是如何知道每个NFS的端口呢?
    这是因为当服务器在启动NFS时会随机取用数个端口,并主动向RPC注册,因此RPC可以知道每个端口对应的NFS功能

    NFS自己没有对外监听某个端口号,而是外包给了RPC服务,RPC帮助NFS去监听端口,然后告诉客户机和本机的那个进程对应的端口连续

  • 相关阅读:
    Windows 编写自动复制备份、删除文件定时任务脚本
    【Vue】 Vue3 安装说明,适合小白新手
    网络创业项目-网赚项目-引流量有哪些方法?
    Gradient
    构建LangChain应用程序的示例代码:31、连接大型语言模型与机器学习社区的系统-HuggingGPT教程
    vue与C#实现自定义表单审批流程构建-后端
    QT拖放事件之七:子类化QMimeData,实现对多个自定义类型进行数据
    Linux设置用户的密码有效期
    MySQL的基本使用
    100万级连接,爱奇艺WebSocket网关如何架构
  • 原文地址:https://blog.csdn.net/qq_45742976/article/details/132653600