mini CentOS 伺服器準備計畫


迷你主機的殘念

發表於 CentOS,Server 由 minicentos 於 四月 20, 2007

終於等到 CentOS 5.0 的問世,這段時間網路與資訊世界的轉變不小,尤其是許多以Google領軍出現的網路(免費)服務,也使架設自己的伺服器這檔事也有了許多改變。


之前曾說過很希望擁有這樣的迷你伺服主機,一方面外觀可人、安置方便,另一方面事業沒那麼大,尤其是很想嘗試使用 Linux Cluster的架構,讓如果流量暴增的網站服務能夠進可攻、退可守;初期採用的是浩鑫(Shuttle)的迷你主機,其中一台還是特別為小型伺服器設計的版本,一開始使用狀況尚好,但幾個月不關機下來,兩台機器陸續出現問題,抱去維修中心總共四次,目前其中一台舊款的最近又壞了(記憶體好像抓不完整,其中一條插槽顯然故障),我是不清楚浩鑫的口碑如何,但顯然主機不適合長時間使用,穩定性想要拿來作為伺服器還有一段差距。

目前改採自行組裝的雙CPU主機,穩定性馬上有所提升,只可惜體積龐大、噪音與熱量輸出均不小,又離原來的迷你主機計畫更遠了。總之暫時不做調整,目前的機器至少可以作為穩定的後台、資料庫主機,持續尋覓更好的迷你主機吧。

CentOS 5.0 準備起飛

發表於 5.X,CentOS 由 minicentos 於 四月 14, 2007

隨著 CentOS 5.0 新版本的問世,終於到了升級伺服器的時候。

別忘了 CentOS 可是等同於 Red Hat Enterprise Linux 的企業級作業系統,服務套件都是以穩定、安全著稱,一般用在伺服器上,如果使用桌面版本,那麼當然就是所謂的工作站嘍,換句話說,CentOS 不是拿來玩的,是用來作正事的。

所以,在其他許多 Linux Distro 上看到的新玩意,如果看到 CentOS 列為了正式套件,表示兩種狀況:(1)這個套件經過頗長時間的發展,不會是剛出現的測試版本。(2)套件的穩定性與安全性都經過了檢驗,足以提供企業服務與應用。

看看 CentOS 5.0 與 CentOS 4.4 之間的不同:

主要的伺服器套件更新為 Apache-2.2,PHP-5.1.6,kernel-2.6.18,MySQL-5.0,PostgreSQL-8.1。其中 PHP5 與 MySQL5 的升級,會連帶影響大多數跑在伺服器上的網路服務程式。

另外與桌面程式相關的則有:Gnome-2.16, KDE-3.5, OpenOffice.org-2.0, Evolution-2.8, Firefox-1.5, Thunderbird-1.5;對 compiz 與 AIGLX 更好的桌面支援;頗受重視的虛擬機技術 Xen hypervisor with Virtual Machine Manager and libvirt;使用者管理的 Sabayon。(由於之前全數都只安裝伺服器,沒有使用過桌面視窗系統,有些玩意搞不清楚是啥)。

可能許多 Linux 玩家對這些早就玩膩了,但是當這些東西出現在 CentOS(也就是被納進 Red Hat Enterprise Linux),代表的意義大有不同。

終於,要全新安裝一次 CentOS 伺服器了,期待。

DNS 伺服器的設定檢查

發表於 4.X,Server 由 minicentos 於 五月 17, 2006

DNS 設定完成之後,記得到 http://140.113.167.111/idns/Chinese/index.jsp 來做個檢查。

一些有用的建議:
1.TTL 值
除非您常常更動DNS的欄位, 不然的話還是建議您將TTL的值設大一點, 以免流量遭會受影響, TTL的值約~3天(2*86400~3*86400)比較適合。
2.refresh 值
若您有使用DNS NOTIFY則建議您將refresh設為86400, 一般而言建議設定值約 3600~7200(20分鐘~12小時)比較適合。
3.retry 值
建議設定值約 120~7200 比較適合。

