怎么在虚拟机vmware下的ubuntu中搭建nfs服务器

怎么在虚拟机vmware下的ubuntu中搭建nfs服务器,第1张

11 搭建NFS服务器

NFS(Network FileSystem,网络文件系统)是由SUN公司发展,并于1984年推出的技术,用于在不同机器,不同操作系统之间通过网络互相分享各自的文件。NFS设计之初就是为了在不同的系统间使用,所以它的通讯协议设计与主机及操作系统无关。

NFS分服务器和客户机,当使用远端文件时只要用mount命令就可把远端NFS服务器上的文件系统挂载在本地文件系统之下,操作远程文件与操作本地文件没有不同。NFS服务器所共享文件或目录记录在/etc/exports文件中。

嵌入式Linux开发中,会经常使用NFS,目标系统通常作为NFS客户机使用,Linux主机作为NFS服务器。在目标系统上通过NFS,将服务器的NFS共享目录挂载到本地,可以直接运行服务器上的文件。在调试系统驱动模块以及应用程序,NFS都是十分必要的,并且Linux还支持NFS根文件系统,能直接从远程NFS root启动系统,这对嵌入式Linux根文件系统裁剪和集成也是十分有必要的。

安装nfs-kernel-server:

ky@ubuntu:~$ sudo apt-get install nfs-kernel-server

设置NFS-Server目录。修改/etc/exports文件,在其中增加NFS服务器目录。 一个NFS服务器可以共享多个NFS目录,在/etc/exports文件中,每个目录的设置独占一行,编写格式如下:

NFS共享目录路径 客户机IP或者名称(参数1,参数2,,参数n)

说明:

q NFS共享目录可以是主机的任何一个目录,为了方便使用,最好将权限设置为777。

q 客户机指的是可以访问共享目录的客户机的IP或者主机名,可以是指定的IP或者主机名。如果使用IP,可以使用通配符。假如指定IP为1921681x的客户机可以访问,可以写成1921681,如果设置为,则表示任何客户机都可以访问。

q 访问参数可以是一个,也可以是多个,用逗号分开。可能的参数和说明如 REF _Ref286733518 \h 表 5108D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200380036003700330033003500310038000000 所列。

表 STYLEREF 1 \s 5 SEQ 表 \ ARABIC \s 1 1 NFS设置参数和说明

参数

说明

ro

只读访问

rw

读写访问

sync

所有数据在请求时写入共享

async

nfs在写入数据前可以响应请求

secure

nfs通过1024以下的安全TCP/IP端口发送

insecure

nfs通过1024以上的端口发送

wdelay

如果多个用户要写入nfs目录,则归组写入(默认)

no_wdelay

如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置

hide

在nfs共享目录中不共享其子目录

no_hide

共享nfs目录的子目录

subtree_check

如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认)

no_subtree_check

不检查父目录权限

all_squash

共享文件的UID和GID映射匿名用户anonymous,适合公用目录

no_all_squash

保留共享文件的UID和GID(默认)

root_squash

root用户的所有请求映射成如anonymous用户一样的权限(默认)

no_root_squash

root用户具有根目录的完全管理访问权限

anonuid=xxx

指定nfs服务器/etc/passwd文件中匿名用户的UID

anongid=xxx

指定nfs服务器/etc/passwd文件中匿名用户的GID

假定NFS共享目录是/home/ky/nfs,允许所有客户机访问,/etc/exports文件可写为:

/home/ky/nfs (rw,sync,no_subtree_check, no_root_squash)

启动NFS服务器。启动portmap(如果有必要)和nfs-kernel-server服务:

ky@ubuntu:~$ sudo service portmap start

ky@ubuntu:~$ sudo service nfs-kernel-server start

本地验证NFS服务器。将NFS服务器目录挂载到本机另外一个目录下,可以看到挂载点目录下可以看到NFS服务器目录中的文件。

ky@ubuntu:~$ ls /home/ky/nfs/

aaaa

ky@ubuntu:~$ sudo mount -t nfs 127001:/home/ky/nfs /mnt

ke@ubuntu:~$ ls /mnt

aaaa

ky@ubuntu:~$ sudo umount /mnt/

用开发板验证NFS服务器是否可用。启动开发板,进入系统,配置好开发板的IP地址后,用mount命令挂载NFS服务器的NFS目录:

target# mount -t nfs 19216813:/home/ky/nfs /mnt -o nolock

target# ls /mnt

kingyee

target# umount /mnt/

挂载成功后,可以在开发板的/mnt目录下看到NFS服务器上的文件。

