nfs共享解决web应用程序单点故障问题
时间:2014-06-06 03:55 来源:linux.it.net.cn 作者:IT网
在之前,我们做过将apache、php、mysql分别部署在三台机器上,然而这样会出现单点故障,今天我们通过基于网络文件共享的方式来解决前段单点故障的问题。
一、拓扑图

二、在后台php服务器上提供一个nfs共享目录
在后台php的/etc/exports中添加如下内容
1
2
/www/html/wangfeng7399
192.168.1.0
/24
(rw,
sync
,all_squash)
/www/html/wangfeng17399
192.168.1.0
/24
(rw,
sync
,all_squash)
这个配置文件就这样简单一行。共分为三部分,第一部分就是本地要共享出去的目录,第二部分为允许访问的主机(可以是一个IP也可以是一个IP段)第三部分就是小括号里面的,为一些权限选项。关于第三部分,简单介绍一下:
rw :读写;
ro :只读;
sync :同步模式,内存中数据时时写入磁盘;
async :不同步,把内存中数据定期写入磁盘中;
no_root_squash :加上这个选项后,root用户就会对共享的目录拥有至高的权限控制,就像是对本机的目录操作一样。不安全,不建议使用;
root_squash :和上面的选项对应,root用户对共享目录的权限不高,只有普通用户的权限,即限制了root;
all_squash :不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份;
修改wangfeng7399和wangfeng17399的权限是nfsnobody能够读写
1
[root@localhost html]
# setfacl -m u:nfsnobody:rwx *
三、在前端服务器上挂载共享的nfs服务器
1
2
[root@httpweb html]
# mount -t nfs 192.168.1.201:/www/html/wangfeng7399 /www/html/wangfeng7399
[root@httpweb html]
# mount -t nfs 192.168.1.201:/www/html/wangfeng17399 /www/html/wangfeng17399
四、测试,在一台服务器上创建一个文件,看是否在另外一台服务器上能否看到
1
2
在一台机器上创建一个
test
文件
[root@localhost wangfeng7399]
# touch test

index.html文件也都可以访问成功


五、实现开机自动挂载
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@httpweb html]
# mount -a
在fstab中写入
192.168.1.201:
/www/html/wangfeng7399
/www/html/wangfeng7399
nfs,_dev defaults 0 0
192.168.1.201:
/www/html/wangfeng17399
/www/html/wangfeng17399
nfs,_dev defaults 0 0
[root@httpweb html]
# mount
/dev/mapper/vg0-root
on /
type
ext4 (rw)
proc on
/proc
type
proc (rw)
sysfs on
/sys
type
sysfs (rw)
devpts on
/dev/pts
type
devpts (rw,gid=5,mode=620)
tmpfs on
/dev/shm
type
tmpfs (rw)
/dev/sda1
on
/boot
type
ext4 (rw)
/dev/mapper/vg0-usr
on
/usr
type
ext4 (rw)
/dev/mapper/vg0-var
on
/var
type
ext4 (rw)
none on
/proc/sys/fs/binfmt_misc
type
binfmt_misc (rw)
sunrpc on
/var/lib/nfs/rpc_pipefs
type
rpc_pipefs (rw)
192.168.1.201:
/www/html/wangfeng7399
on
/www/html/wangfeng7399
type
nfs (rw,vers=4,addr=192.168.1.201,clientaddr=192.168.1.109)
192.168.1.201:
/www/html/wangfeng17399
on
/www/html/wangfeng17399
type
nfs (rw,vers=4,addr=192.168.1.201,clientaddr=192.168.1.109)
在DNS应该写入
1
2
3
4
optios{
directory
"/var/named"
rrset-order{order random;};
}
由于本人水平有限,难免会出现错误,请各位大神批评指正!
(责任编辑:IT)
在之前,我们做过将apache、php、mysql分别部署在三台机器上,然而这样会出现单点故障,今天我们通过基于网络文件共享的方式来解决前段单点故障的问题。 一、拓扑图
二、在后台php服务器上提供一个nfs共享目录 在后台php的/etc/exports中添加如下内容
这个配置文件就这样简单一行。共分为三部分,第一部分就是本地要共享出去的目录,第二部分为允许访问的主机(可以是一个IP也可以是一个IP段)第三部分就是小括号里面的,为一些权限选项。关于第三部分,简单介绍一下: rw :读写; ro :只读; sync :同步模式,内存中数据时时写入磁盘; async :不同步,把内存中数据定期写入磁盘中; no_root_squash :加上这个选项后,root用户就会对共享的目录拥有至高的权限控制,就像是对本机的目录操作一样。不安全,不建议使用; root_squash :和上面的选项对应,root用户对共享目录的权限不高,只有普通用户的权限,即限制了root; all_squash :不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份; 修改wangfeng7399和wangfeng17399的权限是nfsnobody能够读写
三、在前端服务器上挂载共享的nfs服务器
四、测试,在一台服务器上创建一个文件,看是否在另外一台服务器上能否看到
index.html文件也都可以访问成功
五、实现开机自动挂载
在DNS应该写入
由于本人水平有限,难免会出现错误,请各位大神批评指正! (责任编辑:IT) |