配置NFS服务器

NFS服务器

传统两种不同的存储解决方案:NFS和SAN
新型的解决方案:云存储

NFS(Network File System)网络文件系统。是一种用于在计算机网络上共享文件的协议。它允许在不同的计算机之间共享文件和目录,就好像它们在本地系统上一样

NFS服务器可以保障数据一致性

SAN(Storage Area Network)存储区域网络,采用网状通道FC(Fibre Channel)技术,通过FC交换机连接存储阵列和服务器主机,建立用于数据存储的区域网络
设备
1、专业的存储服务器,有很大块磁盘,总容量非常大
2、专业的光纤交换机
3、业务服务器

SAN和NFS的区别:
SAN使用光纤,速度快。NFS使用传统的网络来传输数据,速度有线,性能一般,但成本低

安装NFS服务器

1、在NFS服务器(192.168.232.164)和web服务器上下载,开启NFS服务

yum install nfs-utils -y
service nfs restart

2、编辑共享文件的配置文件

vim /etc/exports

/web  192.168.232.0/24(rw,all_squash,sync)

/web是共享的文件夹的路径,不会自动产生,需要新建
192.168.232.0是允许来访问的客户机的IP地址段
(rw,all_squash,sync)表示权限的限制

  • rw:表示允许客户端具有读写权限

    ro:表示客户机只读

  • all_squash:表示将所有客户端用户映射到匿名用户,即客户端的文件访问权限将被限制为匿名用户的权限,以提高安全性。任何客户机上的用户访问过来的时候,都把他当做普通用户

    root_squash:当NFS客户端以root管理员访问时,映射为NFS服务器匿名用户

    no)root_squash:当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员

  • sync:同步。表示在写入文件时进行同步,确保数据同步写入磁盘。

    async:异步。优先将数据保存到内存,然后再写入磁盘,效率更高,但可能丢失数据

修改完配置文件之后要刷新服务

service nfs resart
或
exportfs -rv

3、在/web文件夹下新建一个html文件

[root@nfs web]# cat index.html 
welcome to index!

4、在其他的web服务器上挂载使用共享目录

mount 192.168.232.164:/web /usr/local/scnginx99/html/
		源路径文件(NFS)				本机的挂载点
[root@web-1 scnginx99]# pwd
/usr/local/scnginx99
[root@web-1 scnginx99]# df
文件系统                   1K-块    已用     可用 已用% 挂载点
devtmpfs                  919456       0   919456    0% /dev
tmpfs                     931516       0   931516    0% /dev/shm
tmpfs                     931516    9772   921744    2% /run
tmpfs                     931516       0   931516    0% /sys/fs/cgroup
/dev/mapper/centos-root 17811456 2067620 15743836   12% /
/dev/sda1                1038336  153868   884468   15% /boot
tmpfs                     186304       0   186304    0% /run/user/0
192.168.232.164:/web    17811456 2067968 15743488   12% /usr/local/scnginx99/html

这个时候再去访问,就会显示NFS服务器中的index.html页面

卸载,再访问就会访问backend server的index.html文件

umount /usr/local/scnginx99/html

NFS文件系统的自动挂载

将这个命令写在/etc/rc.local目录下,授予执行权限,实现开机挂载

vim /etc/rc.local
	mount 192.168.232.164:/web /usr/local/scnginx99/html/

chmod +x /etc/rc.local

修改/etc/fstab文件,也可以实现自动挂载

vim /etc/fstab

192.168.232.164:/web /usr/local/scnginx99/html nfs defaults 0 0

在backend server服务器上查看NFS机器共享了哪些目录出来,可以使用

[root@web-1 conf]# showmount -e 192.168.232.164
Export list for 192.168.232.164:
/web 192.168.232.0/24

原理

NFS工作原理:
NFS实际上不提供对外服务,他通过RPC(Remote Procedure Call)远程调用来实现,RPC最主要的功能就是在指定每个NFS功能所对应的port number,并回报给客户端,让客户端可以连接到正确的端口上去。
那RPC是如何知道每个NFS的端口呢?
这是因为当服务器在启动NFS时会随机取用数个端口,并主动向RPC注册,因此RPC可以知道每个端口对应的NFS功能

NFS自己没有对外监听某个端口号,而是外包给了RPC服务,RPC帮助NFS去监听端口,然后告诉客户机和本机的那个进程对应的端口连续

你可能感兴趣的:(Nginx,服务器,运维)