In Linux, nfs refers to "network file system", which is a file system that allows users to access the server; it can mount remote disks locally and use them as local disks. Through NFS, users and programs can access files in remote systems just like local files; NFS uses a C/S architecture, and the server needs to open TCP2049 port.
#The operating environment of this tutorial: linux5.9.8 system, Dell G3 computer.
NFS is Network File System (network file system), which is a file system that allows users to access the server. The main function is to allow files or directories to be shared between different servers through the network.
NFS is a technology that can mount a remote disk to a local disk and use it as a local disk. Through NFS, users and programs can access files on the remote system as if they were local files.
NFS adopts C/S architecture. The server opens TCP2049 port and waits for client connection.
During NFS installation, since NFS is based on rpcbind, when installing NFS, you need to install rpcbind first. The NFS service installation command is :
yum install -y rpcbind nfs-utils
Similarly, when starting, rpcbind is started first, and then NFS is started. The relevant commands are as follows:
systemctl start rpcbind systemctl start nfs-utils
After the NFS service is started, it will listen to the local 2049 port, as shown below:
To set up NFS, you first need to configure the client that is allowed to be mounted on the server. For IP address and permissions, you need to open the /etc/exports file and write in the file:
/nfs 192.168.136.101(rw)
Among them, /nfs in the front indicates the directory that is allowed to be mounted, and 192.168.136.101 in the back indicates the clients that are allowed to be mounted. terminal, you can also use * to indicate that any host is allowed to be mounted, and rw indicates that the mounting permission is read and write permissions.
In addition to rw permissions, other commonly used permissions are:
1. ro - indicates read-only permission
2. sync - indicates that data is written to the memory and disk synchronously
3. async ——Indicates that the data is stored in the memory first, rather than written directly to the disk
4. secure——Indicates that NFS uses ports below 1024 when transferring files
5. insecure——Indicates that NFS uses ports when transferring files Ports above 1024
6. all_squash——Indicates that the UID and GID of the file are anonymous, suitable for shared directory configuration
7. no_all_suash——Indicates that the UID and GID of the file are retained
After completing the above operations, you need Execute the command:
exportfs -rv
to re-read the NFS configuration file.
Next, on the client, execute the mount command:
showmount -e 192.168.136.210mount 192.168.136.210/nfs /media
to successfully mount the file. After the mount is successful, execute the command df -h to view the mount result, as shown below:
Note: Before performing the mounting operation, the server's firewall must be turned off! Otherwise the mount will fail.
However, although it can be mounted successfully and has read and write permissions on the service configuration, in actual operation, the client may not have write permissions on the mounted directory. This is because the service configuration There is also a problem of permission checking in the end system. Since the NFS service is run by user nfsnobody by default, and if the user does not have write permissions on the /nfs directory, the client cannot write to the directory. Therefore, we need to grant the nfsnobody user write permissions, such as :
chonw nfsnobody.nfsnobody -R /nfs
In this way, we can use the NFS file system like a local mount.
In the above actual combat, although we can mount NFS and achieve the expected effect, in actual combat scenarios , in order to improve the read and write speed of NFS, we will not use the following mount command:
mount -t nfs -o noatime,nodiratime,rsize=131072,wsize=131072,intr 192.168.126.210:/nfs /media
In the above command, the -t parameter indicates that the target file system to be mounted is nfs, and noatime indicates to cancel the update of the file system. The inode access time on the file system, nodirtime means canceling the update of the directory inode access time on the file system. These two options can be used in high concurrency environments to improve system performance. rsize and wsizei represent the size of the read and written blocks. This setting value UID affects the amount of buffer storage for written data by the client and server. When the device performance is high, this value can be set larger to improve the file transfer capability of the NFS system.
Related recommendations: "Linux Video Tutorial"
The above is the detailed content of What does linux nfs mean?. For more information, please follow other related articles on the PHP Chinese website!