【Linux】 NFS服务器实现开机自动挂载

文章目录

NFS服务介绍
NFS存储服务作用
安装NFS:
1) yum安装nfs
2) 配置文件位置
3) 启动NFS服务
使用方法
1) 创建共享目录
2) 设置配置文件并查看
3) 客户端测试
NFS共享的常用参数
设置自动挂载NFS
总结

NFS服务介绍

NFS,是Network File System的简写,即网络文件系统。网络文件系统是FreeBSD支持的文件系统中的一种,NFS允许一个系统在网络上与他人共享目录和文件。

它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录

通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件,如图:
在这里插入图片描述

NFS的模式: C/S 模式
NFS监听的端口: 2049
RHEL7是以NFSv4作为默认版本,NFSv4使用TCP协议(端口号是2049)和NFS服务器建立连接。

在/etc/services里定义了nfs的端口号
在这里插入图片描述

NFS存储服务作用
  1. 实现数据的共享存储
  2. 编写数据操作管理
  3. 节省购买服务器磁盘开销 淘宝–上万 用电开销
安装NFS:
1) yum安装nfs

[root@gaosh-64 ~]# yum install rpcbind nfs-utils

2) 配置文件位置
[root@gaosh-64 ~]# ls /etc/exports
/etc/exports
3) 启动NFS服务
[root@gaosh-64 ~]# systemctl restart rpcbind
[root@gaosh-64 ~]# systemctl start nfs-server.service 
[root@gaosh-64 ~]# 
[root@gaosh-64 ~]# netstat -antup |grep 2049
tcp        0      0 0.0.0.0:2049            0.0.0.0:*               LISTEN      -                   
tcp6       0      0 :::2049                 :::*                    LISTEN      -                   
udp        0      0 0.0.0.0:2049            0.0.0.0:*                           -                   
udp6       0      0 :::2049                 :::*                                -                   

使用方法
1) 创建共享目录
[root@gaosh-64 ~]# mkdir -p /share/{dir1,dir2}
[root@gaosh-64 ~]# chmod -R 777 /share/   #给共享目录写的权限
[root@gaosh-64 ~]# ll /share/
总用量 0
drwxrwxrwx 2 root root 6 718 20:42 dir1
drwxrwxrwx 2 root root 6 718 20:42 dir2

2) 设置配置文件并查看
[root@gaosh-64 ~]# cat /etc/exports
/share/dir1  *(ro)   #只读
/share/dir2  192.168.1.0/24(rw,sync)  #读写
[root@gaosh-64 ~]# systemctl restart nfs.service   #启动
[root@gaosh-64 ~]# exportfs -v    #检查当前主机的NFS输出(共享)
/share/dir2     192.168.1.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
/share/dir1     <world>(sync,wdelay,hide,no_subtree_check,sec=sys,ro,secure,root_squash,no_all_squash)
[root@gaosh-64 ~]# 

3) 客户端测试
[root@gaosh-17 ~]# showmount -e 192.168.1.64   #查看存储端共享
Export list for 192.168.1.64:
/share/dir1 *
/share/dir2 192.168.1.0/24
[root@gaosh-17 ~]# 

挂载测试:

[root@gaosh-17 ~]# showmount -e 192.168.1.64
[root@gaosh-17 ~]# mkdir /mnt/test1
[root@gaosh-17 ~]# mkdir /mnt/test2
[root@gaosh-17 ~]# mount -t nfs 192.168.1.64:/share/dir1 /mnt/test1
[root@gaosh-17 ~]# mount -t nfs 192.168.1.64:/share/dir2 /mnt/test2
[root@gaosh-17 ~]# df -h
192.168.1.64:/share/dir1            17G  4.7G   13G   28% /mnt/test1
192.168.1.64:/share/dir2            17G  4.7G   13G   28% /mnt/test2

在上文中我们设置的test1 为只读,test2 为可读写

为了验证这一点,我们只需要复制一个文件过去查看即可

[root@gaosh-17 ~]# cp /etc/passwd /mnt/test1/    #只读文件系统,无法复制文件进去
cp: 无法创建普通文件"/mnt/test1/passwd": 只读文件系统
[root@gaosh-17 ~]# cp /etc/passwd /mnt/test2/   
NFS共享的常用参数

我们已经使用过ro和rw,sync, 三个参数,除此之外还有很多,如下表:

参数作用
ro只读访问。
rw读写访问。
sync资料同步写入到内存与硬盘当中。
async资料会先暂存于内存当中,而非直接写入硬盘。
secureNFS通过1024以下的安全TCP/IP端口发送。
insecureNFS通过1024以上的端口发送。
wdelay如果多个用户要写入NFS目录,则归组写入(默认)。
no_wdelay如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
hide在NFS共享目录中不共享其子目录。
no_hide共享NFS目录的子目录。
subtree_check如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)。
no_subtree_check和上面相对,不检查父目录权限。
all_squash共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash保留共享文件的UID和GID(默认)。
root_squashroot用户的所有请求映射成如anonymous用户一样的权限(默认)。、
no_root_squashroot用户具有根目录的完全管理访问权限。
设置自动挂载NFS

直接在配置文件 /etc/fstab里设置

