当前位置: 首页 > 新闻中心 > 搭建nfs服务器

搭建nfs服务器

发布时间:2024-04-01 22:35:28

  1. 在Windows上自建nfs,性能比较差,这个怎么办?
  2. 如何Windows 7系统下如何搭建NFS服务器
  3. NFS服务搭建及数据无缝迁移

一、在Windows上自建nfs,性能比较差,这个怎么办?

本文描述了在应用环境为windows系统下,需要使用文件存储的场景。本文采用了私有化部署的方式向用户提供了文件共享存储服务。用nfs协议,搭建windows环境nfs服务,为windows系统下的云主机提供共享访问服务。

存储格式都有哪些?

文件、块和对象是三种以不同的方式来保存、整理和呈现数据的存储格式。这些格式各有各的功能和限制。文件存储会以文件和文件夹的层次结构来整理和呈现数据;块存储会将数据拆分到任意划分且大小相同的卷中; 对象存储会管理数据并将其链接至关联的元数据

块存储

块存储主要是将裸磁盘空间整个映射给主机使用的,就是说例如磁盘阵列里面有5块硬盘(为方便说明,假设每个硬盘1g),然后可以通过划逻辑盘、做raid、或者lvm(逻辑卷)等种种方式逻辑划分出n个逻辑的硬盘。(假设划分完的逻辑盘也是5个,每个也是1g,但是这5个1g的逻辑盘已经于原来的5个物理硬盘意义完全不同了。例如第一个逻辑硬盘a里面,可能第一个200m是来自物理硬盘1,第二个200m是来自物理硬盘2,所以逻辑硬盘a是由多个物理硬盘逻辑虚构出来的硬盘。)

典型设备:磁盘阵列,硬盘

文件存储

为了克服块存储文件无法共享的问题,所以有了文件存储。主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录。本文文件存储采用nfs协议,nfs客户端(一般为应用服务器,例如web)可以通过挂载(mount)的方式将nfs服务器端共享的数据目录挂载带nfs客户端本地系统中(就是某一个挂载点下)。从客户端本地看,nfs服务器端共享的目录就好像是客户端自己的磁盘分区或目录一样,而实际上确实远端的nfs服务器的目录。

典型设备:ftp、nas

对象存储

对象存储系统(object-based storage system)是综合了nas和san的优点,同时具有san的高速直接访问和nas的数据共享等优势,提供了高可靠性、跨平台性以及安全的数据共享的存储体系结构。对象存储主要操作对象是对象(object)。和文件和对象存储相比,没有随机读写的接口。和文件存储相比,没有目录树的概念。协议更注重简洁。

典型设备:内置大容量硬盘的分布式服务器、京东云oss即对象存储

文件存储的适用场景

文件与较底层的块存储不同, 上升到了应用层, 一般指的就是nas ,一套网络储存设备, 通过tcp/ip进行访问, 协议为nfsv3/v4由于通过网络。下面简单介绍以下nfs存储适用的两个场景,当然,还有更多的场景适合使用文件存储,本文不一一列出。

web 服务

前端面向终端用户的服务由多台web服务器提供,多台服务器需要共享文件存储,文件系统、文件命名约定和权限等符合应用系统需求。

媒资管理

媒体行业由于其工作流和媒资是一直变化的,很多用户使用多云或混合云,媒体的剪辑、编辑在本地进行,存储和分发在云端,由于文件存储可以和现有的系统轻松的集成,因此,很多用户将文件存储用于媒资管理。

windows环境下的nfs文件服务的搭建

选择windows系统搭建nfs协议文件存储系统的优势如下:

系统交付后由用户进行维护,用户对windows系统熟悉;

部分应用系统只能访问文件存储;

微软的smb协议是面向网络连接的共享协议,对网络传输的可靠性要求高,常使用tcp/ip;nfs是独立于传输的,可使用tcp或udp,同时考虑后期有linux系统扩容需求,故选择nfs协议。

