1、使用如下命令安装NFS服务端软件:
# 在主机上运行以下命令
orangepi@orangepi5:~$ sudo apt install nfs-server
2、在配置NFS时需要使用用户uid和组gid,可以使用id命令查看
# 在主机上运行id命令
orangepi@orangepi5:~$ id
uid=1000(orangepi) gid=1000(orangepi) groups=1000(orangepi),5(tty),6(disk),20(dialout),27(sudo),29(audio),44(video),46(plugdev),60(games),100(users),101(systemd-journal),106(input),111(netdev),122(bluetooth),999(docker)
可以发现主机用户的uid和gid均为1000,在下面配置文件中会使用到。
3、配置NFS
安装NFS服务后,会新增一个/etc/exports文件(即/etc/目录下名为exports的文件),NFS服务根据它的配置来运行。
用vim打开/etc/exports文件命令如下:
orangepi@orangepi5:~$ sudo vim /etc/exports
在/etc/exports文件末尾添加如下语句并且保存:
# 以下内容添加到/etc/exports文件末尾,IP地址和uid,guid需要根据自己的环境仅限修改
/home/orangepi/nfs 192.168.50.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000,no_subtree_check)
以上内容注释:
- /home/orangepi/nfs:需要共享的主机目录,注意使用空格与后面的配置隔开。
- 192.168.50.0/24:配置哪个网段或主机可以访问,其中/24是掩码,此处表示24个1,即掩码是255.255.255.0。结合前面192.168.50.0表示此处配置IP为192.168.50.*的主机均可以访问该目录,即192.168.50.*网段局域网上的所有主机。
- rw:表示客户机的权限,rw表示可读写。具体的授权还受到文件系统的rwx及用户身份影响。
- sync:资料同步写入到内存与磁盘中。
- anonuid=1000:将客户机上的用户映射成指定的本地用户ID的用户,此处1000是主机oprangepi用户的uid,此处请根据具体的主机用户uid进行配置。
- anongid=100:将客户机上的用户映射成属于指定的本地用户组ID,此处1000是主机orangepi用户组gid。此处请根据具体的主机用户组gid进行配置。
- no_subtree_check:不检查子目录权限,默认配置。
本配置中的anonuid和anongid把客户机的用户映射成本地uid/gid为1000的用户,即主机orangepi,那么当在客户机上使用与主机不同的用户访问NFS共享目录时,都会有orangepi的权限。
4、创建共享目录
为了确保共享的配置有效,还需要创建共享的目录,本例中为/home/orangepi/workdir。
# 在主机上运行以下命令
orangepi@orangepi5:~$ mkdir /home/orangepi/nfs
5、更新exports配置
修改完/etc/exports文件并且保存后,可使用exportfs命令更新配置:
# 在主机上运行以下命令
orangepi@orangepi5:~$ sudo exportfs -arv
[sudo] password for orangepi:
exporting 192.168.50.0/24:/home/orangepi/nfs
该命令的参数说明:
- -a:全部mount或umount文件/etc/exports中的内容
- -r:重新mount文件/etc/exports中的共享内容。
- -u:umount目录。
- -v:在exportfs的时候,将详细的信息输出到屏幕上。
6、查看NFS共享情况
使用showmount -e可查看当前NFS服务器的加载情况。
orangepi@orangepi5:~$ showmount -e
Export list for orangepi5:
/home/orangepi/nfs 192.168.50.0/24
7、安装NFS客户端
主机开启NFS服务后,在同一局域网内的另一台主机上安装NFS客户端,执行以下命令安装NFS客户端命令:
root@lub:/home/cat# sudo apt-get install nfs-common
客户主机上查看NFS共享目录,在客户端上执行"showmount -e 'NFS服务器IP'"
cat@lub:~$ sudo showmount -e 192.168.50.184
Export list for 192.168.50.184:
/home/orangepi/nfs 192.168.50.0/24
8、临时挂载NFS文件系统
使用mount命令挂载NFS服务器的共享目录到客户机的/mnt/nfs目录下
cat@lub:~$ sudo mount -t nfs 192.168.50.184:/home/orangepi/nfs /mnt/nfs
以上参数解释:
- -t nfs:指定挂载的文件系统格式为nfs。
- 192.168.50.184:指定NFS服务器的IP地址。
- /home/orangepi/nfs:指定NFS服务器的共享目录。
- /mnt/nfs:本地挂载,即要把NFS服务器的共享目录映射到客户机的/mnt/nfs目录下。
9、测试NFS共享目录
挂载成功后,在NFS服务器的共享目录下,输入"echo 'hello orangepi' > cat.txt"命令,则在共享目录下创建了一个名为cat.txt的文件:
cat@lub:/mnt$ cd nfs/
cat@lub:/mnt/nfs$ ls
cat@lub:/mnt/nfs$ pwd
/mnt/nfs
cat@lub:/mnt/nfs$ echo "hello orangepi">cat.txt
cat@lub:/mnt/nfs$ cat cat.txt
hello orangepi
在主机的/home/orangepi/nfs下进行查看,可以发现NFS服务器的共享目录中cat.txt文件:
orangepi@orangepi5:~$ cd /home/orangepi/nfs/
orangepi@orangepi5:~/nfs$ pwd
/home/orangepi/nfs
orangepi@orangepi5:~/nfs$ ls
cat.txt
orangepi@orangepi5:~/nfs$ cat cat.txt
hello orangepi
10、取消挂载
在客户机上使用,使用umount命令文章来源:https://www.toymoban.com/news/detail-498988.html
cat@lub:/mnt$ sudo umount nfs
cat@lub:/mnt$ ls nfs/
cat@lub:/mnt$
使用该命令时要取消挂载的目录作为参数,没有输出表示正常执行。如果在当前挂载的目录进行umount操作,会提示"device is busy"。建议取消挂载时,先切换到目录,再进行umount。文章来源地址https://www.toymoban.com/news/detail-498988.html
到了这里,关于Ubuntu 22.04上安装NFS服务的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!