向 Rocky 的镜像管理器添加公共镜像¶
公共镜像的最低要求¶
我们始终欢迎新的公共镜像。但它们应该维护良好,并托管在类似 24/7 数据中心的运行环境中。可用带宽至少应为 1 GBit/s。我们更喜欢提供双协议栈(IPv4 和 IPv6)的镜像。请勿提交使用动态 DNS 配置的镜像。如果您所在的区域只有少数镜像,我们也接受较慢的速度。
请勿提交托管在 Anycast-CDN(如 Cloudflare 等)中的镜像,因为这会导致在 dnf
中选择最快镜像时出现次优性能。
请注意,我们无法接受位于受美国出口管制国家/地区的公共镜像。您可以在此处找到这些国家/地区的列表:https://www.bis.doc.gov/index.php/policy-guidance/country-guidance/sanctioned-destinations
截至撰写本文时(2022 年末),镜像所有当前和过去 Rocky Linux 版本的存储空间要求约为 2 TB。
我们的主镜像是 rsync://msync.rockylinux.org/rocky/mirror/pub/rocky/
。对于您的第一次同步,请使用您附近的镜像。您可以在此处找到所有官方镜像:here.
请注意,我们将来可能会将对官方主镜像的访问权限限制为官方公共镜像。因此,如果您正在运行私有镜像,请考虑从您附近的公共镜像进行 rsyncing
。本地镜像也可能更快地同步。
设置您的镜像¶
请设置一个 cron 作业来定期同步您的镜像,并使其每天运行大约 6 次。但请务必在非整点时间同步,以帮助分散时间负载。如果您只检查 fullfiletimelist-rocky
的更改,并且仅在该文件更改时才进行完全同步,您可以每小时进行一次同步。
以下是一些供您参考的 crontab 示例
#This will synchronize your mirror at 0:50, 4:50, 8:50, 12:50, 16:50, 20:50
50 */6 * * * /path/to/your/rocky-rsync-mirror.sh > /dev/null 2>&1
#This will synchronize your mirror at 2:25, 6:25, 10:25, 14:25, 18:25, 22:25
25 2,6,10,14,18,22 * * * /path/to/your/rocky-rsync-mirror.sh > /dev/null 2>&1
#This will synchronize your mirror every hour at 15 minutes past the hour.
#Only use if you are using our example script
15 * * * * /path/to/your/rocky-rsync-mirror.sh > /dev/null 2>&1
对于简单同步,您可以使用以下 rsync
命令
rsync -aqH --delete source-mirror destination-dir
考虑使用锁定机制来避免在推送到新版本时同时运行多个 rsync
作业。
您也可以使用和修改我们的示例脚本,该脚本在需要时实现锁定和完全同步。它可以在此处找到:https://github.com/rocky-linux/rocky-tools/blob/main/mirror/mirrorsync.sh.
完成第一次完全同步后,请检查您的镜像是否一切正常。最重要的是检查所有文件和目录是否已同步,您的 cron 作业是否正常运行,以及您的镜像是否可以从公共互联网访问。仔细检查您的防火墙规则!为了避免任何问题,请勿强制执行 http 到 https 的重定向。
如果您在设置镜像方面有任何问题,请加入 https://chat.rockylinux.org/rocky-linux/channels/infrastructure
完成后,请转到下一部分,并提议您的镜像成为公共镜像!
您需要什么¶
- 在 https://accounts.rockylinux.org/ 上有一个帐户
创建站点¶
Rocky 使用 Fedora 的镜像管理器来组织社区镜像。
访问 Rocky 的镜像管理器:https://mirrors.rockylinux.org/mirrormanager/
成功登录后,您的个人资料将显示在右上角。选择下拉菜单,然后单击“我的站点”。
将加载一个新页面,其中列出帐户下的所有站点。第一次将为空。单击“注册新站点”。
将加载一个新页面,其中包含一个重要的出口合规性声明,供您阅读。然后填写以下信息
- “站点名称”
- “站点密码” - 由
report_mirrors
脚本使用,您可以将其设置为任何您想要的密码 - “组织 URL” - 公司/学校/组织 URL,例如 https://rocky-linux.cn/
- “私有” - 选中此框可将您的镜像隐藏在公众使用之外。
- “用户活动” - 取消选中此框可暂时禁用此站点,它将从公共列表中删除。
- “所有站点都可以从我这里提取?” - 允许所有镜像站点从我这里提取,而无需将它们明确添加到我的列表中。
- “对下游站点管理员的评论。请在此处包含您的同步源,以避免依赖关系循环。”
单击“提交”后,您将返回主镜像页面。
配置站点¶
从主镜像页面选择下拉菜单,然后单击“我的站点”。
帐户网站页面将加载,并应列出该网站。 点击它进入信息网站。
上一节中的所有选项都再次列出。 页面底部有三个新选项:管理员、主机和删除网站。 点击“主机 [添加]”。
创建新的主机¶
填写以下适合该网站的选项
- “主机名” - 必填:公网用户看到的服务器 FQDN
- “用户活动” - 取消选中此框以暂时禁用此主机,它将从公共列表中删除。
- “国家/地区” - 必填:2 个字母的 ISO 国家/地区代码
- “带宽” - 必填:兆比特/秒整数,此主机可以提供的带宽
- “私有” - 例如,不公开可用,内部私有镜像
- “Internet2” - 在 Internet2 上
- “Internet2 客户端” - 即使是私有,也为 Internet2 客户端提供服务
- “ASN” - 自治系统编号,用于 BGP 路由表。 仅当您是 ISP 时。
- “ASN 客户端” - 为来自同一 ASN 的所有客户端提供服务。 用于 ISP、公司或学校,而不是个人网络。
- “机器人电子邮件” - 电子邮件地址,将收到上游内容更新的通知
- “评论” - 文本,您想让公网用户了解您的镜像的任何其他信息
- “最大连接数” - 每个客户端的最大并行下载连接数,通过 metalinks 建议。
点击“创建”,它将重定向回该主机的信息网站。
更新主机¶
在信息网站的底部,现在“主机”选项应该显示它旁边的主机标题。 点击名称加载主机页面。 上一步中的所有相同选项都再次列出。 底部有新的选项。
“站点本地网络块”:网络块用于尝试将最终用户引导到特定站点的镜像。 例如,大学可能会列出他们的网络块,并且镜像列表 CGI 将返回大学本地镜像,而不是国家本地镜像。 格式之一是 18.0.0.0/255.0.0.0、18.0.0.0/8、IPv6 前缀/长度或 DNS 主机名。 值必须是公网 IP 地址(无 RFC1918 私有空间地址)。 仅当您是 ISP 和/或拥有可公开路由的网络块时才使用!
“对等 ASN”:对等 ASN 用于将附近网络上的最终用户引导到我们的镜像。 例如,大学可能会列出他们对等 ASN,并且镜像列表 CGI 将返回大学本地镜像,而不是国家本地镜像。 您必须在 MirrorManager 管理员组中才能在此处创建新条目。
“允许的国家/地区”:某些镜像需要限制自己只为来自其国家/地区的最终用户提供服务。 如果您是其中之一,请列出您将允许最终用户来自的国家/地区的 2 个字母的 ISO 代码。 镜像列表 CGI 将遵守此规则。
“承载的类别”:主机承载软件类别。 例如 Fedora 类别包括 Fedora 和 Fedora 存档。
点击“承载的类别”下的“[添加]”链接。
承载的类别¶
对于类别,选择“Rocky Linux”,然后选择“创建”以加载 URL 页面。 然后点击“[添加]”加载“添加主机类别 URL”页面。 有一个选项。 针对每个镜像支持的协议重复此操作。
- “URL” - 指向顶层目录的 URL(rsync、https、http)
示例
http://rocky.example.com
https://rocky.example.com
rsync://rocky.example.com
总结¶
填写完信息后,该网站应在下次镜像刷新时出现在镜像列表中。
贡献者:Amin Vakil、Steven Spencer、Ganna Zhyrnova