京东云提供linux环境的文件存储服务,无需另行搭建。(详见https://www.jdcloud.com/cn/products/cloud-file-service)

本设计的优势:

共享访问-您在同一子网内的多台云主机可以共享同一个云文件服务中的文件存储系统。对于多个应用实例需要共享通用数据源的场景,特别适合使用云文件服务实现。

易于使用-支持标准的nfs协议,提供全托管的服务,无需修改应用,通过标准的文件系统挂载步骤即可实现无缝集成。极大降低迁移成本,简化云上项目开发。

稳定可靠-本系统存储基于京东云云硬盘,采用3副本冗余存储,提供超强的稳定性和可靠性,满足应用服务对文件系统的可用性和可靠性需求。

易于扩展-本系统存储基于京东云云硬盘,可根据业务需求进行存储空间的扩展。

一、创建nfs服务主机

1、创建实例

在京东云上创建一台云主机,作为nfs服务器;nfs服务要和已有云资源创建在同一区域,同一vpc中。

登录京东云控制台,选择弹性计算-云主机-实例,选择创建实例所属地域,点击“创建”按钮,进入云主机购买页面。

2、选择计费模式

包年包月和按配置计费,包年包月按一个正月进行购买付费,按配置计费按照实际使用的时长(精确至秒)每小时进行扣费。

3、地域与可用区选择

在此步骤仍可以选择实例对应的地域(华北-北京、华南-广州、华东-宿迁及华东-上海)及可用区,请注意“不同地域资源内网不互通,创建之后不可更改”,如果所选地域限额已满,可以通过提交工单提升限额。

4、创建方式选择

提供三种创建方式 自定义创建、使用实例模板创建、在高可用组内创建,后两种需要您预先创建好实例模板和高可用组,我们使用保持默认选项“自定义创建”。

5、选择windows系统镜像

镜像分为云硬盘系统盘镜像及本地盘系统盘镜像,前者仅支持创建系统盘为云硬盘的实例,后者仅支持创建系统盘为本地盘的实例。因为搭建windows系统环境的nfs存储,故镜像选择官方-windows server-windows server 2012 r2标准版。

6、选择实例规格

实例的规格支持用户自定义选择,从最小的1核1g(如g.s1.micro)到72c576gb(如m.n2.18xlarge),用户可以根据不同业务场景选择实例规格及相应配置。考虑到nfs对主机计算性能要求不高,选择2核4g规格主机。

7、配置nfs存储

云主机数据盘:数据盘为nfs系统存储盘,可以根据实际业务需要选择容量。(此处选择20g为例)

8、配置实例网络

选择私有网络及子网:vpc子网选择与需要访问nfs存储的云主机所在的vpc。

选择内网ip分配方式:如对内网ip地址没有特殊要求,可以不指定由系统自动在子网可用网段内分配,如需指定请在提示范围内输入,系统会校验ip是否可用。须注意的是,若选择自定义内网ip地址,则无法批量创建实例。

9、选择安全组

实例在创建时必须绑定一个安全组,若当前地域下未创建自定义安全组,可以在系统创建的三个默认安全组中选择一个绑定(每个私有网络创建成功之后都会自动创建三个默认安全组),也可以通过快速入口前往安全组页面创建安全组。由于官方镜像系统内防火墙默认关闭,建议绑定仅开放22端口(linux)或3389端口(windows)的安全组,实例创建之后再根据访问需求创建新的安全组并绑定。

10、配置公网带宽

带宽计费方式:京东云提供按固定带宽和按使用流量两种带宽计费类型的弹性公网ip,按固定带宽计费按购买时设置的带宽上限值付费,而与实际访问公网所用带宽无关,按使用流量计费则根据您实时访问公网的实际流量计费。

线路:弹性公网ip线路分为:bgp和非bgp,若您需要更快更高效的网络接入请选用bgp。

带宽范围:1mbps~200mbps。在创建主机过程中可以暂不购买公网ip,完成主机创建后,再进行绑定。

nfs存储如果只供vpc内云主机使用,可以不购买公网ip和带宽。

11、设置实例名称、描述

您需要设置创建的主机名,名称不可为空,只支持中文、数字、大小写字母、英文下划线“ _ ”及中划线“ - ”,且不能超过32字符,如果为批量创建购买,名称以“xxx1”、“xxx2”依次显示。同时支持为实例添加描述,描述允许为空,若添加长度不能超过256字符。

12、设置密码

可以选择“立即设置”密码,也可以选择“暂不设置”(系统会以短信和邮件方式发送默认密码),密码除了用于ssh登录实例时的密码,也是控制台通过vnc登录实例的密码。

确认云主机数量及购买时长 购买数量受限该地域您云主机、云硬盘、公网ip限额以及所选子网剩余ip数量,若限额不够,可通过提交工单提升限额。若购买包年包月实例,则需要设置购买时长,最短为1个月,最长为2年,支付十个月费用即可享受一年服务。若需要更长服务时长请提交工单。

点击确认后,返回到控制台,显示创建中,待状态为运行,nfs服务主机创建完毕。

13、登陆云主机

14、添加数据盘

打开,开始菜单-服务器管理器-文件和存储服务-磁盘,如下图:

选择数据硬盘,右键选择新建卷,文件格式为ntsf

二、建立nfs服务

1、安装nfs服务器端组件

打开,开始菜单-服务器管理器”,在主页仪表板中单击“添加角色和功能”,如下图所示。

在“开始之前”对话框中,会显示配置成nfs服务器必要的前提步骤,请按文字介绍的注意事项确认一下,如果没有问题的话,可以单击“下一步”,如下图所示:

在“安装类型”对话框中,选择“基于角色或基于功能的安装”,然后单击“下一步”,如下图所示:

在“服务器选择”对话框中,选择“从服务器池中选择服务器”,然后单击“下一步”:

在“服务器角色”对话框中,选择“文件和存储服务”中“nfs服务器”,然后单击“下一步”,如下图所示:

继续单击“下一步”,如下图所示:

在“确认”对话框中,可以看到我们从第一步到最后一步选择的参数等信息,如果有要修改的地方,可以单击“上一步”返回修改,确认没有问题的话,可以单击“安装”,如下图所示:

至此,windows系统的nfs服务端安装完毕,根据提示重启服务器。

2、创建共享服务

nfs服务端安装完毕,回到服务器管理器,选择文件和存储服务

选择 共享-启动新加共享向导

选择“nfs共享-快速”

选择数据盘,设置共享名称

选择“身份验证”相关配置,如下图所示:

设置共享权限,权限请根据实际需要设置

创建完毕,显示”已成功创建共享“,如下图所示:

3、设置共享文件夹

在要设定共享的文件夹属性中,选择“nfs共享”栏位,点击“管理nfs共享”, 在“nfs高级共享”对话框中,选择并勾选“共享此文件夹”:

返回服务器管理器,共享对话框中,可以看到刚才新建的文件夹共享已经成功

参考资料:

1、文件存储、块存储还是对象存储?redhat官网

2、块存储、文件存储、对象存储这三者的本质差别是什么?.知乎.2016-1-1[引用日期2017-10-04]

(https://baike.baidu.com/reference/18736489/a856jwyrooqogtx1hq-v--jsqa2gcygcmbplvtmv4cmzjvb0ptngi7cqm2ibtj9eszin8ddnq7hlltzphzetnp8engs)

3、今非昔比:块存储的复杂度提高 .techtarget存储[引用日期2015-10-21](https://baike.baidu.com/reference/18736489/df951vetu23ypntvtfoxtvbupdpjua8viuoovbw0ndoib3qp_rjk0l8arafmmhbzpj4kk-4omdrn9aglet1d-yeuws8wnhuyuc7rjucai-b0fg)

点击"京东云"了解更多详情

二、如何Windows 7系统下如何搭建NFS服务器

windows 7系统下搭建nfs服务器方法:

一、软件安装:

1、从百度搜索hanewin,下载下来后,双击运行,出现界面后点“下一步”即可。

2、设置安装路径,选择即可。

3、是设置开始菜单下的文件名,默认即可,点“下一步”继续安装。

4、配置成功后,点击“安装”开始软件的安装,后面会自动安装完成。

二、软件配置:

1、修改exports文件:打开安装包下的exports文件,把d盘下的temp文件夹做为输出目录,这里可根据情况修改即可(-name:nfs不用去改)d:\temp -name:nfs。

2、替换安装目录下的exports文件:修改完后保存关闭,找到hanewin软件的安装文件夹,替换掉原来的exports即可。

三、重启nfs服务器:从开始菜单下找到hanewin软件,选择nfs下的重启所有服务即可。

三、NFS服务搭建及数据无缝迁移

五一节办公室要停电,机房虽有ups,但也支撑不了8小时。

因生产环境有业务系统挂了办公室机房的nas存储,故需要进行迁移,步骤记录如下:

先闲谈下技术-----------------------

nfs和samba的区别

samba是混合型网络中的共享服务,windows服务器可建samba服务,linux服务器也可建samba服务

nfs只面向unix、linux间的共享,linux服务器可建nfs服务(winodws系统也可以挂载nfs,就是有点不稳定)

nfs服务器上的操作--------------------------

nfs服务器操作系统版本:

[root@c7110 ~]# more /etc/system-release

centos linux release 7.9.2009 (core)

nfs服务器安装nfs服务

[root@c7110 ~]# yum -y install nfs-utils rpcbind

创建nfs目录,并授权

[root@c7110 ~]# mkdir /opt/nfs-test

[root@c7110 ~]# chmod 777 /opt/nfs-test

编辑nfs服务配置文件

[root@c7110 ~]# vi /etc/exports

内容如下:

/opt/nfs-test *(rw,root_squash,all_squash,sync)

重新加载nfs配置:

[root@c7110 ~]# exportfs -r

nfs服务设置开机启动

[root@c7110 ~]# systemctl enable rpcbind

[root@c7110 ~]# systemctl enable nfs

[root@c7110 ~]# systemctl enable nfs-lock

[root@c7110 ~]# systemctl enable nfs-idmap

启动nfs服务

[root@c7110 ~]# systemctl start rpcbind

[root@c7110 ~]# systemctl start nfs

[root@c7110 ~]# systemctl start nfs-lock

[root@c7110 ~]# systemctl start nfs-idmap

查看nfs服务启动后,所监听的端口信息:

[root@c7110 ~]# rpcinfo -p

linux服务器服务器上操作-------------------------------

业务服务器安装nfs软件客户端

[root@c7111 ~]# yum -y install nfs-utils

建立一个挂载目录

[root@c7111 ~]# mkdir /opt/test-m

挂载nfs服务器共享出来的目录

[root@c7111 ~]# mount -t nfs 10.x.x.10:/opt/nfs-test /opt/test-m/

查看下已挂载的nfs

[root@c7111 ~]# df -h

filesystem size used avail use% mounted on

devtmpfs 1.5g 0 1.5g 0% /dev

tmpfs 1.5g 0 1.5g 0% /dev/shm

tmpfs 1.5g 8.8m 1.5g 1% /run

tmpfs 1.5g 0 1.5g 0% /sys/fs/cgroup

/dev/mapper/centos-root 97g 2.3g 95g 3% /

/dev/sda1 1014m 171m 844m 17% /boot

tmpfs 297m 0 297m 0% /run/user/0

10.x.x.6:/opt/nfs-test 97g 4.1g 93g 5% /opt/test-m

经测试,数据可读可写,证明nas服务没有问题,于是进行数据同步,数据同步用rsync命令。

rsync -avp gdsz@10.87.5.6::nas_6 /mnt/guidang/ --password-file=/root/rsync_pass --bwlimit=100000

数据同步完,通知研发进行挂载切换。研发同事在测试时,发现文件属性中的uid及gid与原来的不一致,有些担心,于是又小完善了一下nfs服务。

编辑nfs服务配置文件

[root@c7110 ~]# vi /etc/exports

内容如下:

/opt/nfs-test *(no_all_squash,anonuid=600,anongid=600)

重新加载nfs配置:

[root@c7110 ~]# exportfs -r