再次談談 CentOS

發表於 Server 由 minicentos 於 五月 16, 2006

這裡沒有什麼技術高深的文章,正因為不是專家,所以選擇用 CentOS。

我也認識那種非 BSD 不用的技術玩家,或是至少在用 Debian,有時真是羨慕,不過沒有天賦與時間,也志不在此,只是希望能夠用 Linux 架設自己需要的服務,最好能夠不要太複雜,最好是安全性高些,如果您與我有相同的想法,選 CentOS 就對了。

CentOS 說文解字:

Community ENTerprise Operating System

CentOS.org 網站說明這是企業級的伺服平台,提供給不需要商業支援服務的組織或個人免費使用。

感謝開源碼!這種事才真的會發生在現實生活中。紅帽公司目前大概以企業 Linux 平台著稱,如果希望企業能夠多多使用 Linux 用在正式的、嚴肅的以及商業的環境之下,的確需要更安定、安全的系統,於是 Enterprise Linux 就成了很重要的一環。

的確,對於任何高深的玩家來說,Linux 的版本不是那麼重要,透過仔細的調教大概都可以做到,可惜不是每個人都能如此。

Red Hat 的企業 Linux 分成幾種,AS 是最高階,ES 支援到2顆處理器與16GB記憶體上限,WS 是包含了許多開發與測試工具的工作站,Desktop 則是希望進佔使用者日常桌面的桌上型作業系統。

而 CentOS 基本上是 AS 等級。

另外之前有人期待的 RHGFS (=Red Hat Global File System), RHCS (=Red Hat Cluster Suite),CentOS-4 都已經支援,叫做 Global File System 6.1 以及 Cluster Suite 4.0 for CentOS-4,大概是給多台伺服器陣列使用的吧,這我不太明瞭,也還沒機會用到。

CentOS 使用 Yum 的更新機制,非常方便;CentOS.org 可是很努力的,基本上希望在 Red Hat 發佈補丁的72小時之內跟上,而通常都在24小時左右就有了。使用 Yum 安裝或是更新套件都極為便利。

我基本上並不會在 CentOS 上使用 tarball 安裝套件,一定都透過 Yum 安裝 rpm,因為穩定才是王道,如果真要學習、磨練或是嘗鮮,我會去用 Fedora,而在寄望它 24×7 不停歇努力工作的伺服器,還是小心謹慎點就好。

CentOS 真的是對個人與小企業太好了,免費、安全、穩定,很希望能夠多些人使用,也能夠多多交換經驗。

CentOS 4.3 更新

發表於 4.X,CentOS 由 minicentos 於 五月 16, 2006

使用全新的 CentOS 4.3 重新安裝系統,在 centos.org 首頁上可以看到說明,這版啟用了新的 Yum 更新機制,看了半天,大概是說現在會從眾多鏡像站台中找出離自己最近的,所以應該就不需要費心了。

不過依照說明,好像安裝一個 yum 的插件更好,就照著做了。

步驟一:
yum install yum-plugin-fastestmirror

使用上列指令遠端安裝(當然是在網路設定完成的狀態)

步驟二:
編輯 /etc/yum.conf 這個檔案,加上一行

plugins=1

完成!

目前還沒有測試出什麼差別…等到安裝程式時應該會知道。

桌面工作平台與伺服器的思考

發表於 舊文章 由 minicentos 於 七月 19, 2005

自從 Steve Job 在蘋果開發者大會上一番引人遐思的言論之後,我對於桌面平台以及伺服器的思考,也走入一種遐想的境地。

