linux同步写大文件,一种同步linux内核与网络文件系统读写块大小的方法与流程...

本发明涉及linux内核技术领域,特别是涉及一种同步linux内核与网络文件系统读写块大小的方法。

背景技术:

目前,Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux Kernel只是Linux操作系统一部分。可分为两个层面,对于下面,它管理系统的所有硬件设备;对于上面,它通过系统调用System Call,向Library例如C库或者其它应用程序提供接口。

Linux 3.10Kernel,这个版本是有史以来Linux内核变动幅度最大的一次,新增内核特性:完整支持DynTicks动态定时器,并成为内核级别的核心特性;KVM虚拟化改进;ARM架构支持改进,包括更好地支持64位架构;大量的Linux加密子系统优化;AMD电源管理改进;分阶段驱动Staging Drivers改进与新举措。文件系统特性:BCache固态硬盘/机械硬盘缓存框架已经可用,使用两种硬盘的系统将会大大提速;eCryptfs AES-NI性能改进,支持AES指令集的AMD/Intel x86处理器将会大大提速;Btrfs文件系统支持skinny extent,quota也进行了一些重建;F2FS闪存文件系统重大改进;XFS额外保护等。

NFS-Ganesha是一个基于NFSv3\v4\v4.1的文件服务器,运行在大多数Linux发行版的用户模态下,同时也支持9p.2000L协议。NFS-Ganesha默认情况下读写块大小是1048576(1M),而Linux 3.10Kernel支持的读写块大小默认情况下是262144(256K),读写块不同步,性能代销很大。

技术实现要素:

本发明的目的是提供一种同步linux内核与网络文件系统读写块大小的方法,以实现NFS-ganesha网络文件系统与服务器内核读写块大小保持同步。

为解决上述技术问题,本发明提供一种同步linux内核与网络文件系统读写块大小的方法,该方法包括:

搭建linux内核的操作系统构建服务器;

在服务器上,部署用户态NFS-ganesha网络文件系统;

增加部署模块文件,同步配置读写块的大小;

重启NFS-ganesha服务,在客户端挂载NFS-ganesha网络文件系统。

优选的,所述搭建linux内核的操作系统构建服务器,包括:

搭建linux3.10 kernel内核的CentOS 7.2操作系统构建服务器。

优选的,所述部署模块文件为max_block_size文件。

优选的,所述同步配置读写块的大小,包括:

将linux3.10 kernel内核和NFS-ganesha网络文件系统的读写块大小都设置为相同容量。

优选的,将linux3.10 kernel内核和NFS-ganesha网络文件系统的读写块大小都设置为1M。

优选的,所述在客户端挂载NFS-ganesha网络文件系统的指令为:

mount-t nfs 192.168.1.122:/./mnt/nfs-o vers=3。

优选的,所述用户态NFS-ganesha网络文件系统为nfs-ganesha-2.3.3-3.5.3.1.x86_64。

优选的,所述重启NFS-ganesha服务,包括:

停止NFS-ganesha服务,部署模块文件;部署模块文件之后,重启NFS-ganesha服务。

本发明所提供的一种同步linux内核与网络文件系统读写块大小的方法,搭建linux内核的操作系统构建服务器;在服务器上,部署用户态NFS-ganesha网络文件系统;增加部署模块文件,同步配置读写块的大小;重启NFS-ganesha服务,在客户端挂载NFS-ganesha网络文件系统。可见,增加部署模块文件,同步配置读写块的大小,即linux内核与网络文件系统的读写块大小已相同,并在客户端挂载网络文件系统,这样实现读写块大小同步,该方法同步了网络文件系统用户态读写块大小,使得NFS-ganesha网络文件系统与服务器内核读写块大小保持同步,提高了传输性能,提高网络文件系统共享服务的读写性能。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明所提供的一种同步linux内核与网络文件系统读写块大小的方法的流程图。

具体实施方式

本发明的核心是提供一种同步linux内核与网络文件系统读写块大小的方法,以实现NFS-ganesha网络文件系统与服务器内核读写块大小保持同步。

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本发明所提供的一种同步linux内核与网络文件系统读写块大小的方法的流程图,该方法包括:

S11:搭建linux内核的操作系统构建服务器;

S12:在服务器上,部署用户态NFS-ganesha网络文件系统;

S13:增加部署模块文件,同步配置读写块的大小;

S14:重启NFS-ganesha服务,在客户端挂载NFS-ganesha网络文件系统。

可见,增加部署模块文件,同步配置读写块的大小,即linux内核与网络文件系统的读写块大小已相同,并在客户端挂载网络文件系统,这样实现读写块大小同步,该方法同步了网络文件系统用户态读写块大小,使得NFS-ganesha网络文件系统与服务器内核读写块大小保持同步,提高了传输性能,提高网络文件系统共享服务的读写性能。

