ubuntu 下使用 nfs

本文详细介绍如何在Ubuntu系统中安装并配置NFS服务。包括安装nfs-kernel-server、配置portmap、设置主机访问权限及共享目录等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以前在redhat上使用过过nfs,用着很方便,能很快就mount上。
自从用ubuntu以后,就再也没用过nfs,现在玩板子用到,一下子不知到怎么玩了。。

1. sudo apt-get install nfs-kernel-server

会自动安装nfs-common和portmap

2. 配置portmap:

    2.1. 编辑/etc/default/portmap, 将 -i 127.0.0.1 去掉.

    2.2. 配置/etc/hosts.deny,禁止任何host能和你的NFS服务器进行NFS连接,加入:

        --------------------------------------------------

        ### NFS DAEMONS

        portmap:ALL

        lockd:ALL

        mountd:ALL

        rquotad:ALL

        statd:ALL

        --------------------------------------------------

    2.3. 配置/etc/hosts.allow,允许那些你想要的主机和你的NFS服务器建立连接。

    下列步骤将允许任何IP地址以192.168.2开头的主机(连接到NFS服务器上),也可以指定特定的IP地址。加入:

        --------------------------------------------------

        ### NFS DAEMONS

        portmap: 138.198.177.

        lockd: 138.198.177.

        rquotad: 138.198.177.

        mountd: 138.198.177.

        statd: 138.198.177.

        --------------------------------------------------

3. 配置/etc/exports

    要将/data/rootfs2.6目录让138.198.177.*的IP共享, 则在该文件末尾添加下列语句:

    /data/rootfs2.6    *(rw,sync,no_root_squash)

    运行 $ sudo exportfs -r 更新。

    --------------------------------------------------

    这里如果指定ip范围,mount测试的时候得到"权限不够"的错误  

   /data/rootfs2.6    138.198.177.*(rw,sync,no_root_squash)

    --------------------------------------------------

   

4. 运行 $ showmount -e 查看NFS server的export list.

5. 运行 $ sudo /etc/init.d/nfs-kernel-server restart 重启nfs服务

6. 测试NFS

可以尝试一下挂载本地磁盘(假设本地主机IP地址为:192.128.2.1,将/home/zp/share挂载到/mnt)

$ sudo mount 138.198.177.39:/data/rootfs2.6 /mnt

运行 $ df 看看结果

$ sudo umount /mnt

注意被拷贝文件的读/写权限!

另外, 可以使用一定的参数:

使用加参数的办法:mount -o nolock,rsize=1024,wsize=1024,timeo=15 192.168.2.130:/tmp/ /tmp/




### 如何在Ubuntu使用NFS #### 安装NFS服务器和客户端软件包 为了使计算机能够作为NFS服务器并挂载远程文件系统,需要安装相应的软件包。对于服务器端而言,这通常意味着要安装`nfs-kernel-server`;而对于想要连接到该服务的任何机器,则需安装`nfs-common`。 ```bash sudo apt update && sudo apt install nfs-kernel-server nfs-common ``` #### 配置共享目录 创建打算通过网络分享给其他系统的本地路径,并调整其权限以便允许适当级别的访问控制。编辑/etc/exports文件定义哪些资源可供外部主机读取或写入[^1]。 ```bash sudo nano /etc/exports ``` 向此配置文件添加一行如下所示的内容: ``` /path/to/shared/folder client_ip(rw,sync,no_subtree_check) ``` 这里替换实际待共享的位置以及目标设备IP地址。参数说明: - `rw`: 给予读写的权利; - `sync`: 请求立即同步数据至磁盘; - `no_subtree_check`: 减少子树检查开销提高性能。 保存更改后执行命令刷新设置让新的导出生效: ```bash sudo exportfs -ra ``` #### 启动与启用NFS服务 确保NFS守护进程正在运行并且开机自启已开启。可以利用systemctl工具完成这项工作。 ```bash sudo systemctl start nfs-kernel-server sudo systemctl enable nfs-kernel-server ``` #### 测试连接性 现在可以从另一台Linux PC尝试挂载上述设定好的远端位置了。假设对方拥有静态IPv4地址为192.168.1.100,在终端里输入下面指令实现临时性的关联操作。 ```bash sudo mount -t nfs 192.168.1.100:/path/to/shared/folder /mnt/local_mount_point/ ``` 如果一切顺利的话,那么/mnt/local_mount_point下就应该能看到来自远方的数据啦! #### 自动化加载过程 为了让特定节点每次启动都能自动连通指定源点,可考虑修改fstab记录表项达成目的。打开文本编辑器并将相应条目追加进去即可。 ```bash sudo nano /etc/fstab ``` 增加类似这样的行: ``` 192.168.1.100:/path/to/shared/folder /mnt/local_mount_point nfs defaults,timeo=14,rsize=32768,wsize=32768,intr,proto=tcp,port=2049 0 0 ``` 以上就是关于怎样于Ubuntu操作系统之上部署及运用Network File System协议的大致流程介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值