Linux下使用tunasync搭建内网镜像站

scadm 2021年4月25日00:06:47
评论
776 1539字

内网镜像站对于很多企业限制外网访问来说是非常必要的,极大方便了研发安装各种软件依赖。搭建镜像站的方式很多,这边选用清华大学开源软件镜像站开发的镜像管理器tunasync来搭建。

一、环境准备

对于镜像站,需求最大的就是磁盘。这根据需要同步的源来决定磁盘大小,CentOS最少需要500G;Ubuntu需要1.5T;pypi的不建议同步需要磁盘空间太大

二、系统安装

tunasync 项目提供预编译版程序,可以直接从 Github releases 下载使用预编译版本。

三、同步配置

tunasync主要有manager.conf和worker.conf两个配置文件来控制

manager.conf配置

debug = false
[server]
addr = "127.0.0.1"
port = 14242
ssl_cert = ""
ssl_key = ""
[files]
db_type = "bolt"
db_file = "/usr/local/tunasync/db/manager.db"
ca_cert = ""

port:监听端口

db_file:数据库文件路径

worker 配置

这边以CentOS为例,如果有其他的源需要同步,则在worker配置文件里添加一个mirrors模块

[global]
name = "mirror_worker"
log_dir = "/usr/local/tunasync/log/{{.Name}}"
##镜像下载地址
mirror_dir = "/cache1/mirror"
##并发线程数
concurrent = 10
##同步周期,分钟
interval = 10080
[manager]
##manager地址
api_base = "http://localhost:14242"
token = "some_token"
ca_cert = ""
[cgroup]
enable = false
base_path = "/sys/fs/cgroup"
group = "tunasync"
[server]
hostname = "localhost"
listen_addr = "127.0.0.1"
##worker监听端口
listen_port = 16010
ssl_cert = ""
ssl_key = ""
[[mirrors]]
##镜像名称
name = "centos"
provider = "rsync"
##同步地址,最后的"/"不能少
upstream = "rsync://rsync.mirrors.ustc.edu.cn/repo/centos/"
interval = 240
use_ipv6 = false

清华大学开源软件镜像站提供了很多自定义镜像脚本,可以参考 Github releases 

四、服务启动

启动 tunasync 需开启 manager 进程与 worker 进程,先启动 manager,后启动 worker。为了便于监控系统进程情况,建立 /usr/local/tunasync/log/ 目录,所有进程的工作日志在该目录中(注意,此处日志为系统终端输出日志,与 tunasync 自身工作日志不同)

开启manager服务(后台进程):

$ tunasync manager --config /usr/local/tunasync/conf/manager.conf >>/usr/local/tunasync/log/manager.log

开启 worker 服务:

$ tunasync worker --config /usr/local/tunasync/conf/worke.conf

五、运行维护

参考Github。有删除、热重载、更新镜像大小

六、WEB前端

服务搭好后,前端可以使用Nginx来部署,这边就不重复说明了。WEB界面找了一个Github访的网易镜像站的WEB界面,个人觉得还不错。直达链接

继续阅读
scadm
  • 本文由 发表于 2021年4月25日00:06:47
  • 转载请务必保留本文链接:https://www.wscyun.com/751
Jenkins-2.319 安装部署 运维

Jenkins-2.319 安装部署

Jenkins持续集成简介 持续集成(Continuous Integration,CI|CD)是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础,持续集成意义如下: 持续集成中...
自动化装机工具-kickstart 运维

自动化装机工具-kickstart

导言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装。 常规的办法有什么? 光盘安装系统===>一个服务器DV...
自动化装机工具-cobbler 服务器

自动化装机工具-cobbler

在看Cobbler之前请大家先看一下Kickstart无人值守安装,了解一下Cobbler的实现原理。但是Cobbler是独立的,不需要先安装Kickstart然后再安装Cobbler,这是写给不了解...