如何搭建与Windows客户机结合使用的Samba文件服务器
据Samba项目网站声称,Samba是一组开源/免费软件套件,它为SMB/CIFS客户机提供了无缝顺畅的文件和打印服务。不像实现SMB/CIFS网络协议的其他系统(比如面向HP-UX的LM Server、面向OS/2的LAN Server或VisionFS),Samba(及其源代码)可以免费获取(最终用户不需要支付任何费用),并且允许Linux/Unix服务器和Windows/Unix/Linux客户机之间实现协同运行。
正是由于这些原因,在不同的操作系统(并非仅仅只有Linux)共存的网络环境下,Samba是文件服务器的优选解决方案――而最常见的网络架构就是多个微软Windows客户机访问一台安装有Samba的Linux服务器,我们将在本文中探讨这种情形。
要注意:另一方面,如果我们的网络完全由基于Unix的客户机(比如Linux、AIX或Solaris等等)组成,可以考虑使用NFS(不过在这种情况下Samba仍是一种选择),这时NFS的速度更快。
将Samba安装在Debian和CentOS上
在我们开始着手安装之前,可以使用操作系统的软件包管理系统,寻找关于Samba的信息:
在Debian上:
# aptitude show samba
在CentOS上:
# yum info samba
在下面这个屏幕截图中,我们可以看到“aptitude show samba”的输出结果(“yum info samba”会得到类似的结果):
现在不妨安装Samba(下面这个屏幕截图对应于安装到Debian 7 [Wheezy]服务器上的情况):
在Debian上:
# aptitude install samba
在CentOS上:
# yum install samba
将用户添加到Samba
如果是4x之前的版本,想将用户添加到Samba,就需要一个本地Unix帐户:
# adduser <username>
下一步,我们需要使用带“-a”选项的smbpasswd命令,将用户添加到Samba,该选项指定随后用户名应添加到本地smbpasswd文件。系统会提示我们输入一个密码(该密码没必要与本地Unix帐户的密码一样):
# smbpassword -a <username>
最后,我们将访问系统中用作Samba共享区的一个目录的权限授予用户xmodulo(如果需要的话,还可以将访问权限授予其他用户)。要完成这一步,只需用文件编辑器(比如Vim)打开/etc/samba/smbconf文件,浏览到文件末尾,使用描述性名称,创建一段代码(将名称括在方括号内),比如[xmodulo]:
# SAMBA SHARE [xmodulo] path = /home/xmodulo available = yes valid users = xmodulo read only = no browseable = yes public = yes writeable = yes
现在我们必须重启Samba;为了以防万一,使用testparm命令检查smbconf文件,查找有无语法错误:
# service samba restart
# testparm
要是有什么错误,testparm结束运行后,就会如实报告。
将Samba共享区映射为Windows 7 PC上的网络驱动器
鼠标右击Computer(电脑),选择“Map network drive”(映射网络驱动器):
键入安装有Samba的那台机器的IP地址,随后键入共享区的名称(这是smbconf文件中刮在单括号内的名称),并确保“Connect using different credentials”(使用不同的登录资料来连接)复选框已勾选:
输入之前用“smbpasswd -a”设置的用户名和密码:
进入到Computer(电脑),检查网络驱动器是否已正确添加上去:
为了测试一下,不妨利用Samba的参考手册页创建一个PDF文件,并将它保存到/home/xmodulo目录中:
下一步,我们可以证实该文件可以从Windows来进行访问:
我们可以使用默认的pdf阅读软件打开该文件:
最后,不妨看一下我们能否将来自Windows的一个文件保存到刚映射的网络驱动器。我们将打开changelog文件,该文件列出了Notepad++的功能特性:
然后试着将它作为一个明文文件(txt扩展名)保存到Z:\;然后,不妨看一下该文件在Linux中是否能浏览:
我们介绍了扩展文件服务器,这里继续介绍扩展文件服务器背后的技术SMB 30和CSV 20以及在Windows Server 2012中实现扩展文件服务器的具体步骤。
深入了解SMB 30 和CSV 20
SMB 30 和CSV 20是扩展文件服务器背后的技术。SMB 30得到了增强,可以提供透明的故障转移功能,当工作负载转移或者服务器崩溃时,允许中断的文件操作重新连接。SMB Multichannel允许多个网卡用于SMB流量增加吞吐量和可靠性。SMB Direct允许远程DMA功能的网卡进行服务器之间内存到内存的转移。SMB Encryption提供SMB通信端到端的数据包加密。
CSV 20主要更新包括一个一致的文件名称空间,称为CSV文件系统。它提供了高速I / O直接访问由多个同步服务器。CSV 20还提供了磁盘加密的加密支持和SMB 共享的VSS备份,而不必像WindowsServer 2008 R2一样通过网络重定向I / O
通过启用CSV读缓存可能优化读密集型应用程序。可以通过使用两个配置设置实现,SharedVolumeBlockCacheSizeInMB和CsvEnableBlockCache第一个设置是用来控制缓冲区读请求RAM的缓存大小,第二个设置使每个磁盘私有读缓存来优化特定卷。你可以使用以下PowerShell cmdlets启用和设置读缓存:
(Get-Cluster)。SharedVolumeBlockCacheSizeInMB = 512
- sets read cache to 512MB
Get-ClusterSharedVolume “Cluster Disk 1” | Set-ClusterParameter CsvEnableBlockCache 1
实现扩展文件服务器
现在既然已经熟悉了扩展文件服务器,这里是在Windows Server 2012故障转移集群中实现的7个步骤。
1 通过服务器管理器安装文件服务器角色
2 通过服务器管理器安装故障转移集群功能
3 使用磁盘管理配置共享磁盘(上线,初始化,NTFS格式)
注意:不要为磁盘分配驱动器名称,可以使用CSV
4 验证和创建故障转移集群--与Windows Server 2008 / R2相同
5 添加磁盘到CSV(使用故障转移集群管理器,右键单击磁盘并选择添加到CSV)
6 添加文件服务器角色(使用故障转移集群管理器,右键单击角色,配置角色…)
7 添加文件共享与连续的可用性(右键单击新添加的文件服务器,添加文件共享)
步骤6中配置文件服务器时一定要选择扩展文件服务器当选择类型的文件服务器。如图2所示。
在步骤7中添加文件分享时,一定要选择“SMB Share- Applications”如图3所示。新的分享向导将提示您为CSV卷和共享名称来创建共享。
通过使用Windows Server 2012故障转移集群与扩展文件服务器,现在可以支持成千上万用户的企业级环境。 CSV 20和SMB 30中的新功能提供了持续可用的文件共享,提供了较高的性能和可靠性。其他的新的集群功能如集群识别的更新、集群的任务调度程序、集群资源启动优先级、动态群体管理和内置的NIC组合,这些反映了微软将继续发展故障转移集群技术。
1、设置要先安装,安装完编辑配置文件即可。
1)、安装
在Debian上:
# aptitude install samba
在CentOS上:
# yum install samba
2)、添加用户
adduser <username>
3)、添加用户到Samba,使用带有‘-a’选项的smbpasswd命令来完成,该命令指出后面的用户名将被添加到本地smbpasswd文件中。我们将被提示输入密码(该密码无需和本地Unix帐号的密码相同):
# smbpassword -a <username>
4)、最后配置samba目录即可。
2、Windows端使用samba,只需要映射一下samba服务器的文件夹即可。具体
1)在计算机上右击,然后选择“映射网络驱动器”:
2)输入安装了Samba的机器的IP地址,后跟共享名(就是smbconf文件中方括号括起来的那个名称),然后确保选中了“使用不同的凭据连接”:
3)、输入先前用‘smbpasswd -a’设置的用户名和密码:
4)进入计算机,然后检查网络驱动器是否被正确添加即可。
0条评论