還是從 CentOS 談起;其實之前也有一段時間是以 Windows 2000 與後續的 2003 伺服器架設主機,當然都是用測試版的軟體,雖然這些主機的操作介面都與 Windows 環境一模一樣,的確入手蠻容易的,後來放棄的原因有:
1. 總不能老是用測試版(或是盜版)軟體吧?正式版又貴得嚇人,投資不下去。
2. 對硬體的要求太高,一些老主機跑起來很慢,吃系統資源實在驚人,也不想老是換新硬體(也沒錢換)。
3. 許多開放原始碼的套件,其實都主力支援 AMP,在 Windows 系統上反而顯得慢。
4. Windows Server 的遠端連線管理,其實很耗資源,畢竟要顯示出所有的圖型介面,沒必要。

於是改用 Linux 系統後,主機架完就真正可以拔除多餘的周邊,只留下網路與電源線,其他操作都在一般平台登入來做即可(我沒有使用 XWindows,都是文字介面),舊主機也跑得嚇嚇叫。

而當 Steve Job 讓人感覺 Apple 即將進入真正的桌面系統戰爭之後(其實並不確定,但我希望),讓人又重新思考起這個基本的問題:真正好的桌面作業系統是什麼?伺服器又需要什麼樣的操作介面呢?

Windows Server 其實是從一般人使用的桌面環境複製來的操作介面,老實說真沒必要,誰會到一台台伺服器面前操作呢?過多的介面資源耗用,就代表給伺服器運作的資源變少了,更是一種浪費;但是像 Linux 般的純文字介面,過多的指令與大量的文字設定檔的編輯,又實在是太難了點。

其實 Webmin 這個介面是很不錯的,像之前 Cobalt 替 Qube 開發的伺服器管理介面也是接近的邏輯,老實說,目前並沒有好的伺服器操作介面,也就是符合能遠端進入,又是專為伺服器核心打造的介面。

目前最好的桌面操作系統,我相信是 Apple 的 Mac OSX,Windows 還有好一段路呢,我非常期待 Apple 真的開始讓 OSX 成為跨平台的作業系統,足以與 Windows 平分秋色的系統(我不是說功能,而是市場)。

然後,就是以 Linux 為核心,但是搭載了伺服器專屬的操作介面,既不是純文字,也不是把桌面系統移植過去,當然恐怕就不是什麼 XWindows 之類的,這是我的期望。

關於 CentOS 的近況

發表於 舊文章 由 minicentos 於 七月 19, 2005

之前就說過,Linux 的大問題就是不容易學,因為太穩定了,每當經過一段安裝期,各項主要的伺服器服務都已經正常運作之後,往往就停滯下來,因為使用 Linux 不是目的,架設所需要的伺服器才是目標,所以我的 Linux 程度總是停留在一個
極淺的程度。

更何況,實際上 CentOS 是 Redhat Enterprise Linux 的複製版,以安全、穩定著稱,如果不是碰上什麼大問題,當系統安裝完之後,接下來的工作其實是各種伺服器的安裝與設定,已經與 CentOS 關係不那麼直接;而當主要的服務都設定好,也都正常運作的時候,焦點也就開始移轉到這些伺服器後續的應用上,感覺就離 CentOS 愈來愈遠了;當然,其實這都是好事,代表 CentOS 系統穩定,代表沒有錯誤的將力量與時間擺在 Linux 的進階系統上(畢竟我不是什麼 Linux 專家啦)。

LAMP 的平台(Linux + Apache + MySQL + PHP,我還加上了 ColdFusion MX),已經是一個幾乎無所不能的伺服器環境了,剩下來的是架站者的其他技術與運用的意念,於是乎,很有可能,得重新思考 CentOS 這個 Blog Site 的意義與走向。

Yum 預設設定檔的一個小錯誤

發表於 舊文章 由 minicentos 於 五月 18, 2005
補充一點

這是國外網站上的資訊:(大意是說,預設的 CentOS-Base.repo 之中有一個地方的資訊拼錯了,大家要記得手動去修改一下)

CentOS Errata and BugFix Advisory CEBA-2005:0506-01 for centos-yumconf

