本文中的配置只做测试使用,正式环境中考虑到安全,请自行结合网上介绍的配置细节完善配置内容。

首先明确两个概念,服务器客户端(本地),我们要做的是将服务端的硬盘上的/home/liuyx 目录挂载到本地的/liuyx下。

1、在服务端和客户端分别安装NFS以及其rpc支撑

yum install -y rpcbind nfs-utils

2、服务端配置可映射目录

vim /etc/exports

打开是个空文件,在其中添加一行,并保存,内容如下

/home/liuyx 123.123.123.*(rw,no_root_squash,sync)

将服务端的/home/liuyx目录开放给后边这个ip,* 表示任意,后边的内容依次代表指定可读写、客户端拥有root权限,同步,具体配置本篇不做详解,请自行搜索。

3、开放服务端以下端口

tcp  111 2049 端口
udp 111  4046 端口

关于需要开放的端口分析过程(关键两个命令:netstat -an |grep 10.12.13.11tcpdump -i eht0 udp port 111 and dst host 10.12.13.11):
http://blog.csdn.net/fhqsse220/article/details/45668057

4、启动服务端NFS服务

systemctl start rpcbind.service
systemctl start nfs.service
#设置开机启动
systemctl enable rpcbind.service
systemctl enable nfs.service

————————————————————————服务端完毕————————————————————————————

5、客户端新建目录/liuyx

mkdir /liuyx

6、客户端挂载目录

此处可以先用命令查询一下

showmount -e 123.123.123.123

查询如果失败,可能会报:clnt_create: RPC: Program not registered,解决方法可以参考:http://sxct168.blog.51cto.com/824373/1654069/

不过这个失败并不影响我们使用,可以忽略。

挂载命令:

mount -t nfs 123.123.123.123:/home/liuyx /liuyx

————————————————挂载完毕————————————————————————————————————

7、测试读写速度

写入:

time dd if=/dev/zero of=/liuyx/testdd.dbf bs=8k count=1000000 conv=fsync

从一个空位置读数据,写到目标地址,每一块8M大小,写50次

读出:

time dd if=/liuyx/testdd.dbf  of=/dev/null bs=8k count=1000000 conv=fsync

从一个位置读文件,输出到一个空位置,conv=fsync 表示执行完再刷到硬盘,不加会读到内存就输出结果了,并不执行sync

从空位置读或者写,可以减少对测试的影响。

注意:

对于以上命令读取文件,默认的系统配置是会进行缓存,

可以使用以下命令证实:

free -m

也就是说第一次读文件是从磁盘读到内存,第二次则直接去内存的缓存区拿文件,所以我们可以先把缓存策略设为不缓存

cat  /proc/sys/vm/drop_caches
echo > /proc/sys/vm/drop_caches

测试完成后记得再设回来,即上边cat命令显示的值

echo  > /proc/sys/vm/drop_caches

读也可以这样,需要用到hdparm这个软件,并且只支持本地,就本地测试来说,相对比较省事,不用频繁的去清理缓存:

hdparm -t /dev/sda

8、开机自动挂载

#2017年11月22日 追加:经过试验(CentOS6.4和CentOS7) 以下这段用不到,只需修改fstab文件即可
#vim /etc/rc.local
#mount -t nfs -o nolock 123.123.123.123:/home/liuyx /liuyx vim /etc/fstab
123.123.123.123:/home/liuyx /liuyx nfs defaults

9、取消挂载

测试完了,我们还原线程,除了删掉测试文件、配置改回去,重启相关服务外,剩下的就是取消挂载,因为可能会遇到问题,这里单独说一下

取消挂载可能遇到其他用户正在使用该挂载目录的情况:

#umount /testspeed
umount: /testspeed: device is busy.
(In some cases useful info about processes that use
the device is found by lsof() or fuser())

