What does linux nfs mean?
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.
1. Introduction to NFS
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.
2. NFS installation and startup
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:
3. Practical use of NFS
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.
4. NFS mount optimization
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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



The main reasons why you cannot log in to MySQL as root are permission problems, configuration file errors, password inconsistent, socket file problems, or firewall interception. The solution includes: check whether the bind-address parameter in the configuration file is configured correctly. Check whether the root user permissions have been modified or deleted and reset. Verify that the password is accurate, including case and special characters. Check socket file permission settings and paths. Check that the firewall blocks connections to the MySQL server.

C language conditional compilation is a mechanism for selectively compiling code blocks based on compile-time conditions. The introductory methods include: using #if and #else directives to select code blocks based on conditions. Commonly used conditional expressions include STDC, _WIN32 and linux. Practical case: Print different messages according to the operating system. Use different data types according to the number of digits of the system. Different header files are supported according to the compiler. Conditional compilation enhances the portability and flexibility of the code, making it adaptable to compiler, operating system, and CPU architecture changes.

1.0.1 Preface This project (including code and comments) was recorded during my self-taught Rust. There may be inaccurate or unclear statements, please apologize. If you benefit from it, it's even better. 1.0.2 Why is RustRust reliable and efficient? Rust can replace C and C, with similar performance but higher security, and does not require frequent recompilation to check for errors like C and C. The main advantages include: memory security (preventing null pointers from dereferences, dangling pointers, and data contention). Thread-safe (make sure multi-threaded code is safe before execution). Avoid undefined behavior (e.g., array out of bounds, uninitialized variables, or access to freed memory). Rust provides modern language features such as generics

The five basic components of Linux are: 1. The kernel, managing hardware resources; 2. The system library, providing functions and services; 3. Shell, the interface for users to interact with the system; 4. The file system, storing and organizing data; 5. Applications, using system resources to implement functions.

There are many reasons why MySQL startup fails, and it can be diagnosed by checking the error log. Common causes include port conflicts (check port occupancy and modify configuration), permission issues (check service running user permissions), configuration file errors (check parameter settings), data directory corruption (restore data or rebuild table space), InnoDB table space issues (check ibdata1 files), plug-in loading failure (check error log). When solving problems, you should analyze them based on the error log, find the root cause of the problem, and develop the habit of backing up data regularly to prevent and solve problems.

The C language function library is a toolbox containing various functions, which are organized in different library files. Adding a library requires specifying it through the compiler's command line options, for example, the GCC compiler uses the -l option followed by the abbreviation of the library name. If the library file is not under the default search path, you need to use the -L option to specify the library file path. Library can be divided into static libraries and dynamic libraries. Static libraries are directly linked to the program at compile time, while dynamic libraries are loaded at runtime.

MySQL cannot run directly on Android, but it can be implemented indirectly by using the following methods: using the lightweight database SQLite, which is built on the Android system, does not require a separate server, and has a small resource usage, which is very suitable for mobile device applications. Remotely connect to the MySQL server and connect to the MySQL database on the remote server through the network for data reading and writing, but there are disadvantages such as strong network dependencies, security issues and server costs.

The solution to MySQL installation error is: 1. Carefully check the system environment to ensure that the MySQL dependency library requirements are met. Different operating systems and version requirements are different; 2. Carefully read the error message and take corresponding measures according to prompts (such as missing library files or insufficient permissions), such as installing dependencies or using sudo commands; 3. If necessary, try to install the source code and carefully check the compilation log, but this requires a certain amount of Linux knowledge and experience. The key to ultimately solving the problem is to carefully check the system environment and error information, and refer to the official documents.
