By masiyi, 30 March, 2024
Forums

一、数据库备份镜像(服务器一个、本地硬件一个、hub(云)上一个)

1.拷贝挂载目录

偷懒方法:其中的挂载目录还是沿用牛油果的数据挂载目录,因为里面的数据还是需要的,modules什么的同样不变,沿用。因此copy了一个GenomeDB的目录GenomeDB_la

正确方法:备份数据卷 my_data_volume 存储的数据。可以使用 tar 命令或其他工具进行备份。例如,备份 my_data_volume 数据卷的命令如下:

$ sudo tar czf my_data_volume_backup.tar.gz $(docker volume inspect --format '{{ .Mountpoint }}' my_data_volume)

此命令将数据卷 my_data_volume 的内容打包成一个 tar 文件,并保存到当前目录下的 my_data_volume_backup.tar.gz 中。即可将数据卷在本地进行备份

 

2.打包镜像

服务器上备份镜像:使用commit命令将容器打包成镜像到服务器上(如需要则使用docker push命令上传至docker hub上):

docker commit db_test siyinobelma/genomedb:2.1

 

本地备份镜像:使用save命令将镜像打包成压缩包保存在本地:

docker save --output db_test.tar db_test

 

当需要恢复数据时,只需要在新的主机上重新创建相同名称的数据卷 my_data_volume,然后将备份文件解压到该数据卷所在的目录即可。

$ docker volume create my_data_volume $ sudo tar xzf my_data_volume_backup.tar.gz -C $(docker volume inspect --format '{{ .Mountpoint }}' my_data_volume)

3.根据新挂载目录起新容器

docker run --name Lauraceae -d -p 7654:80 \ -v /home/masiyi/GenomeDB_la/mydata/files:/var/www/html/sites/default/files \ -v /home/masiyi/GenomeDB_la/mydata/themes:/var/www/html/sites/all/themes siyinobelma/genomedb:2.1

 

二、排查到的JBrowse问题

在网站成功启动后,检查各功能过程中发现JBrowse的部分轨道无法显示,会显示报错http error 400或者500的问题

这个问题同样存在于其他的容器中,因为经过对比以后发现新启动的网站JBrowse配置目录下缺少配置文件且整个配置目录因为由本地用户masiyi进行打包上传导致目录所有者和组为1006和1007而不是root,从而影响文件的读取和写入

1.首先解决文件缺失问题:

在/var/www/html/sites/default/files/jbrowse/persea_americana__avocados/data/bam即JBrowse配置的目录下面存放bam轨道信息的这个目录下没有任何文件,所以在这里创建了一个符号链接 ln -s /var/www/html/sites/default/files/raw/pame.bam/hifi.bam/pame.hifi.bam pame.hifi.bam 目录占用仍然为0但是可以正常读取到这几个文件信息了,如下:

[root@6e43d822f3bf bam]# ll total 0 lrwxrwxrwx 1 root root 69 Mar 27 08:01 pame.hifi.bam -> /var/www/html/sites/default/files/raw/pame.bam/hifi.bam/pame.hifi.bam lrwxrwxrwx 1 root root 73 Mar 27 08:01 pame.hifi.bam.bai -> /var/www/html/sites/default/files/raw/pame.bam/hifi.bam/pame.hifi.bam.bai lrwxrwxrwx 1 root root 67 Mar 27 07:59 pame.ngs.bam -> /var/www/html/sites/default/files/raw/pame.bam/ngs.bam/pame.ngs.bam lrwxrwxrwx 1 root root 71 Mar 27 07:59 pame.ngs.bam.bai -> /var/www/html/sites/default/files/raw/pame.bam/ngs.bam/pame.ngs.bam.ba

 

2.解决权限问题

/var/www/html/sites/default/files下面的raw和jbrowse所有者和组均为root(因为通过本地的masiyi用户进行挂载,所以这些挂载目录下面的所有者和组都是1006:1007这种,改成root并且开放读写权限就可以了)

后面试了试别的容器,好像改完所有者这些就行了,默认读写权限也ok

现在所有轨道均可以正常显示了