[root@gaosh-17 ~]# grep '192.168.1.64' /etc/fstab 
192.168.1.64:/share/dir1 /mnt/test1 nfs deaults 0  0 

总结

本文主要探讨了NFS的安装,及使用,实现的NFS开机自动挂载。 为了防止单点NFS,也是可以使用keepalived做高可用的。当你当前的服务器硬盘不够用的时候,你可以使用NFS服务,分享一个硬盘过来使用。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 要在Linux开机自动挂载NFS,需要进行以下步骤: 1. 编辑/etc/fstab文件,添加NFS挂载信息。例如: server:/share /mnt/nfs nfs defaults 0 0 其中,server是NFS服务器的IP地址或主机名,/share是共享目录的路径,/mnt/nfs是本地挂载点的路径。 2. 保存/etc/fstab文件并退出。 3. 执行命令mount -a,测试挂载是否成功。 4. 重启Linux系统,检查NFS是否已经自动挂载。 注意:在编辑/etc/fstab文件时,需要确保NFS服务器和共享目录已经正确配置,并且本地挂载点已经创建。如果NFS服务器不可用或共享目录不存在,Linux系统将无法自动挂载NFS。 ### 回答2: Linux开机自动挂载NFS需要进行以下步骤: 1. 确保NFS服务器和客户端之间能够正确通信。需要确保NFS服务器IP地址在客户端能够访问的网络范围内,并且NFS服务器已经分享了存储目录。 2. 在客户端系统上安装NFS客户端软件包。通常在Linux系统中,NFS客户端软件包已经预装。如果没有,请使用系统默认的包管理器或者手动下载安装NFS客户端软件包。 3. 在客户端创建挂载点目录,例如/mnt/nfs_share。mkdir -p /mnt/nfs_share 4. 手动挂载NFS共享目录检查能否访问。mount -t nfs ip:/nfs_share /mnt/nfs_share。其中ip代表NFS服务器的IP地址,nfs_share是NFS服务器上需要共享的目录名称。 5. 如果手动挂载测试成功,需要将挂载命令添加到/etc/fstab中,以便系统开机自动挂载。编辑/etc/fstab文件,在文件结尾加入如下一行:ip:/nfs_share /mnt/nfs_share nfs defaults 0 0。其中ip代表NFS服务器的IP地址,nfs_share是NFS服务器上需要共享的目录名称,/mnt/nfs_share是客户端的挂载点目录。 6. 保存文件并重启系统,系统将会在重启时自动挂载NFS共享目录。 需要注意的是,在开机自动挂载NFS时,需要确保NFS服务器始终与客户端保持连接,否则挂载点将无法访问。可以使用NFS服务器存储目录的检测程序进行检测,保持NFS服务器的稳定连接。 ### 回答3: 在Linux系统中,可以通过自动挂载nfs实现系统开机自动挂载NFS共享目录。下面将介绍具体的步骤。 第一步:安装NFS客户端 在Linux系统中实现自动挂载NFS共享目录,首先需要安装NFS客户端软件。如果你的Linux系统没有预装NFS客户端,则需要手动安装。可以使用以下命令安装: ```bash sudo apt-get install nfs-common ``` 第二步:创建挂载点 在Linux系统中,要挂载NFS共享目录,需要先创建挂载点,即在本地文件系统中创建一个新的目录(或使用现有目录),这个目录将被用来挂载NFS共享目录上。挂载点可以随意创建在本地的任何位置。这里假设挂载点为 `/mnt/nfs_share`,使用如下命令创建挂载点: ```bash sudo mkdir /mnt/nfs_share ``` 第三步:编辑 /etc/fstab 文件 编辑 `/etc/fstab` 文件,把要挂载NFS共享目录的信息添加到该文件中。`/etc/fstab` 文件是Linux系统用来配置自动挂载文件系统的配置文件。可以使用以下命令打开 `fstab` 文件: ```bash sudo nano /etc/fstab ``` 在文件的末尾添加如下一行,表示将NFS共享目录挂载到 `/mnt/nfs_share` 目录上: ```bash nfs_server:/share_folder /mnt/nfs_share nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0 ``` 其中,nfs_server 表示NFS服务器的IP地址或主机名,`/share_folder` 是NFS服务器上的共享目录名。`auto` 表示在系统启动时自动挂载该共享目录,`nofail` 表示即使NFS服务器无法连接,也不会阻塞系统启动过程,`noatime` 表示不记录文件的访问时间,增加系统性能,`nolock` 表示禁用文件锁定,`intr` 表示在NFS服务器故障或网络中断时可以打断挂载点操作,`tcp` 表示使用TCP协议,`actimeo` 表示缓存生存时间,单位为秒。 第四步:保存并退出 /etc/fstab 文件 完成编辑后,按 Ctrl + X,输入 `Y` 保存更改。 第五步:重启系统或测试自动挂载 重启Linux系统之后,NFS共享目录将自动挂载到 `/mnt/nfs_share` 目录上。也可以执行下面的命令测试自动挂载到是否成功: ```bash sudo mount -a ``` 执行命令之后,如果没有提示任何错误信息,表示自动挂载成功。 以上就是在Linux系统中实现自动挂载NFS共享目录的步骤。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值