因为之前用一个固态硬盘做volume1安装各种插件,本来打着省电的出发点,但是群晖只要有了阵列基本硬盘无休,其他不在阵列的硬盘照样子不会休眠的,所以就打算把固态硬盘拔掉用来做SSD缓存算了。
一个一个插件迁移太麻烦了,而且有些系统东西还不支持迁移,直接拔掉固态硬盘会出问题的,还要修复系统太多事了。
上网找了一下,有人写好了脚本,比较适合就拿来用了。
https://gist.github.com/nobodypb/fc3e70b535bcd95b5de7659d6fbda434
如果你不能上GitHub,这里提供本地下载:
脚本运行记录:
@DS918:/volume2/files$ chmod +x move_syno_pkgs.sh
@DS918:/volume2/files$ sudo sh move_syno_pkgs.sh
Password:
This will move packages from /volume1 to /volume2
New app directory created
Searching for packages on /volume1...
Found AntiVirus
Move AntiVirus? (y/n)
Moving AntiVirus...
======== stop AntiVirus ========
======== start AntiVirus ========
Done. Backup in: /volume1/@appstore/__AntiVirus
Found CloudStationClient
Move CloudStationClient? (y/n)
Found Docker
Move Docker? (y/n)
Moving Docker...
======== stop Docker ========
======== start Docker ========
Done. Backup in: /volume1/@appstore/__Docker
Found DownloadStation
Move DownloadStation? (y/n)
Moving DownloadStation...
======== stop DownloadStation ========
======== start DownloadStation ========
Done. Backup in: /volume1/@appstore/__DownloadStation
FileStation is not in source directory
Found MariaDB
Move MariaDB? (y/n)
Moving MariaDB...
======== stop MariaDB ========
======== start MariaDB ========
Done. Backup in: /volume1/@appstore/__MariaDB
Found Node.js_v4
Move Node.js_v4? (y/n)
OAuthService is not in source directory
Found PHP7.0
Move PHP7.0? (y/n)
Moving PHP7.0...
======== stop PHP7.0 ========
======== start PHP7.0 ========
Done. Backup in: /volume1/@appstore/__PHP7.0
Found PHP7.2
Move PHP7.2? (y/n)
Moving PHP7.2...
======== stop PHP7.2 ========
======== start PHP7.2 ========
Done. Backup in: /volume1/@appstore/__PHP7.2
SynoFinder is not in source directory
Found SynologyApplicationService
Move SynologyApplicationService? (y/n)
Moving SynologyApplicationService...
======== stop SynologyApplicationService ========
======== start SynologyApplicationService ========
Done. Backup in: /volume1/@appstore/__SynologyApplicationService
Found SynologyDrive
Move SynologyDrive? (y/n)
Moving SynologyDrive...
======== stop SynologyDrive ========
======== start SynologyDrive ========
Done. Backup in: /volume1/@appstore/__SynologyDrive
Found SynologyMoments
Move SynologyMoments? (y/n)
Moving SynologyMoments...
======== stop SynologyMoments ========
======== start SynologyMoments ========
Done. Backup in: /volume1/@appstore/__SynologyMoments
Found TextEditor
Move TextEditor? (y/n)
Moving TextEditor...
======== stop TextEditor ========
======== start TextEditor ========
Done. Backup in: /volume1/@appstore/__TextEditor
Found VideoStation
Move VideoStation? (y/n)
Moving VideoStation...
======== stop VideoStation ========
======== start VideoStation ========
Done. Backup in: /volume1/@appstore/__VideoStation
Found WebStation
Move WebStation? (y/n)
Moving WebStation...
======== stop WebStation ========
======== start WebStation ========
Done. Backup in: /volume1/@appstore/__WebStation
Found ffmpeg
Move ffmpeg? (y/n)
Moving ffmpeg...
======== stop ffmpeg ========
======== start ffmpeg ========
Done. Backup in: /volume1/@appstore/__ffmpeg
Found imagemagick
Move imagemagick? (y/n)
Moving imagemagick...
======== stop imagemagick ========
======== start imagemagick ========
Done. Backup in: /volume1/@appstore/__imagemagick
Done for all.
If you want to remove /volume1 you should also move the following:
System service symlink /var/services/pgsql to /volume1/@database/pgsql
System service symlink /var/services/tmp to /volume1/@tmp
这样子所有插件就全部从volume 1迁移到了volume 2了,其中Node.js插件会提示要修复,点修复就可以正常使用。 最后输出2个提示说如果要拔掉volume 1的话,还需要处理2个symlink,把pgsql系统数据库迁移到新volume 2那继续处理下就好。 依照脚本的办法:
- 先复制文件到新地方
- 删除symlink
- 建立新symlink
- 改名旧文件夹
先停止pgsql服务并迁移数据库文件。
@DS918:/volume2$ sudo synoservice --stop pgsql
Password:
some service depend on service [pgsql] is still running, use --hard-stop to stop all releated service
@DS918:/volume2$ sudo synoservice --hard-stop pgsql
warn: The runkey of service [pgsql] and its dependency services have been set to "No"
@DS918:/volume2$ sudo cp -rp /volume1/@database/pgsql /volume2/@database/pgsql
@DS918:/volume2$ sudo rm -f /var/services/pgsql
@DS918:/volume2$ sudo ln -s /volume2/@database/pgsql /var/services/pgsql
@DS918:/volume2$ sudo mv /volume1/@database/pgsql /volume1/@database/_pgsql
对tmp目录采取以上同样步骤,然后删除volume 1,关机拔掉固态硬盘,群晖可以正常开机使用。
https://blog.myds.cloud/archives/synology-migrate-packages-to-new-volume.html