通过这篇文章,你将了解以下几点:
一、为何采用此方案
二、新建Centos7虚拟机及相关配置 (博主使用的是HyperV) 【选看】
三、Netatalk的安装与配置
四、Avahi的安装与配置
五、使用cifs-utils将Windows的共享磁盘挂载到Centos内
六、启动Netatalk、Avahi并设置开机启动
七、(补充用途) 搭建TimeMachine备份服务器
【背景】 博主NAS使用的系统是Windows server 2016.由Windows来维护硬盘存储池。使用SMB与Mac进行文件共享。但是在Mac上使用SMB最多只能获得500M左右的速度,无法跑满1000M,很是烦躁!经过查阅后发现mac对smb的支持不完美,只能想办法为Windows增加苹果的AFP协议了。。。。
首先搜索到的是Acronis Files Connect这个软件,可以为Windows增加AFP协议,但是看到价格...3个客户端授权居然要800美元....不限制客户端的授权要7000美元。。算了我还是自力更生吧。
继续搜索,发现了Netatalk。Netatalk 是一个免费开源的 AppleTalk 通信协议的实现,Linux 或者 BSD 系统通过它可以充当 Mac 的文件服务器 (AppleShare File Server, 网络协议是 AFP)、AppleTalk 路由、打印服务器等。链接:http://netatalk.sourceforge.net/
【方案】通过万兆内部交换机,将Windows的SMB 挂载到Linux。然后使用Netatalk将挂载的SMB目录使用AFP协议提供给Mac!
Boom...即可享受千兆满速的NAS体验。
成功安装centos后,安装HyperV LINUX增强驱动,保证网卡的性能
驱动下载地址https://www.microsoft.com/en-us/download/details.aspx?id=55106
驱动安装方式请参考文档 Linux Integration Services.pdf
2.打开《Hyperv管理器》--《虚拟交换机管理器》--《创建一个 内部 虚拟交换机》
3. 同时将创建的虚拟网卡的网络类型,改为【专用网络】,这样才可以使用文件共享功能
yum install libgcrypt
tar -xzvf netatalk-3.1.11.tar.gz
cd netatalk-3.1.11
./configure --with-init-style=redhat-systemd --with-bdb=/usr/local/berkeleydb
make
make install
./configure -h 查看更多编译帮助四)配置afp.conf
位置在/usr/local/etc/afp.conf
vi /usr/local/etc/afp.conf
首先配置Netatalk,由于篇幅和需求问题,我这儿只列出简单配置,详细的请参考官方文档——> 传送门
[Global]
mimic model = Xserve #这个是指定让机器在你Mac系统中显示为什么的图标
log level = default:warn
log file = /var/log/afpd.log
hosts allow = 10.0.0.0/24 #允许访问的主机地址,根据需要自行修改
hostname = DUKE-NAS-AFP #主机名,随你喜欢
uam list = uams_dhx.so uams_dhx2.so #默认认证方式 用户名密码登录 更多查看官方文档
[Homes]
basedir regex = /home #用户的Home目录
[NAS-FILES]
path = /mnt/NAS-FILES #数据目录
useradd afp #创建新用户afp
paaswd afp #修改afp用户密码
这个简单,直接yum就行
yum install avahi -y
vi /etc/avahi/services/afpd.service
#修改为以下内容
DUKE-NAS-AFP
_afpovertcp._tcp
548
_device-info._tcp
0
model=Xserve
yum install cifs-utils
二)挂载SMB目录
mount -t cifs //ip/NAS-FILES /mnt/NAS-FILES -o user=username,pass=password,iocharset=utf8,uid=1000
1.将ip替换为HyperV虚拟出来网卡 在win下的IP地址,用于中转SMB服务。我的是172.16.0.1
提示:在CENTOS内,将虚拟的网卡IP设置同一网段,我这里是172.16.0.2
一般第二块网卡名字为eth1 所以修改配置文件 /etc/sysconfig/network-scripts/ifcfg-eth1
2.NAS-FILES 是我SMB共享目录
/mnt/NAS-FILES 是我挂载SMB的目录,也是afp.conf里面所设置的[NAS-FILES]目录
3.username password 请修改为访问SMB所需要的用户名及密码
4.uid项 用来赋予特定用户读写权限,即新建的afp用户的uid
用户uid查看方法: root登录到centos
su afp #切换到afp用户
id #即可查看到uid
systemctl start avahi-daemon
systemctl start netatalk
systemctl enable avahi-daemon
systemctl enable netatalk
[TimeMachine]
path = /mnt/TimeMachine #数据目录
time machine = yes #yes才支持TimeMachine
spotlight = no #关闭spotlight索引
vol size limit = 100000 #限制TimeMachine存储容量,单位为MB