Linux常用服务配置与优化之NFS篇

serve端IP:192.168.2.128

NFS(network file
system)的简称,是linux系统之间常用的一种文件共享格局,下边简述其搭建进度,须要三个linux系统的虚拟机,倘若客户端的ip为1九贰.168.1.10五,服务端的ip为1九二.168.一.拾七.

NFS(network file
system)互连网文件系统,类似Windows中的文件夹共享,如下有叁台机器A, B,
C,它们要求拜访同贰个目录,目录中都以图表,传统的做法是把那么些图片分别放到A,
B,
C,可是使用NFS只须要停放A上,然后A共享给B和C就能够。访问的时候,B和C是透过网络的艺术去访问A上的不胜目录。

CentOS7.2中安装NFS1.3

NFS(network file
system)互联网文件系统,类似Windows中的文件夹共享,如下有3台机器A, B,
C,它们必要拜访同一个索引,目录中都是图形,守旧的做法是把那一个图片分别放到A,
B,
C。可是利用NFS只必要安放A上,然后A共享给B和C就可以。访问的时候,B和C是
因此网络的点子去访问A上的充足目录。

图片 1

1、在A机上安装 NFS 服务器所需的软件包:
yum install -y nfs-utils

(实际上须求设置三个包nfs-utils和rpcbind,
然而当使用yum安装nfs-utils时会把rpcbind一齐安装上)

2、编辑exports文件,增多从机
vim /etc/exports
/home/nfs 192.168.222.201(rw,sync,fsid=0)
192.168.222.202(rw,sync,fsid=0)

布局表达:

那壹行分为八个部分:

先是局地:/home/nfs ,那一个是地面要共享出去的目录。

其次有的:1玖二.16八.222.0/2四,允许访问的主机,能够是三个IP:192.16八.22二.20一,也足以是二个IP段:1玖二.16八.22二.0/24

其3有的:括号中有个别。

  • rw表示可读写,ro只读;

  • sync :同步格局,内部存款和储蓄器中数据随时写入磁盘;async
    :差别台,把内部存款和储蓄器中数据定时写入磁盘中;

  • no_root_squash
    :加上那一个选项后,root用户就能够对共享的目录具有至高的权位调整,就像对本机的目录操作同样。不安全,不建议选拔;root_squash:和地点的选料对应,root用户对共享目录的权位不高,唯有普通用户的权位,即限制了root;all_squash:不管选拔NFS的用户是哪个人,他的地位都会被界定成为3个点名的普通用户身份;

  • anonuid/anongid :要和root_squash
    以及all_squash一齐使用,用于钦命使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中留存那么些uid和gid。

  • fsid=0表示将/home/nfs整个目录包装成根目录

以此布局文件也能够这么写:
/opt/test/
192.168.222.0/24(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)

三、启动A机上nfs服务
先为rpcbind和nfs做开机运行:
systemctl enable rpcbind.service
systemctl enable nfs-server.service

然后分别运维rpcbind和nfs服务:
systemctl start rpcbind.service
systemctl start nfs-server.service

确认NFS服务器运维成功:
rpcinfo -p
由此查看service列中是或不是有nfs服务来确认NFS是不是运转。

showmount -e 192.168.222.200

翻看可挂载目录及可连日来的IP

4、关闭A机上的防火墙恐怕给防火墙配置nfs的通过规则

或然关闭简单啊!

systemctl stop firewalld.service

伍、在B,C机上配置clinet端

一、安装nfs,并运行服务。

yum install -y nfs-utils

systemctl enable rpcbind.service

systemctl start rpcbind.service

客户端没有须求运营nfs服务,只需求运维rpcbind服务.

2、检查 NFS 服务器端是不是有目录共享

showmount -e 192.168.222.200

叁、使用 mount 挂载A服务器端的目录/home/nfs到客户端B的目录/home/nfs下

