cryoSPARCサービスを稼働しているアカウントで操作を行ってます.
cryosparcアカウントとか自分のアカウントとかでインストールしているならそのアカウントで.
cryoSPARC 4.1 から提供されている 3D Flex.
利用するには worker に追加操作が必要です
/home/cryosparc/cryosparc_worker/bin/cryosparcw install-3dflex
proxyな環境では http_proxy と https_proxy環境変数 が必要です
cryoSPARCのupdateがあった際、cryosparc_worker で再度「cryosparcw install-3dflex」を実行したらエラーになった...
どうもupdate後に「cryosparcm forcedeps」でまっさらにしてから「cryosparcw install-3dflex」を実施する必要があるみたい.
いや、そもそもupdateの時は従来を継承するから install-3dflex は不要なのかもしれないが確かめていない
このv4.0.0のリリースとともに v3.4.0 もリリースされた模様。だた、この3.4.0は 4.0.0 からダウングレードするときのバージョン限定っぽい。
v3.3.xは MongoDB 3.4 でデータベースが運用されている
v4.0以降は MongoDB 3.6 で運用される。そのためか、v4.0からのダウングレードには MongoDB 3.6 をサポートした v3.4 のみ宛先になるみたい。v3.4 -> v4.0 はok
まずはbackupを行います cryoSPARC/backup
次にupdateの適用. 一応cryoSPARCサービスを停止しなくてもスクリプトの中で停止作業を行ってくれます.
ですが停止させて、プロセスがないことを確認してからの方が安心かなと
[illya@s ~]$ cryosparcm update --check
CryoSPARC current version v3.3.2
update starting on Tue Oct 4 12:04:33 JST 2022
current version v3.3.2
new version v4.0.0
Update available!
[illya@s ~]$ ps -ef |grep cryosparc
(もしプロセスがあるならkill)
[illya@s ~]$ ps -ef |grep mongo
(もしプロセスがあるならkill)
[illya@s ~]$ ls -l /tmp/cryosparc-supervisor-* /tmp/mongodb-*
(もしあるなら削除)
[illya@s ~]$ cryosparcm update
:
:
===================================================
Successfully updated master to version v4.0.0.
===================================================
Starting cryoSPARC System master process..
CryoSPARC is not already running.
configuring database
detected mongo feature compatibility version mismatch
expected: 3.6 actual: 3.4
attempting to set mongo fcv...
mongo fcv is 3.6
creating cryosparc_admin
cryosparc_admin created
creating cryosparc_user
cryosparc_user created
configuration complete
database: started
database configuration is OK.
:
:
===================================================
Now updating worker nodes.
===================================================
All workers:
s.sybyl.local illya@s.sybyl.local
-------------------------------------------------
Updating worker s.sybyl.local
Remote update
scp ./cryosparc_worker.tar.gz illya@s.sybyl.local:/home/illya/cryoSPARC/cryosparc_worker
ssh illya@s.sybyl.local /home/illya/cryoSPARC/cryosparc_worker/bin/cryosparcw update
Updating... checking versions
Current version v3.3.2 - New version v4.0.0
:
:
Successfully updated.
---------------------------------------------------
Done updating all worker nodes.
If any nodes failed to update, you can manually update them.
Cluster worker installations must be manually updated.
To update manually, copy the cryosparc_worker.tar.gz file into the
cryosparc worker installation directory, and then run
$ bin/cryosparcw update
from inside the worker installation directory.
[illya@s ~]$
あとスタンドアローン運用でもそうなのですが、masterノードとworkerノードでパスワードなしでssh接続ができていると支障なく更新できるかな.
(スタンドアローン運用なそのマシン自体へのssh接続)
途中でコケる場合...cryosparcmファイルの 1451、1455、1457行を無効にして再度updateファイルをダウンロードさせないとかしたほうがいいかな
単に「cryosparcm update」を実行する
[cryosparc@c ~]$ cryosparcm update
CryoSPARC current version v2.0.27
update starting on 2018年 11月 6日 火曜日 12:47:41 JST
No version specified - updating to latest version.
=============================
Updating to version v2.4.0.
=============================
CryoSPARC is running.
Stopping cryosparc.
command_proxy: stopped
command_vis: stopped
webapp: stopped
command_core: stopped
database: stopped
Shut down
Downloading master update...
:
Downloading worker update...
:
Done.
Update will now be applied to the master installation,
followed by worker installations on other node.
Deleting old files...
Extracting...
Done.
Updating dependencies...
Checking dependencies...
Legacy hash (v2.2 & older) detected. No new python dependencies need to be installed.
Currently checking hash for mongodb
Dependencies for mongodb have changed - reinstalling...
mongodb 3.4.10 installation successful.
Completed.
Completed dependency check.
Successfully updated master from version v2.0.27 to version v2.4.0.
Starting cryoSPARC System master process..
CryoSPARC is not already running.
database: started
:
:
[cryosparc@c ~]$
時折patchもリリースされるようで「cryosparcm patch --check」で確認できる. updateとは違ってcryoSPARCが稼働している最中に適用する必要があるみたい.
[cryosparc@c ~]$ cryosparcm patch --check
A cryoSPARC patch is available
Current Version: v3.3.1
Current Patch: None
New Patch: 220315
Released On: 2022-03-19 03:44:08
Requires Restart: Yes
Patch Notes:
- Fixed: Plotting error during (legacy) local refinement
- Added: Specify path of directory containing preprocessed micrographs for Topaz Train and Extract
- Added: New 3D Classification advanced parameter?"Output data after every full iter"?to enable data outputs (volumes, particles, volume series) after every full iteration
- Updated: 3D Classification volume outputs are now unmasked, fixing downstream refinements
(略
To install, run:
cryosparcm patch
[cryosparc@c ~]$
適用内容を確認した後に、本番適用を行う
[cryosparc@c ~]$ cryosparcm patch
A cryoSPARC patch is available
Current Version: v3.3.1
Current Patch: None
New Patch: 220315
Released On: 2022-03-19 03:44:08
Requires Restart: Yes
Patch Notes:
- Fixed: Plotting error during (legacy) local refinement
- Added: Specify path of directory containing preprocessed micrographs for Topaz Train and Extract
(略
Install patch? (y/n): y <-- patchを適用するかの最終確認
Downloading...
Downloading cryosparc_master_patch.tar.gz...
Downloading cryosparc_worker_patch.tar.gz...
Patching master...
Done.
Gathering worker info...
Patch worker s? (y/n): y <--- workerノードのsに適用
Patching workers...
All workers:
s cryosparc@s
=================================================
Updating worker s: Remote update
scp cryosparc_worker_patch.tar.gz cryosparc@s:/home/cryosparc/cryoSPARC/cryosparc_worker/cryosparc_worker_patch.tar.gz
ssh cryosparc@s /home/cryosparc/cryoSPARC/cryosparc_worker/bin/cryosparcw patch
Worker patch successfully applied.
-------------------------------------------------
=================================================
Patched 1 worker
Finishing...
Done.
Patch v3.3.1+220315 applied!
To complete installation, restart cryoSPARC with the following command:
cryosparcm restart
[cryosparc@c ~]$ cryosparcm restart <-- 指示に従い cryoSPARCサービスを再起動
(cryosparcm restartで完了なのかも知れないけど. ドキュメントでは下記も実行が要求される)
[cryosparc@c ~]$ cryosparcm cli "reload()"
[cryosparc@c ~]$ cryosparcm cli "refresh_job_types()"
patchを適用すると update と同じくどのpatchが適用されたかファイルに残る
[cryosparc@c cryoSPARC]$ cat cryosparc_master/patch
220315
[cryosparc@c cryoSPARC]$ cat cryosparc_master/version
v3.3.1
[cryosparc@c cryoSPARC]$ cat cryosparc_worker/patch
220315
[cryosparc@c cryoSPARC]$ cat cryosparc_worker/version
v3.3.1
[cryosparc@c cryoSPARC]$