说明,使用开发板与虚拟机安装的客户系统进行NFS挂载,需要将虚拟网卡设置为Bridged模式,并建议使用静态IP地址。

如果在使用中需要增加新的NFS共享目录,直接修改/etc/exports文件即可。修改该文件后,可以不用重启NFS服务,用exportfs命令读取/etc/exports文件,重新共享输出。exportfs命令语法如下:

exportfs [-aruv]

选项说明:

-a:全部挂载(或卸载) /etc/exports的设置;

-r:重新挂载/etc/exports的设置;

-u:卸载某一个目录;

-v:在输出的时候,把共享目录显示出来。

如果NFS已经启动,修改了/etc/exports文件,执行如下命令,新的设置即可生效:

ky@ubuntu:~$ exportfs -ra

这是我回答的另外一个人问的,你可以参考下:

1桥连 是指直接用主机的物理网卡,也就是你不能同时主机和客户机一起用,要么你的虚拟机用,要么你的主机用。

2NAT 是网络映射,它虚拟了一个网卡,加入你主机使用的网络里,就是说和你的主机处于同一个网段,不同IP。在别人看来,你的虚拟机和你的主机是两台同一级别的不同电脑,如果IP自动获取不行的话,你手动指定一下IP地址,比如你的网关是19216811,你就把虚拟机设置IP为19216815,主机里面设置为19216816。

3HOST ONLY 是说你的虚拟机和主机用虚拟的网卡组成了一个局域网。你会发现你的主机的网络连接里多出来1-2个VM本地连接(前提是你虚拟机的虚拟网络设置里面设置正确,而且虚拟机网络服务要启动),这种方式连接的话,应该是不能上网的,他相当于只是一个小网络,而网络里面就是有虚拟机和主机这两台电脑,他不会和外界通讯。

打个比方,如果你用路由器上网,以上三种设置,第一种路由器会认为始终就是你一台电脑在和它通讯(两个系统使用的硬件设备一样),第二种路由器会认为有两台不同电脑在和它通讯(一个真实设备,一个虚拟设备),第三种路由器也认为只有你一台电脑在和它通讯(实际上也是,因为虚拟机那台没有和外界通讯)

我估计是你虚拟机里面的IP和DNS不对,所以不能上,你可以手动指定一下。

在主机命令提示符下输入:ipconfig /all ,看一下IP和DNS,设置下你的虚拟机

一: 虚拟机需要配置成桥接方式

以静态IP为例,因为实验室的局限性。。。比如你的主机ip为172202770,子网掩码为2552552550,网关为172202760 DNS为10101010 对应的虚拟机设置的ip为1722027xx,要保证在一个段内就行,其他的子网掩码,网关,DNS都设置成一样的

二:1主机需要装ftp服务,以XP为例,安装XP自带的ftp服务,在装XP系统的时候不会自动安装,需要自己装,方法为

开始- > 控制面板- >添加或删除文件- >添加/删除Windows主件(A),出来个对话框,双击Internet 信息服务(IIS),选中文件传输协议(FTP)服务,点击确定,开始安装,安装的时候会提示你要一些文件,我会把需要的文件以连接方式在最后粘贴出来,安装的时候需要什么文件,在对话框下点击浏览,找到你下载下来的文件夹,里面都有。

安装好以后重启电脑。

2然后 右击我的电脑- >管理- > 服务和应用程序 - > Internet信息服务- > FTP站点- >右击 默认FTP站点- > 属性,出来一个对话框

在对话框的 FTP站点 里面 设置连接的IP地址

安全账户下 允许匿名连接 不要打勾

主目录下 选择 登录以后的路径和设置权限

3还是 右击我的电脑- >管理- >本地用户和组- > 用户,会发现多了一个用户 描述为匿名访问Internet信息服务,右击内个用户,可以设置ftp登录密码,点重命名,可以设置ftp登录时的用户名

三:在虚拟机里面装ftp,介绍几个命令

which vsftpd :查看是否安装ftp 显示出来路径说明已经安装,什么都没有,则没有安装

service vsftpd start :开启ftp

service vsftpd status :查看ftp的状态

如果没有安装ftp,可以使用命令 sudo apt-get install vsftpd 安装

安装好以后 修改ftp配置文件 /etc/vsftpdconf,将下面两行前面的“#”去掉 sudo vi /etc/vsftpdconf

#local_enable=YES //是否允许本地用户登录

#write_enable=YES //是否允许上传文件

保存

从新开启ftp服务

四:将XP和虚拟机里的系统的防火墙关闭

五:完成上面的,就可以ftp ip地址了

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 怎么在虚拟机vmware下的ubuntu中搭建nfs服务器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情