因为之前用一个固态硬盘做volume1安装各种插件,本来打着省电的出发点,但是群晖只要有了阵列基本硬盘无休,其他不在阵列的硬盘照样子不会休眠的,所以就打算把固态硬盘拔掉用来做SSD缓存算了。
一个一个插件迁移太麻烦了,而且有些系统东西还不支持迁移,直接拔掉固态硬盘会出问题的,还要修复系统太多事了。
上网找了一下,有人写好了脚本,比较适合就拿来用了。
https://gist.github.com/nobodypb/fc3e70b535bcd95b5de7659d6fbda434
如果你不能上GitHub,这里提供本地下载:
脚本运行记录:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 |
@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服务并迁移数据库文件。
1 2 3 4 5 6 7 8 9 |
@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,关机拔掉固态硬盘,群晖可以正常开机使用。
感谢老哥分享,很有用。