NFS网络文件系统的服务的配置

1 Preparation

Three Linux virtual machines

one: to be NFS Service

the other two: NFS Clinet

2 Install And Setting

2.1 checking System version

Client:

cat /etc/redhat-release

uname -a

ifconfig

Service:

cat /etc/redhat-release

uname -a

ifconfig

you are better make sure three Linux System is same.

2.2 Checking RPC and NFS whether has installed at Service

Service:

rpm -aq nfs-utils portmap rpcbind

If the PRC and NFS haven’t installed, you can user “ yum install nfs-utils rpcbind -y”

2.3 Start NFS and RPC Service at Service

switch to NFS Service

Firstly start RPC Service at service.

rpcinfo -p localhost: check RPC localhost port

“rpcinfo: can't contact portmapper: RPC: Remote system error - Connection refused”: show RPC Service does not start.

Secondly: start NFS Service

2.4 Setting NSF at Service

/etc/exports is setting of NFS, we need to set it by “VIM”.

The GateWay can be replaced by IP, it will make the /date used by only Client. So we always use gateway.

The authority includes:

ro: only read

wo:only write

sync:

use “,” as separator.

Then, you need to reload the nfs Service.

Then, you need to check the mount information for an NFS Server.

At this moment, The Service is OK.

2.5 Setting RPC in Client

switch to NFS Client.

Firstly: start RPC Service.

Check NFS information of NFS Server from Client, If show flowing it success.

If it don’t success ,you use ping SERVICE_IP or telnet SERVICE_IP 111(RPC port) to check where error occurs.

you are better make sure two client Linux System is same.

2.6 mount Service Data and update directory owner.

The you should update owner or group of /data at Service, or client will has authority errors.

If you set “w” authority, you need set “nfsnobody” to owner or group of /data and give writable authority.

“nfsnobody” is the default user of NFS.

you can see it’s UID in /var/lib/nfs/etab

If show red information, it is OK.

The another client operations is same as first one.

3 run and test

switch to Client.

Then switch to Service

If the /date of Service is same as the /mnt of Client, indicates it success.

4 optimization

4.1 set start with System open

we add all NFS, RPC starting commands in /etc/rc.local file to manage easily.

at Service:

at Client: you better make sure two client is same.

4.2 update /etc/exports

we want all clients can ADD, VIEW, UPDATE, and DELETE file. So we should use the same user to execute the client process. So we can use

all_squash: indicates all user will be set anonuid, if anonuid is not given, using default nfsnobody to be the client process executor.

anonuid: give executor UID

anongid: give executor GID

It will prompt the system safety.

4.3 use soft not hard

hard: request NFS service all time

soft: request NFS service intermittent

but, the two options belong to mount.

We use soft we reduce the coupling(耦合性) between NFS Service and NFS Client.

So we should use flowing command to mount NFS Service and add it at /etc/rc.local

/bin/mount -t nfs -o soft 192.168.98.132:/data /mnt/.

4.4 rsize, wsize

rsize: the max size of cache of reading file.

wsize: the max size of buffer of write file

test data:

#test read and write speed about rsize,wsize

the rsize=1024,wsize=1024

time sh read.sh

real    0m43.792s

user    0m11.669s

sys     0m21.960s

time sh write.sh

20000+0 records in

20000+0 records out

184320000 bytes (184 MB) copied, 64.963 s, 2.8 MB/s

real    1m5.058s

user    0m0.006s

sys     0m6.103s

[root@nfs_clinet_2 nfs_test]# grep mnt /proc/mounts

192.168.98.132:/data/ /mnt nfs4 rw,relatime,vers=4,rsize=1024,wsize=1024,namlen=255,soft,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.98.134,minorversion=0,local_lock=none,addr=192.168.98.132 0 0

the rsize=262144,wsize=262144,

time sh read.sh

real    0m37.112s

user    0m4.690s

sys     0m25.867s

time sh write.sh

20000+0 records in

20000+0 records out

184320000 bytes (184 MB) copied, 6.63189 s, 27.8 MB/s

real    0m6.645s

user    0m0.002s

sys     0m1.366s

grep mnt /proc/mounts

192.168.98.132:/data/ /mnt nfs4 rw,relatime,vers=4,rsize=262144,wsize=262144,namlen=255,soft,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.98.134,minorversion=0,local_lock=none,addr=192.168.98.132 0 0

obvious the rsize and wsize bigger, the speed is more quickly.

In Centos 6.5 default rsize and wrize is so good ,we don’t need to update it.

4.5 noatime, nodiratime

noatime: when you access a file, will not update its atime

nodiratime: when you access a file, will not update its atiem

If you hope you NFS Service read/write more quickly, you can add these two options.

4.6 nosuid, noexec, nodev

