首页 » Linux » CentOS » 通过tunasync搭建镜像仓库

通过tunasync搭建镜像仓库

 

tunasync是清华大学TUNA镜像源目前使用的镜像方案,github地址:https://github.com/tuna/tunasync

前端页面代码来自:https://github.com/weyo/mirrors

tunasync服务启动停止脚本:https://github.com/whsir/tunasync-bin

CentOS源列表:https://www.centos.org/download/mirrors/

EPEL源列表:https://admin.fedoraproject.org/mirrormanager/mirrors/EPEL

当前以CentOS7系统为例,搭建一个基于内网的镜像仓库,建议硬盘至少2T以上,同步速度与网络带宽、磁盘读写速度有关!

1、安装依赖

2、下载tunasync

3、创建仓库目录

4、创建日志目录

5、创建tunasync配置文件

6、创建manager.conf配置文件

manager部分参数说明:

addr:manager服务监听地址
port:manager服务监听端口
ssl_cert和ssl_key:证书配置
db_file:数据库文件位置

7、创建worker.conf配置文件

worker部分参数说明:

log_dir:tunasync日志路径
mirror_dir:镜像的路径
concurrent:线程数
interval:同步周期,单位分钟
api_base:manager地址
name:镜像名称
upstream:upstream同步地址

8、下载tunasync启动停止脚本

9、启动服务

10、查看同步状态

此处12345为manager的端口

11、添加计划任务

12、配置前端web

13、配置nginx

修改后的内容如下

14、设置前端web

重启nginx

15、访问测试

访问URL即可看到以下内容,由于这两个源很大,同步时间会非常长

 

 

附:我这里再举个例子,基于docker-ce镜像同步

镜像同步脚本:https://github.com/tuna/tunasync-scripts

1、创建镜像同步脚本目录

2、下载docker-ce同步脚本

3、在worker中新增docker-ce同步配置

4、安装docker-ce同步时所需依赖

5、启动服务

6、修改nginx

在location中继续增加一个docker-ce

7、重启nginx

访问URL即可看到以下内容

前端web都是基于html写的,如果继续添加其他的源,可以自行更改

写在最后

手动同步方式

docker-ce同步不建议使用上面python脚本方式,也可以通过rsync增量方式来同步清华大学站的docker-ce

 

PS:如果同步后发现清华大学的centos源有个权限的报错

rsync: readlink_stat("7.7.1908/isos/x86_64/.CentOS-7-x86_64-Everything-1908.iso.RjFDl5" (in centos)) failed: Permission denied (13)

可以考虑将centos源更换香港这个源:rsync://mirror.hostlink.com.hk/centos/

原文链接:通过tunasync搭建镜像仓库,转载请注明来源!

0