centos-yumconf contains the base configuration for yum in CentOS-4 (in the file /etc/yum.repos.d/CentOS-Base.repo) There was a misspelling in the normally disabled 『contrib』 repository (it was misspelled as contribs). This prevented being able to enable the contrib directory via the command-line and is corrected with this update.

The following updated files have been uploaded and are currently syncing to the mirrors:

i386 and x86_64:
centos-yumconf-4-4.2.noarch.rpm

src:
centos-yumconf-4-4.2.src.rpm

You can get this update with the command:

yum update centos-yumconf

(If you have modified the file /etc/yum.repos.d/CentOS-Base.repo, a new file named CentOS-Base.repo.rpmnew will be created in /etc/yum.repos.d, and you will have to modify your CentOS-Base.repo to contain the new contrib information)

CentOS4的安裝程序Step1

發表於 舊文章 由 minicentos 於 四月 29, 2005

由於拿到了新的主機板和記憶體,又重新安裝了一次 CentOS 4,所以重新整理一次:

《CentOS 4 基礎安裝第一步》

目標:安裝好基礎的 CentOS 4,並且能夠拔除不必要的設備(僅留下電源與網路線),讓接下來的後續程序都能夠在其他的工作站上遠端執行。

(1)已下載好 CentOS 4 的CD-ROM,只需要前三片。
(2)調整好硬體,設定為光碟開機。
(3)用第一片開機安裝,基礎的硬碟分割或是網路設定就不多說了,選擇套件時選擇最下方的』最小化安裝』,安裝完後重新開機。
(4) 雖然在光碟安裝過程中,都已經設定好網路,但像我安裝的兩台主機,分別有兩張與三張網路卡,設定過程中只知道 eth0, eth1, eth2 分別設定好了,其實還是要實際插插看,並使用 ping 指令去測試,看哪一條線路是對的(使用 ifconfig 可以看到三張網路卡的設定資訊,但是並未顯示出網路卡的廠牌,只有 Mac Address,如果平時有將手邊的網路卡記錄下來,或許可以清楚分辨,否則,就像我一樣,接線測試看看);經過此一步驟,各張網卡各自網域內的連線就已 經測通完成。
(5)檢查一下網路的幾個相關設定檔:
/etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-eth0, ifcfg-eth1, ifcfg-eth2
/etc/resolv.conf
/etc/hosts
前三個設定其實在光碟安裝過程都已設定,除非有誤,否則不需要更改。
hosts 則將區域網路中的 IP 與主機名稱手動輸入。
(6)設定 Yum 網路更新:
‧cd /etc/yum.repos.d
‧cp CentOS-Base.repo tnc-mirror.repo
‧mv CentOS-Base.repo CentOS-Base.default
‧vi tnc-mirror.repo (修改成 ftp://ftp2.tnc.edu.tw/pub1/centos…)
‧rpm –import ftp://ftp2.tnc.edu.tw/pub1/centos/RPM-GPG-KEY-CentOS-4
‧yum -y update
如果線路無誤,就會開始線上更新了。
(7)
由於我的網路架構有些不同,基礎如下:
Host E:eth0=220.x.x.1, 聯外固定 IP;eth1=192.168.0.1, DMZ 主機區網。
Host B:eth2=220.x.x.2, 聯外固定 IP;eth0=192.168.0.2, DMZ 主機區網;eth1=192.168.1.2, 工作站區網。
其實就是將 Host B 作為常見的三卡主機,是連通主機群與工作站群之間的防火牆,所以要啟動 Router 的設定;而 Host E 也要做相對應的設定。
<Host E>
cd /etc/sysconfig/network-scripts
vi route-eth1
寫入下列三行:
「ADDRESS0=192.168.1.0
GATEWAY0=192.168.0.2
NETMASK0=255.255.255.0」
<Host B>
原則上就是要啟動兩個區網之間的溝通
echo 1 > /proc/sys/net/ipv4/ip_forward
分別在兩台主機上用 route -n 看看路由對不對,同時 Ping 看看各自區網裡的電腦。

注意!此時是在測試安裝區網,所以我習慣先將防火牆關掉:
service iptables stop (分別關掉兩台電腦的防火牆)
ifdown ethx (分別關掉兩台主機上的對外連線,這樣不會有干擾,也較安全)

理論上這樣應該所有電腦、工作站之間都應該連通無誤才對。
(8) 設定防火牆
這部份就不多說了,我都是使用鳥哥所寫的那三個檔:iptables.rule, iptables.deny, iptables.allow;但是使用多時,裡面也已經改了不少,不過都是依照我的狀況而修正,這三個檔案實在好用,就是視不同狀況去註銷或加入些文字。
啟動防火牆後,再次在區網內電腦交叉測通看看。
測試沒問題後,在 /etc/rc.d/rc.local 裡加入 iptables.rule 啟動的一行文字。
(9) 設定 i18n
經過上列程序,我的第一步目標已大致完成,也就是幾乎可以拔掉所有設備連線,例如光碟機、鍵盤等,因為已經可以透過網路,在工作站上使用 cpputty 來處裡一切;
唯一的小問題是,顯示中文;雖然網路上有許多方式教導如何在文字模式(終端機)上顯示中文,但是設定大多麻煩,最重要的是,我並不會真正到終端操作,99% 是透過 cpputty 去操作,所以只需要這樣設定:
vi /etc/sysconfig/i18n
我的原始內容是→
「LANG=』zh_TW.UTF-8″
SUPPORTED=』zh_TW.UTF-8:zh_TW:zh:en_US.UTF-8:en_US:en』
SYSFONT=』latarcyrheb-sun16″」
改成這樣:
「LANG=』zh_TW.Big5″
SUPPORTED=』zh_TW.Big5:zh_TW.UTF-8:zh_TW:zh:en_US.UTF-8:en_US:en』
SYSFONT=』latarcyrheb-sun16″」
再去工作站的 cpputty 連線看看,就可以看到中文了,這樣對我就夠了。

(10) 因為習慣用 free 和 sar 這兩個指令去看記憶體和 CPU 的使用狀況,同時也為了未來能讓 MRTG 獲得系統資訊,所以得先安裝一個套件(free 指令是預設安裝就有的,sar 則是要安裝 sysstat 才會有)
yum -y install sysstat

OK,至此,第一階段完成。

設定 Yum 更新機制(Centos4)

發表於 舊文章 由 minicentos 於 四月 28, 2005

首先必須遠端安裝 KEY:

rpm –import http://ftp2.tnc.edu.tw/pub1/centos/RPM-GPG-KEY-CentOS-4
不會出現什麼訊息,就是安裝好了。

台灣 TNC 的 Mirror 當然是最快的,路徑已經修正,就是上面的這個。

之 前的方式是去修正 /etc/yum.conf,但是在 CentOS 4 裡的 yum.conf ,其實已經不含實際路徑了,而是去讀取 /etc/yum.repos.d 這個目錄下副檔名為 .repo 的檔案;進入該目錄後會發現一個名為 CentOS-Base.repo 的設定檔,裡面的內容就是傳統上的實際路徑;並不清楚這個新機制有什麼特殊之處,我先拷貝一份,更名為 tnc-mirror.repo ,將路徑修改成為 TNC 的鏡像,並將原來的預設檔改名為 CentOS-Base.default,就可以開始更新了。

如果存在多個 .repo 檔,好像也並沒有自己去選擇最近、最快速的,不了解這樣的變動是不是具有特殊意義(或許是為了 SELinux);另外,其實直接將路徑寫在 yum.conf 中也是可以的。

OK,線上使用tnc 鏡像更新完全沒有問題。

後一頁 »

Follow

Get every new post delivered to your Inbox.