[[email protected]
~]# mkdir /home/nfs
[[email protected]
~]# mount -t nfs 192.168.222.200:/home/nfs/ /home/nfs/
[[email protected]
~]# df -h
文件系统 体积 已用 可用 已用% 挂载点
/dev/mapper/centos-root 11G 1.3G 9.1G 13% /
devtmpfs 911M 0 911M 0% /dev
tmpfs 921M 0 921M 0% /dev/shm
tmpfs 921M 8.5M 912M 1% /run
tmpfs 921M 0 921M 0% /sys/fs/cgroup
/dev/sda1 497M 170M 328M 35% /boot
tmpfs 185M 0 185M 0% /run/user/0
192.168.222.200:/home/nfs 11G 1.3G 9.1G 13% /home/nfs

四、挂载完结,能够健康访问本机下的/home/nfs,若是在劳务端A在共享目录/home/nfs中写入文件,B、C机上得以见到,然而不能在那些目录中写入文件.

6、在服务器端A再次创下立贰个共享目录,并且能够允许A、B、C写入共享目录

一、在B、C机上赚取root用户ID号

[[email protected]
home]# id root
uid=0(root) gid=0(root) 组=0(root)

二、在A服务器上再次创下设三个共享目录

mkdir /home/nfs1

# vim /etc/exports
/home/nfs 192.168.222.201(rw,sync,fsid=0)
192.168.222.202(rw,sync,fsid=0)
/home/nfs1 192.168.222.0/24(rw,sync,all_squash,anonuid=0,anongid=0)

加盟第一行,anonuid=0,anongid=0即为root用户id。

三、让修改过的安插文件生效

exportfs –arv

使用exportfs命令,当改变/etc/exports配置文件后,不用重启nfs服务一直用这么些exportfs就能够,它的常用选项为[-aruv].
-a :全体挂载恐怕卸载;
-r :重新挂载;
-u :卸载某一个索引;
-v :突显共享的目录;

四、 查看新的可挂载目录及可总是的IP

showmount -e 192.168.222.200

5、在B、C clinet端新挂载三个目录

showmount -e 192.168.222.200 #翻开新的挂载共享目录是还是不是有了。

mkdir nfs1
mount -t nfs 192.168.222.200:/home/nfs1/ /home/nfs1/
ll / >/home/nfs1/ll.txt #测试向新的共享目录中得以写入文件了。
(卸载挂载:umount /home/nfs1/)

陆、想在客户机B、C上完结开机挂载,则要求编辑/etc/fstab:

vim /etc/fstab

投入以下内容:

192.168.222.200:/home/nfs /home/nfs nfs nolock 0 0
192.168.222.200:/home/nfs1 /home/nfs1 nfs nolock 0 0

封存后,重新挂载

mount -a

NFS(network file
system)网络文件系统,类似Windows中的文件夹共享,如下有3台机器A, B,
C,它们须要拜访同贰个索引,目录中…

客户端IP:192.168.2.131

服务端:1,安装nfs-utils 和rpcbind包。

server端配置:

yum install -y nfs-utils#安装nfs-utils时会把rpcbind一同安装

图片 2

一.设置nfs,rpcbind,能够参见Linux
中yum的配置来安装:

2,vim /etc/exports

壹、在A机上安装 NFS 服务器所需的软件包

yum install -y nfs-utils

yum install -y  rpcbind

(实际上须求安装四个包nfs-utils和rpcbind,
不过当使用yum安装nfs-utils时会把rpcbind一齐安装上)

yum install nfs* -y

添加:
/mnt  192.168.1.105  
 (rw,sync,all_squash,annouid=501,anongid=501)#能够是二个网段192.16八.一.0/2肆

2、编辑exports文件,增加从机

vim  /etc/exports

/home/nfs   192.168.222.201(rw,sync,fsid=0)  
192.168.222.202(rw,sync,fsid=0)

配备表达:

那1行分为四个部分:

第3有的:/home/nfs ,那个是地点要共享出去的目录。

第贰有个别:192.168.222.0/二四,允许访问的主机,能够是一个IP:1玖二.16八.222.20一,也足以是一个IP段:1九二.168.22贰.0/二4

其叁有些:括号中一些。

