nfs(网络文件系统)+autofs(自动挂载服务)
nfs配置完成之后,文件服务器中的某一个目录可以共享,这个目录可以远程挂载到某一个客户端,此时,如果我在客户端往这个目录存放数据时,这个数据也保存到文件服务器中了
rpcbind (相当于注册)
原理:
nfs服务-------->rpcbind (nfs服务将它的一些共享信息给到rpcbind)
client(客户端)-------->recbind (询问rpcbind这个目录储存的位置)
相当于rpcbind是一个中介,nfs配置完成之后自动就形成一个rpcbind
一、配置nfs
nfs服务端部署:
1、安装nfs
nfs-utils 和 rpcbind
yum -y install nfs-utils rpcbind
(1)先配置yum仓库
[root@stw ~]# cd /etc/yum.repos.d/
[root@stw yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
[root@stw yum.repos.d]# rm -rf *
[root@stw yum.repos.d]# vim server.repo
[root@stw yum.repos.d]# cd
[root@stw ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
(2)安装nfs-utils 和 rpcbind
[root@stw ~]# yum -y install nfs-utils rpcbind
Loaded plugins: fastestmirror, langpacks
Determining fastest mirrors
aa | 3.6 kB 00:00:00
(1/2): aa/group_gz | 166 kB 00:00:00
(2/2): aa/primary_db | 3.1 MB 00:00:00
Package 1:nfs-utils-1.3.0-0.61.el7.x86_64 already installed and latest version
Package rpcbind-0.2.0-47.el7.x86_64 already installed and latest version
Nothing to do
2、新建共享目录
[root@stw ~]# mkdir /common
3、编辑/etc/exports文件,配置共享目录
共享目录 允许哪个主机或者哪个网段来访问该共享目录(权限),rw–写入 ro–只读
[root@stw ~]# vim /etc/exports
修改共享目录的访问权限,需要和共享权限保持一致
chmod o=rwx /common或者chmod o+w /common
把/common目录挂载到客户端,客户端的用户对于服务端的/common目录都属于其他用户
因为共享权限是读写权限(rw),那么共享目录的访问权限也要是读写权限(rw)
[root@stw ~]# ls -ld /common
drwxr-xr-x. 2 root root 19 Aug 5 18:12 /common
[root@stw ~]# chmod o+w /common
[root@stw ~]# ls -ld /common
drwxr-xrwx. 2 root root 19 Aug 5 18:12 /common
在/common目录中创建一个file1文件,等会看客户端是否能查看到此文件
[root@stw ~]# cd /common
[root@stw common]# ls
[root@stw common]# touch file1
[root@stw common]# ls
file1
4、重启服务(rpcbind服务先启用)
systemctl restart rpcbind
systemctl restart nfs-server
systemctl enable nfs-server
systemctl enable rpcbind
[root@stw ~]# systemctl restart rpcbind
[root@stw ~]# systemctl enable rpcbind
[root@stw ~]# systemctl restart nfs-server.service
[root@stw ~]# systemctl enable nfs-server.service
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
5、关闭防火墙
[root@stw ~]# systemctl stop firewalld.service
[root@stw ~]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
客户端部署:
1、新建挂载点,然后挂载(临时挂载)
[root@stw2 ~]# rpm -q nfs-utils //确保有这个文件系统
nfs-utils-1.3.0-0.61.el7.x86_64
[root@stw2 ~]# mkdir /sss //新建挂载点
[root@stw2 ~]# mount -t nfs 192.168.100.10:/common /sss
//-t:指定文件系统 源:192.168.100.10 /common /sss:挂载到本地的/common /sss
[root@stw2 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 xfs 50G 3.5G 47G 7% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 13M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 163M 852M 17% /boot
tmpfs tmpfs 394M 8.0K 394M 1% /run/user/42
tmpfs tmpfs 394M 0 394M 0% /run/user/0
192.168.100.10:/common nfs4 50G 3.6G 47G 8% /sss
客户端:可以查看到之前服务端在/common目录下创建的文件file1
[root@stw2 ~]# cd /sss
[root@stw2 sss]# ls
file1
[root@stw2 sss]# touch file2 //再创建一个文件file2
[root@stw2 sss]# ls
file1 file2
服务端:可以查看到在客户端创建的文件file2
[root@stw ~]# cd /common
[root@stw common]# ls
file1 file2
[root@stw common]# ll
total 0
-rw-r--r--. 1 root root 0 Aug 5 18:12 file1
-rw-r--r--. 1 nfsnobody nfsnobody 0 Aug 5 18:30 file2
2、手动挂载(永久挂载)
(1)先取消临时挂载
[root@stw2 ~]# umount /sss
[root@stw2 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 xfs 50G 3.5G 47G 7% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 13M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 163M 852M 17% /boot
tmpfs tmpfs 394M 12K 394M 1% /run/user/42
tmpfs tmpfs 394M 0 394M 0% /run/user/0
(2)手动挂载
[root@stw2 ~]# vim /etc/fstab
[root@stw2 ~]# mount -a
[root@stw2 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 xfs 50G 3.5G 47G 7% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 13M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 163M 852M 17% /boot
tmpfs tmpfs 394M 12K 394M 1% /run/user/42
tmpfs tmpfs 394M 0 394M 0% /run/user/0
192.168.100.10:/common nfs4 50G 3.6G 47G 8% /sss
二、自动挂载服务(autofs、是一个客户端的服务)
1、安装autofs软件包
[root@stw2 ~]# cd /etc/yum.repos.d/
[root@stw2 yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
[root@stw2 yum.repos.d]# rm -rf *
[root@stw2 yum.repos.d]# scp 192.168.100.10:/etc/yum.repos.d/server.repo .
The authenticity of host '192.168.100.10 (192.168.100.10)' can't be established.
ECDSA key fingerprint is SHA256:R7/1dpul7cu8SnefsN2wQw5hKDL+xekk0ffasLS6OGI.
ECDSA key fingerprint is MD5:81:88:a1:16:52:83:c0:d5:59:ad:2b:3a:d5:52:02:bc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.100.10' (ECDSA) to the list of known hosts.
root@192.168.100.10's password:
server.repo 100% 54 24.8KB/s 00:00
[root@stw2 yum.repos.d]# ls
server.repo
[root@stw2 yum.repos.d]# cat server.repo
[aa]
name=a
baseurl=file:///mnt
enabled=1
gpgcheck=0
[root@stw2 yum.repos.d]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
在没有下载启用autofs服务之前查看根目录下的文件
[root@stw2 ~]# ls /
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sss sys tmp usr var
[root@stw2 ~]# yum -y install autofs
2、重启autofs服务并设置下次启动生效
[root@stw2 ~]# systemctl restart autofs
[root@stw2 ~]# systemctl enable autofs
Created symlink from /etc/systemd/system/multi-user.target.wants/autofs.service to /usr/lib/systemd/system/autofs.service.
下载启用autofs服务之后查看根目录下的文件(会多出misc目录和net目录)
[root@stw2 ~]# ls /
bin dev home lib64 misc net proc run srv sys usr
boot etc lib media mnt opt root sbin sss tmp var
查看misc目录(发现里面会多出一个cd目录,不使用时隐藏,使用时出现)
[root@stw2 media]# cd /misc
[root@stw2 misc]# ls
[root@stw2 misc]# ls -a
. ..
[root@stw2 misc]# cd cd
[root@stw2 cd]# pwd
/misc/cd
[root@stw2 cd]# umount /mnt
[root@stw2 cd]# cd /misc/cd
[root@stw2 cd]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 xfs 50G 3.6G 47G 8% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 13M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 163M 852M 17% /boot
tmpfs tmpfs 394M 12K 394M 1% /run/user/42
tmpfs tmpfs 394M 0 394M 0% /run/user/0
192.168.100.10:/common nfs4 50G 3.6G 47G 8% /sss
/dev/sr0 iso9660 4.3G 4.3G 0 100% /misc/cd
[root@stw2 cd]# cd ..
[root@stw2 misc]# ls
cd
正常情况下autofs下有两个文件
/etc/auto.master 定义挂载点主目录的位置,及具体挂载内容的文件名
/etc/auto.misc 定义具体挂载内容的文件,及挂载点的子目录名称
[root@stw2 misc]# vim /etc/auto.
auto.master auto.master.d/ auto.misc auto.net auto.smb
[root@stw2 misc]# vim /etc/auto.master
[root@stw2 misc]# vim /etc/auto.misc
卸载掉刚刚配置的手动挂载
[root@stw2 ~]# umount /sss
[root@stw2 ~]# vim /etc/fstab
[root@stw2 ~]# mount -a
[root@stw2 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 xfs 50G 3.6G 47G 8% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 13M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 163M 852M 17% /boot
tmpfs tmpfs 394M 12K 394M 1% /run/user/42
tmpfs tmpfs 394M 0 394M 0% /run/user/0
3、编辑/etc/auto.master文件(定义主目录的位置和挂载内容的配置文件是哪个)
[root@stw2 ~]# vim /etc/auto.master
4、把/etc/auto.misc中的内容复制到/etc/auto.ttt里面
[root@stw2 ~]# cp /etc/auto.misc /etc/auto.ttt
5、编辑挂载内容的配置文件(挂载点子目录 文件系统类型 设备地址)
[root@stw2 ~]# vim /etc/auto.ttt
6、重启autofs服务并设置下次启动生效
[root@stw2 ~]# systemctl restart autofs
[root@stw2 ~]# systemctl enable autofs
[root@stw2 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 xfs 50G 3.6G 47G 8% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 13M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 163M 852M 17% /boot
tmpfs tmpfs 394M 12K 394M 1% /run/user/42
tmpfs tmpfs 394M 0 394M 0% /run/user/0
[root@stw2 ~]# ls /
bin dev home lib64 media mnt opt root sbin sss tmp var
boot etc lib luoqi misc net proc run srv sys usr
[root@stw2 ~]# cd /luoqi
[root@stw2 luoqi]# ls
sss
[root@stw2 luoqi]# cd sss
[root@stw2 sss]# ls -a
. ..
[root@stw2 sss]# cd abc
[root@stw2 abc]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 xfs 50G 3.6G 47G 8% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 13M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 163M 852M 17% /boot
tmpfs tmpfs 394M 12K 394M 1% /run/user/42
tmpfs tmpfs 394M 0 394M 0% /run/user/0
192.168.100.10:/common nfs4 50G 3.6G 47G 8% /luoqi/sss/abc