基于上述方法,进一步的,步骤S11的过程具体包括:搭建linux3.10 kernel内核的CentOS 7.2操作系统构建服务器。

其中,所述部署模块文件为max_block_size文件。

进一步的,步骤S13中,同步配置读写块的大小的过程具体为:将linux3.10 kernel内核和NFS-ganesha网络文件系统的读写块大小都设置为相同容量。

其中,将linux3.10 kernel内核和NFS-ganesha网络文件系统的读写块大小都设置为1M,即设置linux 3.10 kernel与NFS-ganesha读写块大小都为1048576(1M)。

进一步的,在客户端挂载NFS-ganesha网络文件系统的指令为:mount-t nfs 192.168.1.122:/./mnt/nfs-o vers=3。这样在客户端挂载NFS-ganesha网络文件系统,实现读写块大小同步。

其中,用户态NFS-ganesha网络文件系统为:nfs-ganesha-2.3.3-3.5.3.1.x86_64。nfs-ganesha-2.3.3-3.5.3.1.x86_64是一个基于NFSv3\v4\v4.1的网络文件服务器,运行在大多数Linux发行版的用户模态下,同时也支持9p.2000L协议。

进一步的,步骤S14中,重启NFS-ganesha服务的过程包括:停止NFS-ganesha服务,部署模块文件;部署模块文件之后,重启NFS-ganesha服务。即重启NFS-ganesha服务是指:systemctl stop ganesha.service然后部署模块文件,最后systemctl restart ganesha.service。

其中,部署搭载Linux 3.10 kernel的CentOS 7.2操作系统构建服务器,是指Linux Version 3.10.0-327.e17.x86_64和CentOS Linux release 7.2.1511(Core)。

详细的,基于本方法,具体实施步骤包括:

1、搭载Linux 3.10 kernel的CentOS 7.2操作系统构建服务器;

2、在服务器上,部署用户态NFS-ganesha网络文件系统;

3、增加部署模块文件;

4、同步配置读写块大小;

5、重启NFS-ganesha服务;

6、客户端挂载网络文件系统,实现读写块大小同步。

本方法使得NFS-ganesha网络文件系统与服务器内核读写块大小保持同步,同步了网络文件系统用户态读写块大小,提高了传输性能。

对于Linux kernel框架,Linux Kernel只是Linux操作系统一部分。可分为两个层面,对于下面,它管理系统的所有硬件设备;对于上面,它通过系统调用System Call,向Library例如C库或者其它应用程序提供接口。NFS-ganesha与用户层user space交互。Cenos 7.2linux 3.10内核,客户端挂载NFS-ganesha默认rsize wrize为1M(1048576),实际读写块大小rsize wrize为262144(256K)。通过修改linux 3.10内核源码如下:

对于Linux IO系统,NFS-ganesha服务器在决定默认的最大读写块大小时考虑到内存占用情况,每个NFS内核线程最多只使用1/4096的物理内存大小,对于物理内存超过4GB的机器才使用最大的1MB读写块大小。

在Linux 3.10 kernel定义NFS-ganesha max_block_size,对应的代码如下:

write_maxblksize函数中判断了传入的参数,如果写入的值超过NFSSVC_MAXBLKSIZE值则固定为NFSSVC_MAXBLKSIZE值。

卸载NFS-ganesha共享的挂载,停止服务器的NFS-ganesha服务,修改max_block_size值,然后重新启动NFS-ganesha服务,指令如下:

[root@server~]systemctl stop ganesha.service

[root@server~]echo 1048576>/proc/fs/nfsd/max_block_size

[root@server~]systemctl restart ganesha.service

在客户端挂载服务,指令如下:

[root@client~]mount-t nfs 192.168.1.122:/./mnt/nfs–o vers=3

本方法同步了网络文件系统用户态读写块大小,提高了传输性能。

综上,本发明所提供的一种同步linux内核与网络文件系统读写块大小的方法,搭建linux内核的操作系统构建服务器;在服务器上,部署用户态NFS-ganesha网络文件系统;增加部署模块文件,同步配置读写块的大小;重启NFS-ganesha服务,在客户端挂载NFS-ganesha网络文件系统。可见,增加部署模块文件,同步配置读写块的大小,即linux内核与网络文件系统的读写块大小已相同,并在客户端挂载网络文件系统,这样实现读写块大小同步,该方法同步了网络文件系统用户态读写块大小,使得NFS-ganesha网络文件系统与服务器内核读写块大小保持同步,提高了传输性能,提高网络文件系统共享服务的读写性能。

以上对本发明所提供的一种同步linux内核与网络文件系统读写块大小的方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值