以下转自(http://blog.csdn.net/intel80586/article/details/7682522):

看看有哪些用户在用
[root@localhost /]#fuser -cu /testspeed
/testspeed: 15060x(root)
其次向进程发出SIGKILL信号
[root@localhost /]# fuser -ck /mnt
/mnt: 15060x
确认
[root@localhost /]# fuser -c /mnt

附一个自己写的shell脚本:

取消挂载、挂载远程、设置开机挂载、清空被挂载盘、复制一个远程位置到挂载目录。

链接:http://pan.baidu.com/s/1c2EpvS8 密码:ta8w

CentOS 7 网络磁盘挂载到本地 并测试传输速度的更多相关文章

  1. centos 7中磁盘挂载重启后挂载失效

     在centos 7磁盘挂载成功后,关机重启,挂载磁盘失效,需要重新挂载,不用重新挂载的开机挂载方法如下: 1.先检验要挂载的磁盘是否已被挂载,有的话先卸除 2.修改 /etc/fstab 文件 ,最 ...

  2. centos配置网络yum源 和本地yum源

    一,网络yum源 1.备份 yum文件 cd /etc/ cp -r  yum.repos.d  yum.repos.d.bak 2.在系统联网的情况下执行下面命令下载 wget -O /etc/yu ...

  3. linux下通过NFS将远程磁盘mount到本地

    最近由于项目原因需要和其他两家公司对接,需要取对方服务器中的图像数据,原本约定是三方都通过http协议来进行通讯,奈何对接方不配合,说文件就在他们服务器放着,怎么取他们不管.所以采取将对方服务器磁盘挂 ...

  4. Linux学习之CentOS(十二)------磁盘管理之 磁盘的分区、格式化、挂载(转)

    磁盘分区.格式化.挂载磁盘分区    新增分区    查询分区    删除分区磁盘格式化    mkfs    mke2fs磁盘挂载与卸载    mount    umount 磁盘的分区.格式化.挂 ...

  5. CentOS 7安装SSHFS 实现远程主机目录 挂载为本地目录

    安装sshfs 官方下载地址 https://github.com/libfuse/sshfs/releases 首先,我们需要安装sshfs软件.sshfs是一个基于SSH文件传输协议的文件系统客户 ...

  6. Windows平台将远程服务器的目录挂载为本地磁盘

    我们在设置数据库自动备份时,为了数据的安全往往需要直接将数据备份到远程服务器上.在Linux可以通过NFS挂载来实现,在Windows平台可以直接通过net use+subst来实现将远程服务器的目录 ...

  7. linux(CentOS)磁盘挂载数据盘

    linux(CentOS)磁盘挂载数据盘:第一步:查看是否存在需要挂载的磁盘: sudo fdisk -l 第二步:为需要挂载的磁盘创建分区: sudo fdisk /dev/vdb 执行中:依次选择 ...

  8. xenserver添加磁盘后挂载为本地存储库并且删除

    方法一: 1.1:查看磁盘列表 fdisk -l [root@xenserver ~]# fdisk -l Disk /dev/sdb: 7999.4 GB, 7999376588800 bytes, ...

  9. Centos开机自己主动挂载windows中的ntfs磁盘

    装了windows和centos双系统后,发如今centos中无法进入windows中的磁盘,更不要说查看磁盘里的文件了! 原来默认情况下.centos不支持Widows NTFS硬盘分区读写,要想把 ...

随机推荐

  1. 【centOS】centos7 查看和关闭防火墙

    查看防火墙状态 firewall-cmd --state running代表防火墙正在运行 停止firewall systemctl stop firewalld.service 禁止firewall ...

  2. .NET:“事务、并发、并发问题、事务隔离级别、锁”小议,重点介绍:“事务隔离级别"如何影响 “锁”?

    备注 我们知道事务的重要性,我们同样知道系统会出现并发,而且,一直在准求高并发,但是多数新手(包括我自己)经常忽略并发问题(更新丢失.脏读.不可重复读.幻读),如何应对并发问题呢?和线程并发控制一样, ...

  3. 关于OpenLDAPAdmin管理页面提示“This base cannot be created with PLA“问题. Strong Authentication Required问题

    经过查询,最终总结和处理如下: 1.首先需要在/etc/openldap/目录下,创建一个base.ldif文件,如下所示: 2.在base.ldif文件中,写入如下信息,为创建初始化根节点做准备工作 ...

  4. Java JDBC 基础知识

    一.JDBC常用接口.类介绍 JDBC提供对独立于数据库统一的API,用以执行SQL命令.API常用的类.接口如下: DriverManager 管理JDBC驱动的服务类,主要通过它获取Connect ...

  5. bat薪酬

    三大互联网巨头公司,百度腾讯跟阿里如何划分级别?薪资待遇又有多少?除非身居其位,否则很难探知,但是等你到那个位置知道了,却又不能说,至少不能在公 开场合谈论.接下来就为大家揭秘,百度.阿里与腾讯内部的 ...

  6. 常用数学函数篇abs acos asin atan ceil cos exp frexp ldexp log pow sin sinh sqrt tan tanh

    abs(计算整型数的绝对值) 相关函数 labs, fabs 表头文件 #include<stdlib.h> 定义函数 int abs (int j) 函数说明 abs()用来计算参数j的 ...

  7. Guava Files 源码分析(一)

    Files中的工厂 Files类中对InputStream, OutputStream以及Reader,Writer的操作封装了抽象工厂模式,抽象工厂是InputSupplier与OutputSupp ...

  8. Mongodb安全认证及Java调用

    Mongodb安全认证在单实例和副本集两种情况下不太一样,单实例相对简单,只要在启动时加上 --auth参数即可,但副本集则需要keyfile. 一.单实例 1.启动服务(先不要加auth参数) 2. ...

  9. Objective-C:内存管理的小结

    内存管理: 1.OC的对象都是分配在堆里的      Perosn *person  = [[Person alloc]init];      Person *person       //指针类型的 ...

  10. otl翻译(11) -- OTL的迭代器

    OTL stream read iterator 这个类是一个像传统的JDBC中的getter()操作一样扩展了OTL流的模板类.它现在还不支持UNICODE字符集.它对otl_refcur_stre ...