黑威联通挂载外部存储使用相册套件
- 1. 外部储存无法直接作为多媒体控制台源
- 原因
- 解决方案
- a. 以文件云网关的方式挂载外部储存
- b. 在本地共享文件夹中直接挂载外部存储
- 临时挂载
- 自动挂载
- 2. 无法修改系统配置实现启动执行
- 原因
- 解决方案
1. 外部储存无法直接作为多媒体控制台源
在内部储存空间不足,或大量媒体文件存储在外部储存器是,有挂载外部存储器并添加到多媒体控制台源中进行索引的需求。
外部储存(如 U 盘、HybridMount 挂载的远程设备等)无法作为源添加到多媒体控制台中。
原因
QTS 系统限制,只有在本地储存的共享文件夹或在本地有缓存的文件云网关可以作为多媒体源加入。
解决方案
a. 以文件云网关的方式挂载外部储存
在 HybridMount 中以文件云网关的方式挂载外部储存,会在本地创建目录数据、元数据、读写缓存的一个缓存空间,因此 QTS 系统允许将文件云网关中的文件夹作为源添加到多媒体控制台中。
HybridMount 不是系统默认应用,需要在 App Center 中安装。软件自带一个免费许可,允许最多挂载 2 个文件云网关服务。文件云网关支持挂载绝大部分企业提供的云网盘服务(如阿里云、百度网盘、谷歌云盘等),也支持挂载通用的 WebDAV 云服务。
在远端服务器创建 WebDAV 共享,通过云网关挂载(不是远程设备挂载)即可添加进多媒体控制台源中。
这种方法有以下缺点:
- 需要在本地额外划分独立的缓存空间(未分配给卷的储存池空间);
- 目录需要定期同步,反复将目录信息写入缓存,对变更不频繁的存储池(如电影库),频繁的将目录信息写入缓存没有意义,且损耗硬盘寿命;
- 读取文件需要先写入读缓存,不能直接从远端存储器读取到程序,读取多少便写入多少,对硬盘写寿命损耗大;
- 写入文件会先写入写缓存,再上传到远端储存,无法及时同步到远端存储。
b. 在本地共享文件夹中直接挂载外部存储
QTS 是基于 Linux 开发的系统,允许用户通过 SSH 访问。通过 SSH 访问,可以用 mount
命令直接在共享文件夹中挂载外部存储。系统对待这种方法挂载的目录等同于本地目录,因此可以将挂载点添加到多媒体控制台源中。
QTS 的 SSH 访问权限默认是关闭的。登入网页端,在 控制台
-> 网络与文件服务
-> Telnet / SSH
中勾选 允许 SSH 连接
和 启用 SFTP
,应用设置,即可 SSH 访问 QTS 系统。
临时挂载
在命令行中将远程共享目录临时挂载到本地共享文件夹挂载点 /share 下的目录中:
# 挂载 SMB/CIFS 共享目录
mount -t cifs //<remote_server_ip>/<dir_path> /share/<CACHEDEVn_DATA>/<shared_folder_name>/<mount_point>
# 例:
#mount -t cifs //192.168.2.104/photo_share /share/CACHEDEV1_DATA/pohot_library/mnt/# 挂载 NFS 共享目录
mount -t nfs <remote_server_ip>:<dir_path> /share/<CACHEDEVn_DATA>/<shared_folder_name>/<mount_point>
# 例:
#mount -t nfs 192.168.2.104:/photo_share /share/CACHEDEV1_DATA/pohot_library/mnt/# 挂载 WebDAV 共享目录
mount -t davfs <protocol>://<remote_server_ip>:<webdav_port>/<dir_path> /share/<CACHEDEVn_DATA>/<shared_folder_name>/<mount_point>
# 例:
#mount -t davfs http://192.168.2.104:8080/photo_share /share/CACHEDEV1_DATA/pohot_library/mnt/
临时挂载仅本次启动有效,关机重启后不会自动重新挂载。要实现每次开机都自动挂载,需要修改配置文件。
自动挂载
Linux 系统中可以通过修改 /etc/fstab
配置文件实现 自动挂载 。但 QTS 系统重启后配置文件会恢复到修改前的状态,无法通过这种方法成功修改配置文件,无法实现自动挂载。
另一种方式是通过修改 /etc/config/crontab
配置文件实现启动挂载。但在 QTS 4.3.5 版本以后,这个方法也和修改 fstab
一样无效了。
QTS 4.3.5 以及更新版本可以通过在 autorun.sh
启动自动执行脚本 中添加挂载命令执行自动挂载:
# 设置 suid 位确保挂载成功
chmod u+s /bin/mount
chmod u+s /bin/umount# 挂载 SMB 服务
mount -t cifs //<remote_server_ip>/<dir_path> /share/<CACHEDEVn_DATA>/<shared_folder_name>/<mount_point> -o user=<username>,password=<password>
# 例:
# mount -t cifs //192.168.2.104/photo_share /share/CACHEDEV1_DATA/photo_library/mnt -o user=david,password=12345678
2. 无法修改系统配置实现启动执行
对系统配置文件进行修改,重启后配置文件恢复到修改前的状态。
原因
QTS 系统启动时将引导盘中的配置读取到 RAM-Disk,实际修改的配置文件只是挂载到系统的 RAM-Disk 上的文件,并未修改到实际引导盘中储存的文件。因此关机时,系统将 RAM-Disk 卸载后,开机时重新挂载的仍是原来的配置文件。
解决方案
在 QTS 4.3.5 以及更新的版本中,需要使用 autorun.sh
启动自动执行脚本实现自动挂载。
由于系统是运行在 RAM-Disk 上的,为了修改引导盘上储存的 autorun.sh
,需要先先将文件所在的分区块挂载到系统中。基于 HAL 的 QNAP NAS 的 autorun.sh 存放在引导盘的第六个分区中[1][2]。
mount /dev/<sd*6> /tmp/config/
# 例:若引导盘为sda
mount /dev/sda6 /tmp/config/
挂载的分区块中,应有:autorun.sh
、system.map.key
、uLinux.conf
等文件。若这是第一次编辑 autorun.sh
,则目录中没有该文件,需要创建。
cd /tmp/config
sudo vi ./autorun.sh
在文件中添加需要启动时自动执行的指令后,保存并退出 vi。然后为文件添加执行权限,并将分区快卸载:
chmod +x /tmp/config/autorun.sh
umount /tmp/config
打开 QTS 网页端,打开 控制台
-> 系统
-> 硬件
-> 通用
,勾选 启动时运行自定义脚本
,启用脚本。