本文共 8118 字,大约阅读时间需要 27 分钟。
nfs:网络文件共享
[root@server ~]# yum repolist Loaded plugins: langpacksrhel_dvd | 4.1 kB 00:00 (1/2): rhel_dvd/group_gz | 134 kB 00:00 (2/2): rhel_dvd/primary_db | 3.4 MB 00:00 repo id repo name statusrhel_dvd Remote cla***oom copy of dvd 4,305repolist: 4,305服务端:
[root@server ~]# yum install nfs-utils -y #安装服务
[root@server ~]# systemctl start nfs #开启服务[root@server ~]# netstat -antlupetcp6 0 0 :::111 :::* LISTEN 0 20201 1280/rpcbind客户端:
[root@client ~]# showmount -e 172.25.254.125 #发现172.25.254.125上的信息
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host) #No route to host 网络不可到达,有两种情况1.网络不通;2.火墙[root@client ~]# ping 172.25.254.125PING 172.25.254.125 (172.25.254.125) 56(84) bytes of data.64 bytes from 172.25.254.125: icmp_seq=1 ttl=64 time=0.207 ms64 bytes from 172.25.254.125: icmp_seq=2 ttl=64 time=0.218 ms #网络通畅,所以可以确定是火墙影响服务端:
[root@server ~]# firewall-cmd --list-all #列出所有火墙策略
public (default, active)interfaces: eth0sources: services: dhcpv6-client ssh[root@server ~]# firewall-cmd --get-services #列出所有预设服务nfs rpc-bind mountd [root@server ~]# firewall-cmd --permanent --add-service=nfssuccess[root@server ~]# firewall-cmd --reload
客户端:[root@client ~]# showmount -e 172.25.254.125
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host) #端口没开服务端:[root@server ~]# firewall-cmd --permanent --add-service=rpc-bind #rpc-bind分配此接口
success[root@server ~]# firewall-cmd --reload #重新加载
success客户端:[root@client ~]# showmount -e 172.25.254.125
rpc mount export: RPC: Unable to receive; errno = No route to host #Unable to receive端口能访问但不能使用服务端:nfs需要挂载才能使用
[root@server ~]# firewall-cmd --permanent --add-service=mountd
success[root@server ~]# firewall-cmd --reload success客户端:[root@client ~]# showmount -e 172.25.254.125
Export list for 172.25.254.125:服务端:建立共享目录:
[root@server ~]# mkdir -p /westos/nfs [root@server ~]# vim /etc/exports/westos/nfs (sync) #:目录共享给所有人,(sync)服务端与客户端时时同步[root@server ~]# exportfs -rv #刷新,注意不能重启服务,会卡
exporting *:/westos/nfs客户端:[root@client ~]# showmount -e 172.25.254.125 #发现172.25.254.125信息,目录共享成功
Export list for 172.25.254.125:/westos/nfs *[root@client ~]# mount 172.25.254.125:/westos/nfs /mnt #执行挂载动作,使用绝对路径172.25.254.125:/westos/nfs,/westos/nfs是172.25.254.125主机上共享的目录[root@client ~]# dfFilesystem 1K-blocks Used Available Use% Mounted on/dev/vda1 10473900 3153212 7320688 31% /devtmpfs 481120 0 481120 0% /devtmpfs 496708 472 496236 1% /dev/shmtmpfs 496708 13104 483604 3% /runtmpfs 496708 0 496708 0% /sys/fs/cgroup/dev/mapper/vg0-vo 483670 2339 451840 1% /home172.25.254.125:/westos/nfs 10473984 3149184 7324800 31% /mnt 以上挂载不能解决占用问题,不能实现用的时候自动挂载,不用的时候自动卸载客户端:
[root@client ~]# yum install autofs #安装此软件实现自动挂载自动卸载
[root@client ~]# ls -ld /net #默认无此目录ls: cannot access /net: No such file or directory[root@client ~]# systemctl start autofs #重启服务[root@client ~]# ls -ld /net #重启服务后,/net自动建立drwxr-xr-x 2 root root 0 Dec 9 07:57 /net[root@client ~]# dfFilesystem 1K-blocks Used Available Use% Mounted on/dev/vda1 10473900 3179800 7294100 31% /devtmpfs 481120 0 481120 0% /devtmpfs 496708 472 496236 1% /dev/shmtmpfs 496708 13108 483600 3% /runtmpfs 496708 0 496708 0% /sys/fs/cgroup/dev/mapper/vg0-vo 483670 2339 451840 1% /home[root@client ~]# cd /net/实现自动挂载:[root@client net]# cd 172.25.254.125[root@client 172.25.254.125]# cd westos/ #切换到共享目录中[root@client westos]# lsnfs[root@client westos]# cd nfs/[root@client nfs]# df #默认挂载点/net/172.25.254.125/westos/nfs ,共享目录(绝对路径):172.25.254.125:/westos/nfsFilesystem 1K-blocks Used Available Use% Mounted on/dev/vda1 10473900 3180052 7293848 31% /devtmpfs 481120 0 481120 0% /devtmpfs 496708 472 496236 1% /dev/shmtmpfs 496708 13108 483600 3% /runtmpfs 496708 0 496708 0% /sys/fs/cgroup/dev/mapper/vg0-vo 483670 2339 451840 1% /home172.25.254.125:/westos/nfs 10473984 3150336 7323648 31% /net/172.25.254.125/westos/nfs查看服务配置文件:[root@client nfs]# rpm -qc autofs/etc/sysconfig/autofs[root@client nfs]# vim /etc/sysconfig/autofs #此服务配置文件TIMEOUT=300 #默认300s实现自动卸载和挂载,该参数可以进行修改[root@client nfs]# vim /etc/sysconfig/autofsTIMEOUT=3 #自动卸载3s[root@client ~]# systemctl restart autofs.service [root@client ~]# df #检测设备挂载Filesystem 1K-blocks Used Available Use% Mounted on/dev/vda1 10473900 3179540 7294360 31% /devtmpfs 481120 0 481120 0% /devtmpfs 496708 472 496236 1% /dev/shmtmpfs 496708 13108 483600 3% /runtmpfs 496708 0 496708 0% /sys/fs/cgroup/dev/mapper/vg0-vo 483670 2339 451840 1% /home客户端自行指定挂载点:[root@client ~]# vim /etc/auto.master
8 /westos/linux /etc/auto.nfs #/westos/linux指定挂载点的上层目录,最终目录写在/etc/auto.nfs文件中[root@client ~]# vim /etc/auto.nfsnfs -ro 172.25.254.125:/westos/nfs #最终挂载点是nfs,所以172.25.254.125:/westos/nfs 只读挂载在/westos/linux/nfs ,ro:只读挂载[root@client ~]# systemctl restart autofs.service [root@client ~]# cd /westos/[root@client westos]# lslinux[root@client westos]# cd linux/[root@client linux]# cd nfs[root@client nfs]# df #指定挂载点/westos/linux/nfsFilesystem 1K-blocks Used Available Use% Mounted on/dev/vda1 10473900 3179544 7294356 31% /devtmpfs 481120 0 481120 0% /devtmpfs 496708 472 496236 1% /dev/shmtmpfs 496708 13108 483600 3% /runtmpfs 496708 0 496708 0% /sys/fs/cgroup/dev/mapper/vg0-vo 483670 2339 451840 1% /home172.25.254.125:/westos/nfs 10473984 3149312 7324672 31% /westos/linux/nfs[root@client ~]# vim /etc/auto.nfs nfs -rw,noatime 172.25.254.125:/westos/nfs #noatime:在文件被浏览时忽略时间更新[root@client ~]# systemctl restart autofs.service [root@client ~]# cd /net/ [root@client net]# cd 172.25.254.125[root@client 172.25.254.125]# lswestos[root@client 172.25.254.125]# cd westos/[root@client westos]# cd nfs/[root@client nfs]# touch file touch: cannot touch ‘file’: Read-only file system #不能建立文件,文件系统对我不可写服务端:[root@server ~]# vim /etc/exports
/westos/nfs *(sync,rw) #所有人对/westos/nfs目录可写
[root@server ~]# exportfs -rv #刷新
exporting *:/westos/nfs客户端[root@client nfs]# touch file
touch: cannot touch ‘file’: Permission denied #建立文件权力被禁止(权限不够)服务端:[root@server ~]# ls -ld /westos/nfs/ #列出目录的属性
drwxr-xr-x. 2 root root 6 Dec 9 07:42 /westos/nfs/[root@server ~]# chmod 777 /westos/nfs/ #更改权限可读可写[root@server ~]# ls -ld /westos/nfs/drwxrwxrwx. 2 root root 6 Dec 9 07:42 /westos/nfs/客户端:[root@client nfs]# touch file #建立文件
[root@client nfs]# lsfile[root@client nfs]# ls -ltotal 0-rw-r--r-- 1 nfsnobody nfsnobody 0 Dec 9 08:47 file #在客户端建立的文件用户身份是服务端的nfsnobody 客户端:[root@server ~]# useradd westos
[root@server ~]# id westosuid=1001(westos) gid=1001(westos) groups=1001(westos)[root@server ~]# vim /etc/exports/westos/nfs (sync,rw,anonuid=1001,anongid=1001) #所有人使用该目录的用户身份的uid是1001,用户组gid是1001[root@server ~]# exportfs -rvexporting :/westos/nfs客户端:
[root@client nfs]# touch file1
[root@client nfs]# ls -l-rw-r--r-- 1 nfsnobody nfsnobody 0 Dec 9 08:47 file
-rw-r--r-- 1 1001 1001 0 Dec 9 08:56 file1 #建立文件的用户在客户端是1001[root@client nfs]# useradd haha
[root@client nfs]# id hahauid=1001(haha) gid=1001(haha) groups=1001(haha)[root@client nfs]# ls -ltotal 0-rw-r--r-- 1 nfsnobody nfsnobody 0 Dec 9 08:47 file-rw-r--r-- 1 haha haha 0 Dec 9 08:56 file1 #建立文件时用户身份uid是1001的是客户端的haha服务端:[root@server ~]# vim /etc/exports
/westos/nfs (sync,rw,no_root_squash) #当客户端用超级用户身份使用目录时保持超级用户身份[root@server ~]# exportfs -rvexporting :/westos/nfs客户端:[root@client nfs]# touch file2
[root@client nfs]# ls -ltotal 0-rw-r--r-- 1 nfsnobody nfsnobody 0 Dec 9 08:47 file-rw-r--r-- 1 haha haha 0 Dec 9 08:56 file1-rw-r--r-- 1 root root 0 Dec 9 09:06 file2 #建立文件保持root身份服务端:[root@server ~]# vim /etc/exports
/westos/nfs 172.25.254.225(sync,rw,no_root_squash) (sync,ro) #只有172.25.254.225使用该目录有读写权力,并且以超级身份使用目录保持超级用户身份,其他所有用户只能只读挂载[root@server ~]# exportfs -rvexporting 172.25.254.225:/westos/nfsexporting :/westos/nfs客户端:[root@client nfs]# touch file3
[root@client nfs]# ls -ltotal 0-rw-r--r-- 1 nfsnobody nfsnobody 0 Dec 9 08:47 file-rw-r--r-- 1 haha haha 0 Dec 9 08:56 file1-rw-r--r-- 1 root root 0 Dec 9 09:06 file2-rw-r--r-- 1 root root 0 Dec 9 09:13 file3 #172.25.254.225建立文件是以超级用户身份转载于:https://blog.51cto.com/13363488/2050017