主頁 > 知識庫 > 以中山大學鏡像站為例談如何利用開源來搭建鏡像網(wǎng)站

以中山大學鏡像站為例談如何利用開源來搭建鏡像網(wǎng)站

熱門標簽:地圖標注標記位置導航 地圖標注操作方法 廣西防封卡外呼系統(tǒng)原理是什么 浙江呼叫中心外呼系統(tǒng)多少錢 清遠語音外呼系統(tǒng)平臺 電銷外呼系統(tǒng)罵人 阿里機器人電銷 機器人電銷哪個牌子好 地圖標注銷售好做嗎

基本流程
服務(wù)器帶寬存儲
同步源選擇 ,架構(gòu)選擇
提供的服務(wù):ftp | http | rsync 3.官網(wǎng)獲取同步方法或工具,源列表(選擇上游源)
配置同步工具
定時同步 (crontable)
備份工作,監(jiān)控與報警,日常維護,優(yōu)化
文檔編寫(Wiki),Submit MirrorsList
其他


0/8.服務(wù)器帶寬存儲
服務(wù)器: Linux ,maybe windows ?..orz
帶寬: 越大越好(上行帶寬太小無法提供更好的服務(wù),下行太小無法及時同步完整(按網(wǎng)絡(luò)情況分時段同步,同時盡量避開負載高峰))。 如果要對外服務(wù),需要一個公網(wǎng)IP,有域名更好。
儲存: 越大越好(如果是對外提供大量服務(wù),家用的硬盤估計撐不了一年)。可考慮用SSD作為cache。


1/8.同步源選擇 ,架構(gòu)選擇
同步源選擇:

按需求選擇需要的發(fā)行版,穩(wěn)定性第一,多樣性第二,滿足需求即可。同時也要注意”性價比“(自用鏡像無需考慮),例如 OpenBSD之類的性價比可能很低 ,消耗大量的同步流量和磁盤空間可能性價比不是很大,同時例如大學中的鏡像站需要網(wǎng)絡(luò)中心的支持,所以需要考慮到校內(nèi)用戶的支持和熱度(學生支持度不 夠,nc的支持可能也會下降),同時校內(nèi)有一定熱度才好傳承,所以如果添加類似Ubuntu的發(fā)行版”性價比“會很高。 慎重選擇上線的發(fā)行版(自身資源估計),上線盡量保持穩(wěn)定。切勿隨意更換服務(wù)。注意預留足夠空間!

感謝中大IGI師兄以上給出的建議。推薦:《搭建linux mirror鏡像》

架構(gòu)選擇:

一個發(fā)行版可能保護多種架構(gòu),(例如debian :alpha、amd64、arm、armel、hppa、hurd-i386、i386、ia64、m68k、mipsel、mips、powerpc、s390、sh and sparc,source,debian現(xiàn)有oldstable,stable ,testing,unstable,還有experimental版本),所以需要按需求選擇需要同步的架構(gòu)(因為磁盤空間不是無限的),一般來說就選擇i386,amd64,外加source。

2/8.提供的服務(wù):ftp | http | rsync
FTP:vsftpd ?還有很多,不太了解,囧。
HTTP: Webserver建議選擇nginx或lighttpd,因為鏡像包含大量的靜態(tài)文件,這兩者據(jù)說比Apache更有優(yōu)勢, 記得cn99掛掉后,將Apache換到nginx了? 建議 :nginx, lighttpd
Rsync:為下游提供,例如清華,中科大有開放某些發(fā)行版,國內(nèi)提供rsync的鏡像站不多,主要是提供rsync會有很高的IO負載,一般承受不起。如果有意愿提供rsync,google即可。


3/8.官網(wǎng)獲取同步方法或工具,源列表(選擇上游源)
同步方法或工具: 一般就是Rsync,然后從上游拉東西,可以自己寫腳本,也可以用官方提供的工具,例如debian的ftpsync等。 切勿使用wget 等工具!不能保證文件link等屬性,也無法做到增量同步,浪費資源!

清華的同步腳本:http://git.tuna.tsinghua.edu.cn/
北交Ideal的Mirror工具:https://github.com/ideal/mirror
(感謝ideal曾經(jīng)提供的幫助,有意愿搭建鏡像站的同學遇到 問題可在Twitter上找到他)Rubygems,PyPI,npm也是同樣找尋或自己編寫同步腳本后工具,或做反向代理。除了主動拉的,還有是官方主鏡像推送到官方其他鏡像,例如ArchlinuxARM。
ubuntu還有個同步工具 apt-mirror
上游源:

上發(fā)行版官網(wǎng)獲取MirrorsList,然后找尋提供rsync服務(wù)的鏡像,選擇上游源,一般選擇國內(nèi),日本,新加坡,臺灣等亞太地區(qū)的源。 注意:官方rsync可能只對指定IP開放(負載問題)

4/8.配置同步工具
自己寫同步腳本 :
失敗郵件報警,同步鎖控制,兩步同步,其他rsync參數(shù)。
Rsync教程:讀 igi的同步腳本: http://www.igigo.net/archives/65
使用同步工具:
清華的同步腳本:http://git.tuna.tsinghua.edu.cn/
北交Ideal的Mirror工具:https://github.com/ideal/mirror/
PyPI,Rubygems,npm:

讀Rubygems和PyPI同步簡單教程 : http://fangpeishi.com/post/da-jian-pypiji-rubygemsjing-xiang
讀npm同步教程 :http://maskray.me/blog/2012-11-21-tuna-npm-mirror
注意: 添加同步鎖,debian系需要兩步同步(先同步pool目錄)。

5/8.定時同步 (crontable)
定時同步: 把寫好的cron腳本丟進 /etc/cron.d/ 《定時自動任務(wù)crontab使用教程》 注意:

/etc/cron.d the file names must conform to the filename requirements of run-parts: they must be entirely made up of let‐ters, digits and can only contain the special signs underscores (‘‘) and hyphens (‘-’). Any file that does not conform to theserequirements will not be executed by run-parts. For example, any file containing dots will be ignored. This is done to prevent cron from running any of the files that are left by the Debian package management system when han‐ dling files in /etc/cron.d/ as configuration files (i.e. files ending in .dpkg-dist, .dpkg-orig, and .dpkg-new). (特殊字符只可以使用’‘和’-’,另外以’.’開頭的文件會被忽略)
crontab腳本中注意path的配置,例如使用rubygems的同步工具碰到rake abort等問題。


6/8.備份工作,監(jiān)控與報警,日常維護,優(yōu)化
備份:

當配置文件發(fā)生變化時候利用腳本將其備份到Dropbox. 監(jiān)控與報警:

用awk等工具對同步日記進行分析。
配置郵件服務(wù)程序,例如exim4,在之前的腳本中添加出現(xiàn)異常時候發(fā)郵件。(移動139郵箱有短信通知功能)。
部署監(jiān)控程序,例如MUNIN,對磁盤情況,網(wǎng)絡(luò)情況,負載情況等進行監(jiān)控,以圖表的形式直觀呈現(xiàn)出來。
日常維護:

當出現(xiàn)同步異常失敗時(例如:上游down掉了,和上游的網(wǎng)絡(luò)異常了,磁盤異常等等),需要更換上游或者其他方法。

優(yōu)化: 主要是針對鏡像站大量的靜態(tài)文件進行的優(yōu)化.以及觀察監(jiān)控對流量和負載進行合理分配。

7/8.文檔編寫(Wiki),Submit MirrorsList
文檔編寫: 一個是為了將經(jīng)驗積累,方便傳承,同時也是為了方便其他搭建鏡像站的朋友。例如建個wiki。

Submit your mirror to mirrorslist:

當鏡像站足夠穩(wěn)定時,可考慮提交到官方mirrorslist,讓更多的朋友知道,有小小的成就感也容易鼓勵自身和傳承。內(nèi)網(wǎng)的鏡像可在內(nèi)部交流平臺公開分享。
若是校園鏡像站需要注意宣傳,以得到更多師生的支持,同時方便傳承。


8/8.其他
如果是在大學內(nèi)要搭建一個鏡像站,需要獲取網(wǎng)絡(luò)中心的支持,可能需要:

一顆“耐”心;
注意傳承問題 (校內(nèi)熱度將影響nc對鏡像站的支持程度,做好文檔,發(fā)展好師弟師妹,如果有個Linux協(xié)會啥的平臺組織最好不過了);
找靠譜老師支持(鏡像快死掉了的時候,老師可能能救活它),熟悉nc里的老師或領(lǐng)導(解決問題更方便),記得鏡像站要幫助宣傳nc,記得感謝提供幫助的同學,老師和組織;
穩(wěn)定為先。

標簽:德宏 臺灣 廊坊 沈陽 包頭 伊春 雅安 江蘇

巨人網(wǎng)絡(luò)通訊聲明:本文標題《以中山大學鏡像站為例談如何利用開源來搭建鏡像網(wǎng)站》,本文關(guān)鍵詞  以,中山大學,鏡像,站,為例,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《以中山大學鏡像站為例談如何利用開源來搭建鏡像網(wǎng)站》相關(guān)的同類信息!
  • 本頁收集關(guān)于以中山大學鏡像站為例談如何利用開源來搭建鏡像網(wǎng)站的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章