云计算百科
云计算领域专业知识百科平台

Linux搭建NAS服务器结合海康录像存储

NAS是Network Attached Storage的缩写,也就是网络附属存储,是一种专门用于提供文件级数据存储服务的设备或系统。以下是NAS的主要特点:

  • 独立设备:NAS通常是连接到网络的独立硬件设备,内置硬盘驱动器,可以方便地扩展存储容量。
  • 文件共享:它通过网络协议(如SMB、NFS等)为多个客户端提供文件共享和访问功能,支持不同操作系统之间的文件交换。
  • 易于管理:NAS设备通常配备用户友好的管理界面,允许管理员轻松配置和监控存储资源。
  • 备份与恢复:许多NAS设备内置了备份和恢复功能,确保数据的安全性和可靠性。
  • 应用支持:除了基本的文件存储功能外,一些NAS设备还支持多媒体服务器、云同步、虚拟化等功能。

NAS广泛应用于家庭、中小企业以及大型企业中,用于集中管理和共享文件,提高工作效率并简化IT管理。

接下来我们选择NAS服务器中的smb协议来搭建NAS服务器

SMB协议

什么是smb协议

SMB(Server Message Block)协议是NAS(网络附加存储)服务器中常用的一种通信协议,具有以下特点:

  • 文件共享:SMB协议主要用于在客户端和服务器之间进行文件和打印机的共享访问。
  • 跨平台支持:它可以在不同的操作系统之间工作,如Windows、Linux和macOS,确保了良好的兼容性。
  • 安全性:SMB协议支持身份验证和加密,保障数据传输的安全性。
  • 版本更新:从早期的CIFS到现在的SMB 3.1.1,协议不断演进,增加了更多的功能和改进。
  • 在NAS环境中,SMB协议使得用户能够方便地通过网络访问存储设备上的文件,如同访问本地磁盘一样。

搭建过程

更新源并安装Samba服务

sudo apt update

sudo apt install samba

配置Samba共享

编辑配置文件 /etc/samba/smb.conf,添加共享目录配置:

[Hikvision]
path = /path/to/your/shared/directory
valid users = nasuser
read only = no
browsable = yes

path: 存放录像文件的目录,需提前创建。

valid users: 允许访问该共享的用户。

read only: 是否只读,设为 no 表示可写。

创建NAS用户并设置权限

sudo adduser nasuser
sudo smbpasswd -a nasuser
sudo chmod -R 777 /path/to/your/shared/directory

启动并重启Samba服务

sudo systemctl restart smbd
sudo systemctl enable smbd

检查服务状态

sudo systemctl status smbd

客户端连接测试

smbclient //服务器IP/Hikvision -U nashw

在这里插入图片描述

海康监控录像配置

在这里插入图片描述

输入Linux服务器的地址,写入文件地址,文件地址是配置文件里的【】头部分,输入前面创建的nas用户的账号密码进行测试,测试通过即完成配置

异常问题

检查Samba服务状态时报错

systemd[1]: /lib/systemd/system/smbd.service:15: Unknown lvalue 'ExecCondition' in section 'Service'

出现这个错误是因为当前使用的 systemd 版本不支持 ExecCondition 配置。ExecCondition 是 systemd 的一个较新特性,用于在服务启动前运行某些条件检查。

检查当前 systemd 版本

运行以下命令,检查 systemd 的版本:

systemctl –version

如果版本较旧(低于 241),可能不支持 ExecCondition。

更新系统或 systemd

如果系统支持更新,可以尝试升级 systemd 到更高版本。

sudo apt update

sudo apt upgrade

单独升级 systemd(需要官方或社区支持的包):

sudo apt install systemd

移除或修改 ExecCondition

如果无法升级 systemd,可以通过修改 smbd.service 文件来绕过 ExecCondition。

修改配置文件:

编辑文件 /lib/systemd/system/smbd.service:

找到包含 ExecCondition= 的行,将其注释掉或删除。

例如:

# ExecCondition=/bin/some-check

重新加载 systemd 配置:

sudo systemctl daemon-reload

启动 Samba 服务:

sudo systemctl start smbd

重装 Samba(如有需要)

如果问题依然存在,可以尝试重新安装 Samba:

sudo apt remove –purge samba
sudo apt install samba

防火墙问题

确保防火墙允许 Samba 服务的端口(默认端口是 445 和 139)。

检查防火墙状态:

sudo ufw status

开放 Samba 所需端口:

sudo ufw allow 445
sudo ufw allow 139

调试日志

如果仍然无法连接,查看 Samba 的日志文件获取更多信息:

sudo tail -f /var/log/samba/log.smbd
sudo tail -f /var/log/samba/log.nmbd

或者查看特定客户端的日志文件:

sudo tail -f /var/log/samba/log.<客户端名称或IP>

可选:添加匿名访问

如果希望摄像头不需要身份验证,可以将共享配置为匿名访问:

修改 [Hikvision] 配置:

[Hikvision]
path = /home//NAS/HK
guest ok = yes
read only = no
browsable = yes
force user = root

重新加载 Samba 配置

欢迎关注公众号:“全栈开发指南针” 这里是技术潮流的风向标,也是你代码旅程的导航仪!🚀 Let’s code and have fun! 🎉

赞(0)
未经允许不得转载:网硕互联帮助中心 » Linux搭建NAS服务器结合海康录像存储
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!