nosuid: forbidden seting suid

noexec:forbidden executing scripts, including shell and scropts

nodev: Do not interpret character or block special devices on the file system.

The three is safe options, we can use these to prevent our system be invaded

The picture is show noexec option effect.

How to build a NFS Service的更多相关文章

  1. Build a Restful Service

    最近项目中遇到的REST的问题很多,很多情况下受weblogic以及Jdeveloper版本的影响,无法直接从Jdeveloper中生成一个RESTful Service出来,所以基于流行的Sprin ...

  2. [转]How to Use Web API OData to Build an OData V4 Service without Entity Framework

    本文转自:http://www.odata.org/blog/how-to-use-web-api-odata-to-build-an-odata-v4-service-without-entity- ...

  3. NFS文件系统存储服务部署

    1 NFS介绍 1.1 什么是NFS? NFS是Network File System的缩写,中文名称是网络文件系统.它的主要功能是通过网络让不用的主机系统之间可以共享文件或者目录.NFS客户端通过挂 ...

  4. nfs服务的讲解

    第4章 nfs存储服务的搭建 4.1 nfs服务的介绍 4.1.1 nfs的作用 nfs服务器是一种远程网络传输的共享文件系统 节省web服务器的本地存储空间 用户存储在web服务器上面的资源,会通过 ...

  5. 【集群实战】NFS网络文件共享服务

    1. NFS介绍 1.1 什么是NFS? NFS是Network File System的缩写,中文意思是网络文件系统. 它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录. ...

  6. Linux NFS 服务部署

    系统环境:Oracle Linux 5.7 服务端:192.168.1.111 客户端:192.168.1.171 一.服务端配置 二.客户端配置 一.服务端配置 1.依次启动portmap和nfs服 ...

  7. Windows Service--Write a Better Windows Service

    原文地址: http://visualstudiomagazine.com/Articles/2005/10/01/Write-a-Better-Windows-Service.aspx?Page=1 ...

  8. 2 NFS高可用解决方案之NFS的搭建

    preface 我们紧接着上一篇博文的基础(drbd+heartbeat的正常工作,http://www.cnblogs.com/liaojiafa/p/6129499.html)来搭建NFS的服务. ...

  9. Linux 配置NFS,文件共享

    配置:   1.设定共享主机服务器    ---(注意防火墙) 编辑ipA端的/etc/exports 文件 [root@dbrac2 ~]# cat /etc/exports /media  192 ...

随机推荐

  1. 当Eclipse报版本低时的处理方法

    http://blog.sina.com.cn/s/blog_6f0c85e10100v6pv.html 更新到API12的时候出过问题,这一次难免又会出现了,不过我的版本还真全啊,哇咔咔~   这里 ...

  2. 简单好记的Jdk 环境变量配置

  3. Angularjs-项目搭建

    开发工具采用WebStorm,没破解,使用了过期策略:安装之后不着急打开程序,先设置系统日期为未来的某个日期,比如2020年.然后再打开程序,试用.然后再改回来系统日期.虽然每次打开WebStorm都 ...

  4. mysql

    这是 <MySQL 必知必会> 的读书总结.也是自己整理的常用操作的参考手册. 使用 MySQL 连接到 MySQL shell>mysql -u root -p Enter pas ...

  5. APUE学习之多线程编程(三):线程属性、同步属性

    一.线程属性      可以使用pthread_attr_t结构修改线程默认属性,并这些属性和创建的线程练习起来,可以使用pthread_att_init函数初始化pthread_attr_t结构,调 ...

  6. Linux程序包管理.md

    rpm 简介 RPM包管理员(简称RPM,全称为The RPM Package Manager)是在Linux下广泛使用的软件包管理器.RPM此名词可能是指.rpm的文件格式的软件包,也可能是指其本身 ...

  7. Centos 7 minimal install 无网络无ifconfig的解决

    Centos7这个比较不厚道, minimal install下居然不带net-tools 先要连上网络 修改/etc/sysconfig/network-scripts/ifcfg-ens12312 ...

  8. [LeetCode] Merge Two Sorted Lists 混合插入有序链表

    Merge two sorted linked lists and return it as a new list. The new list should be made by splicing t ...

  9. Dao跨事务调用实现转账功能

    1.首先在数据库当中创建数据库,并且创建它的 实现类 package com.beiwo.epet.entity; public class Account { private int id; pri ...

  10. com.panie 项目开发随笔_功能任务设计(2016.12.28)

    (一) 第一个菜单 做什么好呢? 1)上次 在研究的功能 是 爬虫,需要将定时爬虫的任务加进来 2)博客的页面,也需要重新布局出来 3)需要做一个,添加博客的页面 (二) 那就先做博客管理吧! 先添加 ...