rw代表可读写,ro只读;

sync :同步情势,内存中数据随时写入磁盘;async
:不联合,把内部存款和储蓄器中数据定时写入磁盘中;

no_root_squash
:加上这些选项后,root用户就能够对共享的目录具有至高的权杖决定,就像对本机的目录操作同样。不安全,不提出利用;

root_squash:和地点的取舍对应,root用户对共享目录的权力不高,唯有普通用户的权力,即限制了root;

all_squash:不管选拔NFS的用户是什么人,他的身价都会被界定成为贰个内定的普通用户身份;

anonuid/anongid :要和root_squash
以及all_squash一齐使用,用于钦赐使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中留存那几个uid和gid。

fsid=0表示将/home/nfs整个目录包装成根目录

其一布局文件也能够那样写:

/opt/test/
192.168.222.0/24(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)

NFS 修改配置文件后无需重启服务,如下命令刷新就可以:

exportfs   -rv

图片 3

一,共享的目录
贰,允许访问的IP或然有个别网段 19二.16八.1.0/二4 
3,选项  
rw ,读写
ro,只读
sync,同步情势,将内部存款和储蓄器的多寡实时写入磁盘
async,不一样步 ,将内存的数目定时写入磁盘
all_squash ,   限制全数用户,排除背后设定的uid的用户
root_squash   限制root用户
no_root_squash   不限制root用户
anonuid   用于内定使用NFS的用户限定后的uid和gid。
anongid  

三、启动A机上nfs服务

先为rpcbind和nfs做开机运行:

systemctl enable rpcbind.service

systemctl enable nfs-server.service

下一场分别运维rpcbind和nfs服务:

systemctl start rpcbind.service

systemctl start nfs-server.service

认可NFS服务器运行成功:

rpcinfo -p

透过翻看service列中是或不是有nfs服务来承认NFS是或不是运维。

showmount -e 192.168.222.200

查看可挂载目录及可总是的IP

 

 

四、关闭A机上的防火墙可能给防火墙配置nfs的经过规则

iptables  -F

systemctl stop firewalld.service

二.创建要共享的文件夹,然后编辑/etc/exports

3,启动rpcbind服务和nfs服务
/etc/init.d/rpcbind start
/etc/init.d/nfs start

伍、在B,C机上陈设clinet端

一、安装nfs,并运行服务。

yum install -y  rpcbind

systemctl start rpcbind.service

systemctl enable rpcbind.service

客户端无需运维nfs服务,只须要运维rpcbind服务

贰、检查 NFS 服务器端是还是不是有目录共享

showmount -e 192.168.222.200

3、使用 mount 挂载A服务器端的目录/home/nfs到客户端B的目录/home/nfs下

[root@localhost ~]# mkdir /home/nfs

[root@localhost ~]# mount -t nfs192.168.222.200:/home/nfs//home/nfs/

[root@localhost ~]# df -h

文件系统                   容积  已用  可用 已用% 挂载点

/dev/mapper/centos-root     11G  1.3G  9.1G   13% /

devtmpfs                   911M     0  911M    0% /dev

tmpfs                      921M     0  921M    0% /dev/shm

tmpfs                      921M  8.5M  912M    1% /run

tmpfs                      921M     0  921M    0% /sys/fs/cgroup

/dev/sda1                  497M  170M  328M   35% /boot

tmpfs                      185M     0  185M    0% /run/user/0

192.168.222.200:/home/nfs   11G  1.3G  9.1G   13% /home/nfs

四、挂载完结,能够平常访问本机下的/home/nfs,假设在劳动端A在共享目录/home/nfs中写入文件,B、C机上能够见见,不过不能够在这些目录中写入文件.

mkdir /share-zhi

vim /etc/exports

