Linux下挂载家用NAS共享磁盘

Shuanglin Li
2023-08-07 / 0 评论 / 1,154 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2023年08月07日,已超过507天没有更新,若内容或图片失效,请留言反馈。

前几天,安装了统信UOS家庭版,通过Zerotier One实现了内网穿透,从而可以远程访问家用NAS了(具体教程查看: 统信UOS家庭版下安装Zerotier One实现内网穿透 ),但是当时只能通过浏览器访问,对于文件的读取来说不是那么友好和方便,于是今天通过挂载NAS共享磁盘,实现文件无缝同步。

准备工作

检查NAS设备是否可以被访问

在挂载NAS共享磁盘前,需要确保NAS已经实现了内网穿透,可以被访问,如无法访问可以查看教程:统信UOS家庭版下安装Zerotier One实现内网穿透。具体如何检查,我们可以通过在终端中使用ping命令来测试NAS设备是否可以被访问。例如,如果NAS设备的IP地址是10.147.17.32,则可以在终端中输入以下命令:

ping 10.147.17.32

如果收到回复,具体如下图所示,则表示可以被访问。
截图_deepin-terminal_20230807073823.png

创建挂载点

在Linux系统中,需要先创建一个挂载点。可以选择在根目录下创建一个新文件夹,作为挂载点。例如,可以在终端中输入以下命令来创建一个名为“MyNFS”的文件夹:

sudo mkdir /MyNFS

注意 ,统信UOS家庭版最开始是无法使用Root权限的,需要在通用,安全,开发者模式,打开开发者模式才行,具体查看教程:统信UOS家庭版下安装Zerotier One实现内网穿透准备工作部分。

开始挂载NAS共享磁盘

需要使用mount命令将NAS共享磁盘挂载到刚才创建的挂载点上,以下是挂载命令的基本格式:

sudo mount -t cifs //nas_ip_address/share_name /mount_point -o username=your_username,password=your_password,uid=Shuanglin

其中,“nas_ip_address”是NAS设备的IP地址,“share_name”是共享磁盘的名称,“mount_point”是刚才创建的挂载点,“your_username”和“your_password”是登录NAS设备时使用的用户名和密码,"uid"是当前用户id,可以通过‘id’命令查看,从而可以使得无须Root权限具有读写权限。

例如,如果NAS设备的IP地址是10.147.17.32,共享磁盘的名称为“MyNFS”,可以在终端中输入以下命令来挂载共享磁盘到“MyNFS”文件夹:

sudo mount -t cifs //10.147.17.32/MyNFS /MyNFS -o username=admin,password=123456,uid=Shuanglin

注意: 如果在挂载过程中,出现 mount(2) system call failed: Operation not supported ,则表示缺少 cifs-utils 包,可以通过如下命令安装:

sudo apt-get install cifs-utils

如果在挂载过程中,出现 mount error(95): Operation not supported 错误,则表示SMB版本可能不对应,比如默认使用的是SMB3.0,而NAS当前使用的是SMB2.0,此时需要在挂载命令上指定SMB版本即可,具体命令如下:

sudo mount -t cifs //nas_ip_address/share_name /mount_point -o username=your_username,password=your_password,vers=2.0,uid=Shuanglin

NAS共享磁盘开机自动挂载

编辑fstab文件

我们可以通过编辑fstab文件,将NAS共享目录自动挂载到我们创建的挂载点中。我们可以使用以下命令打开fstab文件:

sudo nano /etc/fstab

在文件末尾添加以下一行:

//10.147.17.32/MyNFS /MyNFS cifs Shuanglin 0 0

其中,//10.147.17.32/MyNFS是NAS共享目录的路径,/MyNFS是我们创建的挂载点的路径,最后的0 0表示在启动时自动挂载该目录。

除了手动编辑fstab文件之外,Linux系统还提供了一些工具和服务,可以帮助我们自动挂载NAS共享目录。

采用Autofs工具

Autofs是一种自动挂载文件系统的工具,它可以在需要时自动挂载远程文件系统。我们可以使用以下命令安装Autofs:

sudo apt-get install autofs

安装完成后,我们需要编辑/etc/auto.master文件,添加以下一行:

/MyNFS /etc/auto.nas --timeout=60

其中,/MyNFS是我们创建的挂载点的路径,/etc/auto.nas是存储NAS共享目录信息的配置文件,--timeout=60表示60秒后自动卸载该目录。

接下来,我们需要编辑/etc/auto.nas文件,添加以下一行:

Share -fstype=cifs,rw,username=your_username,password=your_password,,uid=Shuanglin ://10.147.17.32/MyNFS

其中,Share是我们给共享目录取的别名,cifs是指定文件系统类型,rw是指定读写权限,username=your_username,password=your_password是指定访客账户的用户名和密码,//10.147.17.32/MyNFS是NAS共享目录的路径。

现在,我们可以启动Autofs服务并测试自动挂载功能:

sudo systemctl start autofs

通过切换到挂载目录,查看是否挂载成功。

cd /MyNFS/Share

如果目录能够自动挂载并且我们能够访问共享目录中的文件,则表示Autofs配置成功。

使用systemd

systemd是Linux系统的一个系统和服务管理器,它可以用于自动挂载NAS共享目录。我们可以创建一个systemd服务文件来实现自动挂载功能。以下是一个示例服务文件:

[Unit]
Description=NAS Share
Requires=network-online.target
After=network-online.target
[Mount]
What=//10.147.17.32/MyNFS
Where=/MyNFS/Share
Options=username=your_username,password=your_password,vers=2.0,iocharset=utf8,uid=Shuanglin
Type=cifs
[Install]
WantedBy=multi-user.target

我们可以将上述内容保存为nas-share.mount文件,并将其复制到/etc/systemd/system/目录中。然后,我们可以使用以下命令启动服务:

sudo systemctl start nas-share.mount

如果服务启动成功并且我们能够访问共享目录中的文件,则表示systemd配置成功。

本文共 1135 个字数,平均阅读时长 ≈ 3分钟
0

打赏

海报

正在生成.....

评论 (0)

取消