文章目录

  • 为什么要用存储服务?
  • 直接上干货
  • 环境要求
  • 1.NFS服务端配置流程(在nfs01中配置)
  • 1.1安装nfs-utils服务
  • 1.2启动rpcbind
  • 1.3配置配置文件
  • 1.4 根据配置文件创建所需信息
  • 1.6通过nfs特有的配置文件查看配置是否正确
  • 1.7到这里NFS服务端配置完成
  • 2.NFS客户端配置(web01,web02)
  • 2.1客户端安装nfs-utils (无需启动,安装上即可)
  • 2.2通过showmount 命令查看服务端是否有共享目录
  • 2.3挂载共享目录/data 到web01的/mnt 目录下
  • 2.4客户端测试
  • 2.5挂载加入开机自启动


为什么要用存储服务?

挂载nfs后实现开机永久挂载 nfs 开机挂载_运维

直接上干货

环境要求

三台服务器nfs01,web01,web02,配置双网卡,一个内网eth0,一个公网eth1。
其中nfs01这一台作为服务端,另外两台作为客户端。

1.NFS服务端配置流程(在nfs01中配置)

1.1安装nfs-utils服务

nfs-utils是运行NFS服务的必备程序,其中还有一个程序(rpcbind)是NFS的依赖,会随着安装nfs-utils一起安装,所以不必刻意安装。

[root@nfs01 ~]# yum install -y nfs-utils

1.2启动rpcbind

其实rpcbind会随着nfs服务启动时自行启动,所以可以省略,但是若不手动启动rpcbind会无法查看rpc是否收集了nfs的信息
暂时不启动nfs服务,配置完再启动,因为配置配置文件后,都必须重新加载,这里可以先不启动nfs-utils

这里用到一个命令    rpcinfo  -p ip
ip是  服务端的ip

[root@nfs01~]# rpcinfo -p 10.0.0.31
rpcinfo: can't contact portmapper: RPC: Remote system error - Connection refused

若不启动则看不出是否收集了nfs的信息


启动一下
[root@nfs01 ~]# systemctl start rpcbind
[root@nfs01 ~]# rpcinfo -p 10.0.0.31
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper

1.3配置配置文件

NFS服务的配置文件-------》/etc/exports

挂载nfs后实现开机永久挂载 nfs 开机挂载_服务端_02

挂载nfs后实现开机永久挂载 nfs 开机挂载_运维_03

vim /etc/exports

[root@nfs01 ~]# cat /etc/exports
/data 172.16.1.0/24(rw)


/data   作为共享目录
172.16.1.0/24  是这个网段的可以对/data目录操作  
(rw)  这个网段的服务器可以对/data有读写权限
()中可加入第二张图中的参数,用 , 隔开

1.4 根据配置文件创建所需信息

1.创建共享目录
[root@nfs01 ~]# mkdir /data
[root@nfs01 ~]# ll -d /data
drwxr-xr-x 2 root root 6 Jun  9 18:21 /data
2.改所有者
[root@nfs01 ~]# chown nfsnobody.nfsnobody /data
[root@nfs01 ~]# ll -d /data
drwxr-xr-x 2 nfsnobody nfsnobody 6 Jun  9 18:21 /data


给目录所有者全限    将/data目录给到  nfsnobody用户
这个nfsnobody 是一个虚拟用户不必刻意创建,它会随着nfs服务的安装而生成

来看:我web02中没有安装nfs服务,以至于没有nfsnobody这个用户
[root@web02 ~]# id nfsnobody
id: nfsnobody: no such user
接着安装下nfs服务
[root@web02 ~]# yum install -y nfs-utils
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
base                                                               | 3.6 kB  00:00:00     
epel                                                               | 4.7 kB  00:00:00
·····

查看是否生成了nfsnobody这个虚拟用户

[root@web02 ~]# id nfsnobody
uid=65534(nfsnobody) gid=65534(nfsnobody) groups=65534(nfsnobody)

###1.5 现在启动NFS服务并加入开机自启动

[root@nfs01 ~]# systemctl start nfs    #启动nfs


[root@nfs01 ~]# systemctl enable nfs   #加入开机自启动
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.

[root@nfs01 ~]# systemctl status nfs    #检查nfs状态
● nfs-server.service - NFS server and services
   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; vendor preset: disabled)
  Drop-In: /run/systemd/generator/nfs-server.service.d
           └─order-with-mounts.conf
   Active: active (exited) since Thu 2022-06-09 18:30:30 CST; 18s ago
 Main PID: 5278 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/nfs-server.service

Jun 09 18:30:30 nfs01 systemd[1]: Starting NFS server and services...
Jun 09 18:30:30 nfs01 systemd[1]: Started NFS server and services.

1.6通过nfs特有的配置文件查看配置是否正确

检查/var/lib/nfs/etab 如果有内容说明配置正确
如果为空则配置有问题

[root@nfs01 ~]# cat /var/lib/nfs/etab 
/data	172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,secure,root_squash,no_all_squash)

1.7到这里NFS服务端配置完成

2.NFS客户端配置(web01,web02)

2.1客户端安装nfs-utils (无需启动,安装上即可)

[root@web01 ~]# yum -y install nfs-utils

2.2通过showmount 命令查看服务端是否有共享目录

[root@web01 ~]# showmount -e 10.0.0.31
Export list for 10.0.0.31:
/data 172.16.1.0/24
-e  指定ip

2.3挂载共享目录/data 到web01的/mnt 目录下

[root@web01 ~]# mount -t nfs 172.16.1.31:/data /mnt
[root@web01 ~]# df -h
Filesystem                                   Size  Used Avail Use% Mounted on
devtmpfs                                     979M     0  979M   0% /dev
tmpfs                                        991M     0  991M   0% /dev/shm
tmpfs                                        991M  9.5M  981M   1% /run
tmpfs                                        991M     0  991M   0% /sys/fs/cgroup
/dev/mapper/centos_kmkk--jqjg--mubanji-root   17G  2.0G   16G  12% /
/dev/sda1                                   1014M  138M  877M  14% /boot
tmpfs                                        199M     0  199M   0% /run/user/0
172.16.1.31:/data                             17G  2.0G   16G  12% /mnt
已实现挂载

mount  挂载命令
-t  指定挂载类型

2.4客户端测试

在web01的/mnt下创建文件1.txt,看是否可在nfs01的/data目录下看到,若有则成功

[root@web01 ~]# ll /mnt
total 0
-rw-r--r-- 1 nfsnobody nfsnobody 0 Jun  9 18:46 1.txt

[root@nfs01 ~]# ll /data
total 0
-rw-r--r-- 1 nfsnobody nfsnobody 0 Jun  9 18:46 1.txt

2.5挂载加入开机自启动

方法1:
# 方法01 挂载命令写入到/etc/rc.local      第一次运行需要给 x 权限否则开机不会挂载

chmod +x /etc/rc.local

     mont -t nfs  172.16.1.31:/data  /mnt



#方法02 修改/etc/fstab配置

需要remote-fs 服务运行       
systemctl enable  remote-fs  #加入开机自启动,否则无法开机挂载
systemctl status remote-fs.target

[root@web01 ~]# df -h /upload/
Filesystem Size Used Avail Use% Mounted
on
172.16.1.31:/nfsdata 50G 2.0G 48G 4% /upload



写入   172.16.1.13:/data      /mnt   nfs    defaults   0  0