nfs与samba实现文件共享服务的流程
nfs与samba都是能够实现文件共享的服务应用,其用法大致相同,但是挂载选项与配置文件的设置机制不同,下面介绍这两种文件共享服务的内容。
一.nfs服务的安装与配置
服务端主机的配置:
1.安装nfs服务:yum -y install nfs.utils;
2.nfs的配置文件:/etc/exports;/etc/export.d/*。nfs的配置文件只需要添加能够挂载nfs服务器目录的主机条目即可,非常简单,比如:
/mysql/data 10.1.0.0/16(rw) 这就表示允许10.1.0.0(16)网段内的主机通过/mysql/data目录的挂载使用服务端nfs的应用。
3.创建nfs配置文件的目录,设置目录权限为客户端应用权限,比如需要实现共享mysql数据,就将目录属主属组设置为mysql:mysql,注意这里不能使用root用户,由于nfs服务拥有一种保护机制,跨主机使用nfs服务时,root用户没有执行与写入权限。必须是客户端执行进程的属主uid与服务端nfs文件夹属主uid相同才可以拥有rwx权限。
4.启用nfs服务:service nfs restart;
客户端主机的配置:
1.这里使用mysql应用举例,安装mysql或者mariadb,创建一个数据库。
2.修改mysql的主配置文件/etc/my.cnf,修改其中的datadir=/mydata,这里的/mydata是随便创建的一个新的空闲目录,这样的话就将mysql的数据文件都存放在/mydata中了。
3.mount -t nfs 10.1.252.232:/mysql/data /mydata;将服务端主机的/mysql/data目录挂载至客户端主机的/mydata目录下,并重启mysql服务;service mysql restart;
完成上述配置之后,就可以启用nfs服务了,可以看到客户机的/mydata与/服务机的/mysql/data目录下存放着的是客户机的mysql数据,并且只有服务端有权限修改目录文件。
二.samba服务的安装与配置
服务端主机的配置:
1.安装samba服务:yum install samba;
2.编辑samba的主配置文件/etc/samba/smb.conf;在Share Definitions条目下添加一个新的共享服务,比如这样:
[dafeige]
comment =dafeigewenjian
path = /data/application/web
browseable = yes
guest ok =yes
writable =yes
这里定义了名为dafeige的共享ID,comment表示描述,path定义了dafeige所指向的路径,browseable表示是否可供用户浏览,guest ok表示是否允许来宾访问,writable表示是否支持写入操作。
3.使用smbpasswd或者pdbedit命令创建samba用户和密码:
smbpasswd [options] username;其中option中包括:-a 增加用户;-x 删除用户;-d 禁用用户;-e 启用用户;举例说明:smbpasswd -a xiaofei;执行之后提示设置密码;这时就成功添加了一个samba用户。
4.service smb start;service nmb start;启用samba服务。
客户端主机的配置
客户段应用samba有两种方式:
第一种:使用smbclient命令。这个命令可以实现客户端交互式访问服务端的samba服务目录,前提是服务端需要提供一个samba用户并让客户知晓;比如使用上述的xiaofei,密码为123.可以这样进行交互式访问:smbclient //10.1.252.232/dafeige -U xiaofei;输入密码123之后,却无法对目录进行cp等写入删除操作。
为社么呢?实际上是由于没有对目录的执行权限所导致的,与nfs服务一样,如果想要对服务端主机执行写入操作,客户端主机用户的uid必须与服务端目录属主uid相同,这里使用root用户同样不可以。这时需要对服务端目录的属主以及权限进行修改,所以对服务端主机执行:chown -R xiaofei:xiaofei /data/application/web;重新登录,就可以对目录执行写入操作了。
第二种:挂载目录的方式。这种方式与nfs的挂载方式性质一样,将服务端的目录挂载至客户端的目录下,实现文件存放在服务端上共享的目的。不同的是挂载方式有所不同,举例说明:
mount -t cifs //10.1.252.232/dafeige /mydata;这里是使用samba服务的挂载方式。对比一下nfs的挂载方式:
mount -t nfs 10.1.252.232:/data/application/web /mydata;可以看出nfs挂载直接指向服务端的目录,而samba挂载在share_ID dafeige定义的path路径下,格式也有所不同。
如此配置完毕后,检查端口是否启用正常,就分别可以使用这两种文件共享服务惹!
原创文章,作者:mcgeewang,如若转载,请注明出处:http://www.178linux.com/53775