Home >Operation and Maintenance >Linux Operation and Maintenance >Introduction to NFS service and how to use it
1. Introduction to NFS service
NFS is the abbreviation of Network File System, that is, network file system. A protocol for distributed file systems, developed by Sun and announced in 1984. Function: Allow different machines and different operating systems to share individual data with each other through the network, allowing applications to access data located on the server disk through the network on the client side. It is a method to achieve disk file sharing between Unix-like systems. .
The basic principle of NFS is to "allow different clients and servers to share the same file system through a set of RPCs". It is independent of the operating system and allows different hardware and operating systems. systems to share files together.
NFS relies on the RPC protocol during file transfer or information transfer. RPC, remote procedure call, is a mechanism that enables the client to execute other system programs. NFS itself does not provide information transmission protocols and functions, but NFS allows us to share data through the network. This is because NFS uses some other transmission protocols. These transport protocols use this RPC function. It can be said that NFS itself is a program using RPC. In other words, NFS is an RPC SERVER. So wherever NFS is required the RPC service must be started. Summary: NFS is just a file system, and rpc is responsible for the transmission of information.
2. InstallationNFSService
NFSRequires two software packages
nfs-utils-* Includes basic NFScommands and monitoring programs
rpcbind-* Supports securityNFS RPCService connection
1.Check whether the system is installedNFS
rpm -qa|grep nfs
rpm -qa|grep rpcbind
If not, firstyum grouplist thenyum groupinstall "NFS"
3. NFSServer configuration
NFSCommon directories
/etc/exports NFSMain configuration file of the service
/usr/sbin/exportfs NFSService management command
/usr/sbin/showmount Client view command
/ var/lib/nfs/etab RecordNFSThe complete permission setting value of the shared directory
/var/lib/nfs/ xtab Record the client information that has logged in
NFSThe configuration file of the service is /etc/exports, The system does not have a default value, so this file may not exist. You can use vim to create it manually, and then write the configuration content in the file.
/etc/exportsFile content format:
<Output directory> [Client1 options (access rights, user mapping, other)] [Client2 options (access rights, user mapping , others)】
a.Output directory: The output directory refers to the directory in the NFS system that needs to be shared for client use
b.Client: A computer in the network that can access this NFS output directory
Commonly used client specification methods:
Specify the host with the ip address: 192.168.0.200
Specify all hosts in the subnet: 192.168.0.0/24 192.168.0.0/255.255.255.0
Specify the host of the domain name: david.bsmart.cn
All hosts in the specified domain name: *.bsmart.cn
All hosts: *
c.Options: Used to set the access permissions of the output directory, user mapping, etc.
NFS mainly has 3 type options:
Access permission options
Set the output directory read-only: ro
Set the output directory read-write: rw
User Mapping option
all_squash:Map all ordinary users and their groups for remote access to anonymous users or user groups (nfsnobody)
no_all_squash: Opposite of all_squash (default setting)
root_squash: Change The rootuser and its group are mapped to anonymous usersoruser group
no_root_squash: opposite to the above
anongid=xxx:Map all remote access users as anonymous users, and specify the user as a local user
anongid=xxx: Map all user groups for remote access to anonymous user group accounts, and specify the anonymous user group account as a local user group account
Other options (ignore, use the default value)
4. NFS Starting and stopping the server
After correctly configuring the /etc/exports file, you can start NFS Server.
1.Start the NFS server
In order for the nfs server to work properly, you need to Start the two services rpcbind and nfs, and rpcbind must be preceded by nfsStart
service rpcbind start
service nfs start
2.Query nfsserver status
service rpcbind status
service nfs status
3.stopnfsserver
To stop nfs, first stop nfs and then stop rpcbind Service, when there are other services in the system (such as nis) that need to be used, there is no need to stop the rpcbind service
service nfs stop
service rpcbind stop
4.Set the automatic startup status of nfs
chkconfig --add
chkconfig --level 35
5. Example
1.Change the of NFS server /home/cairui Shared to 192.168.66.128, permission read and write
#vim /etc/exports
/home/cairui 192.168.66.128/24(rw)
2.Restartrpcbindandnfsservice
service rpcbind restart
service nfs restart
exportfs
3.Use showmountcommand query on the server sideNFSShared status
showmount -e
showmount -a Display directory information that has been connected to the client
4.The client uses the showmount command to query## Sharing status of #nfs
showmount -eServerip
5.Customer Side mountnfsShared directory in the server
Command format: mount NFSServerIP: Shared directory local mount point directory
Check whether the mount is successful: mount|grep nfs
Check whether the file is consistent with the server side6. Sharing permissions and access control of NFS
Modify the permissions on the server/home/cairui so that the client can write and read
chmod 777 -R /home/cairui6.Uninstall the mounted NFSshared directory
Format: umount /tmp/cai
8.Start automatic mountingnfsFile system
Format: