虛擬主機空間概念跟你想的不一樣

如果我們購買的主機是每月5美元,提供12G的空間(LINODE),可以儲存70萬個檔案到底夠不夠呢?以安裝一個wordpress加上一堆外掛程式+themes來說,wp主體的程式大約4000個左右,其他的plugins+themes,再加個2倍於wp主體程式約8,000個好了,也不過12,000個,70萬可以安裝多少個wp呢?用於基本用途上,應該不會有不夠的疑慮。那麼到底的我的inode空間被誰吃掉了?在找出這個問題前,讓我們先來看看無限空間虛擬主機的迷思~

無限空間的虛擬主機迷思?

每個月只要美金5.95,大約NT.180元,每年只要NT.2160,就可以享有無限空間和流量的虛擬主機,只是天下沒有白吃的午餐,更沒有賠錢的生意,後面藏著更多的貓膩,是你不知道的,如果一開始沒有仔細看清楚相關TOS(Teams of Service),但我不知道有多少人會為了每個月180元,去仔細看這些英文的條款。

接著我們從knowledge base可以裡面可以查到inode limits,真正的細節恐怕是在這裡了,一般的分享式主機,基本上擁有50000個inodes,最高可以到20萬,不過一旦到達20萬,這個帳號會直接被停權了。

甚到還有限制CPU使用率的,只要超過限制的3%或5%,直接停權。

別再相信枱面上的口號了,連我們日常的購買的泡麵都寫圖片僅供參考了,購買基金悠關消費者權益最重要的事,都用最小號的字體呈現,用最快的語速播報,似乎就害怕你仔細聽到什麼不對勁的地方。

虛擬主機商絕對不是笨蛋,虧本的生意不會有人作的,只在於你懂不懂,「因為內行看門道,外行看熱鬧」,對於一些剛入門的使用者來說,會覺得花一樣的錢,擁有無限空間似乎很爽,但深一層的思考,其實虛擬主機空間計算方式跟你想的不一樣。

磁碟明明還有很多空間,但是偏偏無法建立新檔案,Email也發送不出去,系統明明可以正常運作,例如:後台可以正常的新增資料到資料庫,但就是無法處理上傳檔案或新增檔案等相關的動作,到底發生了什麼問題呢?

虛擬主機推薦VPS

如果可以的話,強烈推薦直接使用VPS,最算用最低的等階,所享有的空間、CPU和流量等資源,都遠遠高於shared hosting;而且以 LINODE VPS虛擬主機 來說,每個月只要5元美金。

管理主機最難的不是安裝,而是解決莫名的問題

曾經在銀行的資訊部門工作過的我,以前對於主管為什麼偏好天價的IBM公司,心理總OS,真的要需要花大錢請這些神花費等級的人員和顧問嗎?離開銀行以後,漸漸有些體會,這些神級的顧問,別人處理問題找答案可能要48小時,但IBM他可能在1小時內,可以準確的判斷問題並保證處理好,光這一點,一切都值得了;因為對銀行而言,對主管而言,錢能解決的問題,通常就不是大問題,因為如果系統的停機不是常態性的維護而是突發,又沒有直正找出問題點,就猶如芒刺在背一樣,彷彿一顆不定時炸彈,不知道什麼時候會突然引爆,小則記個缺點像少一塊肉,大則傷筋動骨被調職或下台一鞠躬;業界甚至盛傳要在主機上放乖乖或主機一整年都不敢重新開機,除非當機,為什麼?不怕一萬只怕萬一,一重開機要是哪一個環結出了狀況,一定人仰馬翻。

往常,只要到服務系統的後台,填寫並送出客服單,就會收到Email提醒信件,但突然之間沒有收到,像這樣的突發的問題,解決的思維模式,就先從源頭找起就對了,先查看mail log,一查之下,結果竟然發現,空間不足,但不可能吧!

查詢主機剩餘空間

空間不足,再立馬查詢主機空間

-h 是指顯示為人類使用的單位,像Mega or Giga Bytes

空間明明還有33%,3.8G,明明空間很足夠啊!到底怎麼一回事呢?

答案揭曉,磁碟空間是還有很多,但另一個限制檔案數量的老大叫inode,inode卻滿了

inode滿了怎麼辨?

先查出整個系統inode的使用狀況,其實inode已經用爆了,這會造成一個非常嚴重的問題,系統的Email寄不出去,客戶該收到的Email沒收到嚴不嚴重!請自行想像~

查詢inode使用狀況

這時如果只是依照網路上的建議刪除一些cache暫存或清除舊安裝檔,可以清出來的inode數量其實非常有限,沒有找出真正的原因,其實很快又要爆了。

接著再透過一層一層的資料夾找出哪些是占用了最多的inode,我們可以使用底下指令協助我們快速的查出該資料夾中,下一層哪些資料夾占用了最多的inode。

找出元兇,接著就是清理的動作了。

接著當我們要使用 rm 想要刪除這數十萬的session垃圾時,竟然又出現了一個錯誤,是老天爺要懲罰我嗎?考驗我的能力嗎?沒關係有Google大神,一切搞定

清完垃圾,inode多出76%

有發現一件很扯的事情嗎?清完php session以後,inode空間竟然多出了57萬,整整多出76%。

找出讓inode爆了的主因

接下來如果只是這樣清完就了事的話,那就有點隨便了,因為這其實就是隱藏性的資訊安全管理問題,沒有找出問題點,下次一定會再爆發。

根據經驗如果程式語言是使用php的話,有很大的可能性是因為session太多,系統又沒有自動清理,這時候只要清理了session,馬上就可以把inodes使用數量清出來囉!但後續呢?請將底下的指令安排到cron job中吧!

cron job定期自動清理

程式品質好壞指標之一

為什麼有些程式要價不菲,有些卻只便宜到一個不行,分享一個小故事,買了無限主機空間的小明,有一天突然發現空間爆了,一般正常使用之下,除非使用者大增,不然可能性極低,因此問題通常不在於表面上看的見的問題,通常在於問題背後的問題,你確定你知道除了空間容量之外,原來主機商還會用inode來限制檔案數嗎?

有二套程式都包含原始程式碼,一個售價5000,一個售價50萬,表面上看起來功能很像,但是先別高興的太早,一旦稍懂程式的你看了原始程式碼,才知道吐血,這種程式可以用嗎?除了架構一團亂之外,程式和html直接混搭,沒有任何的程式說明,混搭就算了,還耍帥,把程式碼壓縮空間,去掉所有的段行,更不用說想要看到有縮排了;不用解釋,這個程式碼是無法後續自行維護的,出了Bug,無法解決,就算要解決所需的費用一定遠比5000元還要更高的成本;回到正題,除了程式碼之外,你確定你什麼都可以掌握了嗎?如果程式的資料庫沒設計好,SQL語法沒優化,10個人同時上線沒問題,但是一旦同時50或100個人在線上,資料庫可能就鎖死了;再來Session處理,你確定你的能力可以一眼看出系統不會混亂的產生session嗎?結果造成主機出現慢性疾病,這個疾病不會造成馬上死亡,但會潛伏在系統的安全控管上面,直到有一天突然爆了,可能只是因為這些session檔案是空的幽靈檔案,把正常位置都占滿了。

前一篇文章價創計劃-Computex InnoVEX創新與新創展區,地天泰農業生技、漢鼎智慧,教授創業商機無限
下一篇文章亞馬遜購物-台灣繁中版,不必會英文也可以暢遊美國Amazon購物
學經歷 淡江大學資訊管理研究所 諸銘科技軟體發開部經理與教育事業部總監 專長 網路創業、網路行銷、創業貸款、個資保護、資訊安全、程式設計(ASP.NET VB.NET MVC C# Core 6) 資安與個資證照:CompTia Security+ , ISO 27701。 演講與課程經歷 工研院講師 勞動部微型創業鳳凰貸款顧問 台北市社會局 衛福部中央健保署 新北市政府勞工局 管科會 中國生產力中心 中衛中心 中山管理教育基金會 中華軟協 南科產協 青創會 青創會內訓 臺北青年職涯發展中心 經濟部樂活創業人才班 中小企業總會 外貿協會 高雄醫學大學 雲林科技大學 台北醫學大學 銘傳大學 明新科大 中台科大 台灣科技大學 師範大學 大葉大學 台北城市大學 聖約翰科技大學 萬能科技大學 輔英科大 明新科大 美和科大 嘉南藥理大學 東南科大 亞太創意技術學院 格致商工 霧峰農工 三重商工 新店戒護所 台南就業處 台灣知識庫 台北景福扶輪社 富邦人壽 台北國際書展

回覆留言

Please enter your comment!
Please enter your name here