客户端,
一,yum install -y nfs-utils (因为必要接纳到showmount这一个命令)
2,showmount -e 192.168.1.107
来得如下,
Export list for 192.168.1.105:
/mnt 192.168.1.105
3,挂载 
mount -t nfs -o nolock  -o nfsvers=3 192.168.1.105:/mnt /opt ==》mount
-t nfs -o nolock,nfsvers=3 192.168.1.105:/mnt /opt
-o  nolock 挂载时不加锁 
 目的是能够在此目录创建文件、修改文件的流年裁减,假诺不加的话,会过不长日子才会有感应。
-o  nfsvers  钦赐nfs的版本为3  制止权限混乱(不加那么些选项,创建的公文的属主和属组或者会是nobody)
四,df -h 查看挂载的分区
5,在/mnt目录下开创文件或目录提醒权限不够,将共享的目录设为77七(在server段设置)

6、在服务器端A再建构三个共享目录,并且能够允许A、B、C写入共享目录

一、在B、C机上收获root用户ID号

[root@localhost home]# id root

uid=0(root) gid=0(root) 组=0(root)

二、在A服务器上再次创下设3个共享目录

mkdir /home/nfs1

# vim /etc/exports

/home/nfs 192.168.222.201(rw,sync,fsid=0)
192.168.222.202(rw,sync,fsid=0)

/home/nfs1 192.168.222.0/24(rw,sync,all_squash,anonuid=0,anongid=0)

进入第一行,anonuid=0,anongid=0即为root用户id。

3、让修改过的布局文件生效

exportfs  -rv

使用exportfs命令,当改造/etc/exports配置文件后,不用重启nfs服务平昔用那几个exportfs就可以,它的常用选项为[-aruv].

-a :全体挂载或许卸载;

-r :重新挂载;

-u :卸载某三个目录;

-v :展现共享的目录;

四、 查看新的可挂载目录及可几次三番的IP

showmount -e 192.168.222.200

5、在B、C clinet端新挂载3个目录

showmount -e 192.168.222.200  #查看新的挂载共享目录是或不是有了。

mkdir nfs1

mount -t nfs 192.168.222.200:/home/nfs1/ /home/nfs1/

ll / >/home/nfs1/test.txt   #测试向新的共享目录中得以写入文件了。

(卸载挂载:umount /home/nfs1/)

陆、想在客户机B、C上落成开机挂载,则必要编辑/etc/fstab或许将挂载命令写入到 /etc/rc.local

vim /etc/fstab

进入以下内容:

192.168.222.200:/home/nfs                /home/nfs     nfs    nolock   0
0

192.168.222.200:/home/nfs1               /home/nfs1    nfs    nolock   0
0

封存后,重新挂载

mount -a

vim /etc/rc.local

mount  -t nfs  192.168.222.200:/home/nfs1/  /home/nfs1/

图片 4

此外,如若改变了/etc/exports的安插文件  能够通过exportfs
-avr的吩咐来重新加载可能重启nfs服务。
exportfs 
-a  全部挂载也许卸载
-r 重新挂载
-v 展现进献的目录
-u 卸载某些目录
陆,假使想让系统开机就挂载此分区的话,vim /etc/fstab,增加如下消息
192.168.1.105:/mnt  /opt  nfs  nolock  00
卸载 umout /mnt   

  相关参数(这里参数的主宰不一致,最终客户端对文件的操作也不相同):

挂载 mount -a

图片 5

常见错误:

 

mount.nfs: access denied by server while mounting

3.启动nfs服务,rpcbind服务

恐怕是布置错误也许端口号大于十二四时亟待在/etc/exports下进入insecure选项

systemctl start nfs
systemctl start rpcbind

抑或是server端目录未有权力

  保障rpcbind开机自运行

[root@localhost ~]# showmount -e 192.168.1.107

systemctl enable rpcbind

clnt_create: RPC: Port mapper failure – Unable to receive: errno 113
(No route to host)

留意:nfs服务没有需求安装开机自运行,不然会报错:

解决方法:

图片 6

被访问的NFS服务器上的防火墙未有增添规则,向iptables里面增加以下查看的具有端口就可以

为了保障nfs,rpcbind进度的启航,查六柱预测应进程:

#iptables -F

发表评论

电子邮件地址不会被公开。 必填项已用*标注