Glusterfs之Samba映射和windows以及iis客户端的连接

由于Glusterfs并没有提供对于Windows的客户端程序,一般来说Windows上要使用glusterfs只有通过nfs映射或者通过samba映射来实现,之前介绍过关于Glusterfs nfs映射是通过nfs-ganesha。但是在实际使用中由于nfs-ganesha不是内核级别的稳定性存在一定的问题,性能上也不是太好。同时在实际使用中nfs在windows下的表现特别是对于iis的映射都存在各种问题。因此通过windows的共享是实现的最好方式。

Linux要支持windows共享首先需要安装samba服务。

Samba安装

Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的网络通讯协议,后来Samba将SMB通信协议应用到了Linux系统上,就形成了现在的Samba软件。后来微软又把 SMB 改名为 CIFS(Common Internet File System),即公共 Internet 文件系统,并且加入了许多新的功能,这样一来,使得Samba具有了更强大的功能。

关闭selinux

 setenforce 0

如要永久关闭则修改配置文件/etc/selinux/config,将SELINU置为disabled

安装samba服务

yum install -y samba
systemctl enable samba
systemctl start samba

配置samba

samba的主要配置文件在: /etc/samba/下,修改smb.cnf就可以来。

glusterfs smb配置

这里以glusterfs 4.19的版本来说明如何配置,关于glusterfs 的安装和配置,vol的建立不在表述。

修改/etc/samba/smb.cnf,加入如下配置

[global]
workgroup = SAMBA
security = user

passdb backend = tdbsam

printing = cups
printcap name = cups
load printers = yes
cups options = raw
kernel share modes = no
kernel oplocks = no
map archive = no
map hidden = no
map read only = no
map system = no
store dos attributes = yes

然后增加和配置一个Glusterfs export,如下

[static]
comment = For testing a Gluster volume exported through CIFS
path = /statics
browseable = yes
write list = root
read only = no

[gluster-static]
comment = For samba share of volume static
vfs objects = glusterfs
glusterfs:volume = static
glusterfs:logfile = /var/log/samba/glusterfs-static.%M.log
glusterfs:loglevel = 7
path = /
read only = no
guest ok = yes

配置文件中展示了两个方法,[gluster-static]表示使用glusterfs的支持的方式,而statics则是通过先在磁盘上挂载一个/statics目录到glusterfs上,然后通过smb分享出去。即

mount -t glusterfs 10.10.10.10:/data /statics

windwos 客户端连接

  1. 通过共享和客户端连

开始菜单,运行,输入 \10.10.10.10statics 来实现由于上面的设置允许匿名用户访问应该能顺利打开。

  1. 通过命令行

    net user \10.10.10.10static z: #映射
    net user z:/delete # 删除

IIS访问映射的目录

其实这个问题不和glusterfs相关,而是和iis以及windows本身相关。 由于asp。net和iis的 application pool一般运行在network service用户下,所以是看不到net use映射的盘的,这会造成程序的错误。解决方案无非两种。

1.修改IIS application pool的用户为映射用户的账号。

2.使用system Internal 工具集合

启动一个运行在localsystem或者network service账号下的cms,通过net use来映射.首先从微软官方下载pstool。pstool是system internal的一部分。然后运行如下命令

pstool.exe -i -s cmd.exe

在弹出的cmd下可以使用net use来以映射,可能遇到权限问题,因此输入如下命令:

    net use z: \\10.10.10.10\static 

安装提示输入用户名和密码
用户名和密码是在smb中配置的,当然也可以是Linux服务器的root账号。

Lokie博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论
  • 本博客使用免费开源的 laravel-bjyblog v5.5.1.1 搭建 © 2014-2018 lokie.wang 版权所有 ICP证:沪ICP备18016993号
  • 联系邮箱:kitche1985@hotmail.com