2014-08-13

雲端運算的儲存基礎架構 揭開雲端儲存的面貌

雲端運算的儲存基礎架構  揭開雲端儲存的面貌


當前的IT產業中,「雲端」幾乎成了時下最火紅、時髦的代名詞,軟硬體廠商開始將旗下產品逐漸移轉到雲端,或提出各自在雲端架構中的發展方向。其中屬於儲存領域的「雲端儲存」,究竟在整個雲端運算的框架中扮演什麼角色?現在的發展狀況與面臨的瓶頸為何?請看本專題的分析探討。
談到雲端儲存(Cloud storage),簡單來說,就是將儲存資源放到網路上供人存取的一種新興方案。如此一來,使用者可以在任何時間、任何地方,透過任何可連網的裝置方便地存取資料。若方案供應商能進一步確保資料的安全無虞,同時又提供許多資料檢索及管理的功能,使用者又何必不定期地花錢購買、安裝、設定或擴充儲存設備呢?尤其對於定期會有龐大資料備份需求的使用者或企業來說,設備的管理及擴充絕對是一大夢魘及負擔。

就一般使用者而言,雲端儲存及類似方案似乎處處可見。值得注意的趨勢,就是雲端儲存所支援的存取裝置也從電腦主機,慢慢擴展到手機等行動裝置上。換句話說,非透過電腦上網存取資料的時代已然過去,機動性更強的手機提供更具彈性的雲端資料存取方案。當前甚至有雲端音樂串流服務-ZumoDrive的推出,iPod/iPhone的使用者可以事先將音樂丟到線上儲存空間中,然後再透過無線網路播放音樂串流,相當方便。(圖1)

       圖1:ZumoDrive網站上所提供的雲端儲存服務。 

相對於消費端雲端儲存的熱絡,企業端雖然仍處於「只聞樓梯響」的階段,但當前主要的儲存業者,如EMC、HP、HDS、IBM、NetApp…等,早已準備好迎接雲端運算所可能產生的變革,如今就等著「東風」起而全力搶攻。


IT資源轉化為Web服務
雲端儲存是雲端運算架構中的一部分,所以在介紹雲端儲存之前,必須先對雲端運算架構有一些基本的了解。簡單來說,雲端運算就是將運算、儲存及網路,抑或硬體、軟體及平台等IT資源,透過虛擬化之資源利用最佳化,以及可量化計費的服務型態,經由網路分送,給使用者隨時存取的一種服務平台。

該服務就像水電等公共設施一般,使用者不需了解其背後運作技術及狀況,企業用戶也不必耗費可觀的人力及管理成本,進行任何IT設備及資源的管理。所有資源的分配及管理,設備的汰換、更新與擴充,全都由雲端運算供應商負責一切,並依使用者需求提供可擴展性的高可用性服務,至於使用戶則只要按使用量付費即可。

事實上,雲端運算所採用的理論基礎與技術皆非全新,從過去以來的伺服器整合(Server Consolidation)、Web Service、服務導向架構(SOA)、公共運算(Utility Computing)、主機代管等服務或平台上,就已經可以看到與雲端運算概念相似的身影。這也是當前雲端運算一直沒有被明確定義的原因之一。

不論如何,隨著網路頻寬的提昇、Web 2.0與虛擬化技術的日漸普及,雲端運算在上述各種有著相似概念技術、服務或平台長久所奠下的基礎上發展,開始愈受注目與青睞。

在許多技術服務當中,網格運算(Grid Computing)最常與雲端運算相提並論,雖然兩者皆採分散式運算架構,但事實上,卻有很大差異,其中尤以資源擴展性最為明顯。前者強調所有運算資源集中化,以因應需要大規模運算的應用任務,缺乏擴展彈性;後者適用於多重用戶之大量單一請求,並依不同個別需求調配資源,具備動態擴展能力。


資源配置與管理介面 
要達到資源隨需分配、隨需擴展的彈性,雲端運算必須融合許多技術,例如分散式運算、SaaS、Web Service與伺服器虛擬化等,尤其是伺服器虛擬化技術,在這幾年的推展下,不論是資源利用率的提昇,乃至降低電力、散熱所達成的節能減碳效益,都為雲端運算發展奠下厚實的基礎,使其不但可發揮動態擴展性與多重用戶(Multi-tenancy)的經濟效益,並有效降低IT資源的使用成本。

伺服器虛擬化允許多作業系統與相關應用軟體可同時運行在單一實體機器中的特性,可協助企業加速完成基礎架構即服務(Infrastructure as a Service, IaaS)方案的部署。所謂IaaS資源大致是指儲存、網路與運算等三種資源而言,使用者可針對特定屬性的虛擬機器,指定搭配不同用量的資源配置(例如配置該機擁有1GB記憶體、320GB硬碟等)。(圖2)

圖2:雲端運算架構模型。(資料來源:IBM)

該方案允許快速的應用程式資源配置,基礎架構之上的底層作業系統,也可依負載控制需求進行擴展或縮小。也因為如此,使用中的資源較能與應用軟體的需求做良好的搭配。當前IaaS方案多半提供了基於REST(REpresentational State Transfer)式的HTTP操作介面,透過該介面,可允許在其基礎架構上進行虛擬映像檔的部署、管理,以及資源的指定分配。

REST介面並沒有其他協定的額外負擔,它允許使用者可以簡易地存取其伺服器。每個資源皆透過獨一無二的URI(Uniform Resource Identifier)定址,同時基於CRUD(Create創建、Retrieve檢索、Update更新、Delete刪除)四個操作,資源因而能被控管。


三種雲端運算架構 
依照Wikipedia的定義,如圖3,雲端運算在建置架構上大致分成三個階層:應用程式、平台與基礎設施,並由此分別提供三種型態服務:

圖3:雲端運算架構階層堆疊。資料來源:Wikipedia





















1.軟體即服務(SaaS)

在此階層中,主要是以雲端應用程式(Cloud Application)來提供各種SaaS服務,存取該服務的使用者不需要下載或安裝任何程式,就可以直接透過瀏覽器存取雲端應用程式所提供的功能與服務。透過該服務,使用者不用對軟體進行排錯、更新等維護作業,對於使用管理負擔及成本的降低有不小的助益。不僅如此,比起自行建置的系統與程式,SaaS提供了更高可用性的不中斷服務。

當前市面上不乏許多通行已久的SaaS服務,其中最耳熟能詳的莫過於Google Apps與Saleforce.com。採用P2P技術的Skype、趨勢科技的雲端防毒,以及YouTube、Facebook、Twitter等Web應用程式,皆屬於不同類型的SaaS服務。微軟在既有商用軟體上,另外提供相對應線上軟體服務也是其中一種。在儲存方面,目前Amazon所提供的自助式內容分派服務CloudFront,以及支援檔案共享與資料同步化服務的微軟Live Mesh,皆屬於採用分散式雲端儲存技術的SaaS服務。

2.平台即服務(PaaS)

所謂PaaS,指的是提供運算平台或解決方案服務化而言。它仰賴雲端基礎設施之資源,支援雲端應用的不同功能,並提供整合的API。PaaS好處在於應用程式的部署更簡便、有效降低底層軟硬體架構採買及管理成本。常見的服務包括Microsoft Azure、Google Engine、Google Custom Search、Yahoo! BOSS等。至於Amazon SimpleDB、Amazon S3、Nirvanix等,則屬於提供結構化雲端儲存機制的PaaS服務。

3.基礎設施即服務(IaaS)

至於IaaS意指雲端基礎架構(Cloud Infrastructure),也就是將運算、儲存及網路等資源轉化為標準化服務,以提供內外部使用者存取之用。為了讓資源有效管理與應用,IaaS多半藉助虛擬化技術來完成伺服器整合之基本作業。目前市面上的IaaS服務,在運算資源分派服務上,有Amazon CloudWatch,以及提供虛擬機器服務的Amazon EC2;在網路資源分派服務上,則有Amazon VPC虛擬私有雲端;在原生儲存資源分派服務上,則以Amazon EBS為代表。

除了上述三個服務階層外,整個雲端運算架構中還有最頂層的用戶端,以及最底層的伺服器。對於雲端運算而言,其服務對象即為用戶端。用戶端可透過桌機、筆電、Thin Client,甚至手機、PDA等行動裝置內建的瀏覽器來存取雲端運算服務。

就Thin Client與手機等裝置來說,裝置本身並不需要強大的硬體效能,也不用安裝任何軟體,只要有簡單好用的瀏覽器,就可以隨時隨地享受雲端服務所帶來的種種好處。至於伺服器,當然是雲端運算提供各種服務的最重要基礎設備,即使是可以提昇整合效率的虛擬化軟體,也必須藉助伺服器的安裝才行。在伺服器類型上,同時具備高密度運算容量,並有效提昇管理及佔用空間效益的刀鋒伺服器愈見青睞。


三大雲端部署類型
上述三種類型服務的雲端,若是供企業內部使用,即為私有雲端(Private Cloud),如果是營運商專門建置用來提供外部用戶使用,並藉此營利者稱為公共雲端(Public Cloud),說明如下:

圖4:雲端運算部署型態。(資料來源:Wikipedia)

公共雲端
一般雲端運算多半是指公共雲端而言,又稱為外部雲端(External Cloud)。其服務供應商能提供極精細的IT服務資源動態配置,並透過Web應用或Web服務,提供網路自助式服務。對於使用者而言,完全不需知道伺服器的確切位置,或什麼等級伺服器,所有IT資源皆有遠端方案商提供。而且該廠商必須具備資源監控與評量等機制,才能採取如同公用運算般的精細付費機制。EMC Atmos即為此例。

對於中小型企業而言,公共雲端提供了最佳IT運算與成本效益的解決方案;但對有能力自建資料中心的大型企業來說,公共雲端難免仍有安全與信任上的顧慮。不論如何,公共雲端改變了既有委外市場的產品內容與型態,提供裝置設定,以及永續IT資源管理的代管服務,對於主機代管等委外市場會產生影響。


 私有雲端
私有雲端又稱之為內部雲端(Internal Cloud),相對於公共雲端,此概念較新。許多企業由於對公共雲端供應商的IT管理方式、機密資料安全性與賠償機制,會有信任上的疑慮,所以紛紛開始嘗試透過虛擬化或自動化機制,來模擬建置內部網路中的雲端運算。

內部雲端的建置,不但提供更高的安全掌控性,同時內部IT資源不論在管理、調度、擴展、分派、存取控制與成本支出上都更具精細度、彈性與效益。其建置難度不小,當前已有HP BladeSystem Matrix、NetApp Dynamic Data Center等整合型基礎架構方案的推出,以HP BladeSystem Matrix為例,其組成硬體包括BladeSystem c7000機箱,撘配ProLiant BL460c G6刀鋒型伺服器、StorageWorks Enterprise Virtual Array 4400,以及管理軟體工具HP Insight Dynamics-VSE,即試圖藉此方案得以減低建置技術的門檻,在可見的未來取代資料中心,成為資料中心未來蛻變轉型的終極樣貌。


 混合雲端(Hybrid Cloud)
所謂混合雲端,意指企業同時擁有公共與私有兩種型態雲端而言。當然在建置步驟上會先從私有雲端開始,待一切運作穩定後再對外開放,企業不但可提昇內部IT使用效率,也可藉由對外的公共雲端服務獲利。

如此一來,原本只能讓企業花大錢的IT資源,也能轉而成為營利的工具。企業可將這些收入一部分用來繼續投資在IT資源的添購及改善上,不但內部員工受益,同時也提供更完善的雲端服務。也因為如此,混合雲端或許會成為今後企業IT建置的主流模式。此型態的最佳代表,莫過於提供簡易儲存服務(Simple Storage Service;S3)及彈性運算雲端(Elastic Compute Cloud;EC2)服務的亞馬遜(Amazon)。


雲端儲存的樣貌
如前述,雲端儲存是指雲端運算架構中的儲存部分,從底層的IaaS、中層PaaS到頂層SaaS都可以看到其身影,其中尤以底層儲存資源的網路服務化最為重要。或許可以簡單地說,雲端儲存就是儲存即服務(Storage as a Service)的意思。

事實上,雲端儲存既可以看做雲端運算架構中的重要組成份子,當然也可以個別拉出成為獨立的Web服務。就像雲端運算的組成架構一樣,一個完備的雲端儲存也有許多階層,雖然劃分方式及名稱不同,但與前者階層架構仍有許多相似之處。

舉例來說,雲端儲存的核心即為儲存層,就如同雲端運算中的IaaS階層,是由分散在不同區域的各類型儲存設備所組成,不論是DAS,抑或FC SAN、iSCSI或NAS等IP儲存設備,皆可透過支援儲存虛擬化技術的集中化管理系統整合在一起。透過管理系統,可以進行所有儲存設備的遠端監控、排錯等作業;而最重要且最困難的部份則是應用中介層,此類似於雲端運算中的PaaS階層,必須達到不同儲存設備間的協同運作,並提供單一整合服務。

在使用上,使用者不論身在何處或任何時間,只要透過Web-based應用程式,即可上網直接存取資料。即時面對任何特定需求,例如串流資料檔之存取,雲端儲存系統也可隨時動態新增擴充來加以支援。

再就傳輸介面來說,HTTP可說是最通用的通訊協定。換句話說,它使得使用者只要透過瀏覽器便可遠端存取資料,而不必進行任何編碼程序,同時相對應的應用程式會隨即被啟動呼叫。但為了解決網路資料的定址與操作問題,具備URI定址能力,並支援CRUD操作原理的REST介面,遂成為當前許多雲端儲存產品一致採用的資料物件介面。

對於雲端運算所啟動的映像檔,雲端儲存大多能透過傳統區塊及檔案介面,像是iSCSI或NFS來提供。這些映像檔為虛擬機器所掛載,並派送到使用雲端運算的用戶系統上。至於傳統磁碟及檔案系統也能一樣地被配置。雲端運算應用軟體,一旦被運行,當然也能使用資料物件介面。

比起專用設備,雲端儲存的最大特點不在功能或介面上,而在於隨選派送功能的支援上。更重要的是,它可實現不同儲存裝置之間的協同運作。面對區塊儲存或檔案系統,雲端儲存可對單一LUN或虛擬Volume提供精細的分配外,實際的儲存空間能被隨需配置,同時並採取用多少就付多少的付費機制。

藉由一些壓縮或資料重複刪除等技術,並可進一步減少儲存空間的用量。針對儲存管理,則多半採用典型之頻外(Out-of-band)標準資料儲存介面,另外也可透過API,抑或Web-based使用者管理介面。該介面當然也可以將快照與複製等其他資料服務功能納入。


首要解決異質平台協同問題 
不論是雲端運算或雲端儲存,虛擬化技術都是其中不可或缺的重要促因與基礎。但儲存虛擬化並不像推展已久的伺服器虛擬化那麼普及與順利,因為其中仍有許多待解決的難題存在。

這是因為當前各種儲存方案與技術十分繁雜而多樣,光從一家企業內部可能同時存在各種不同類型儲存裝置的狀況便知一二。更何況不同儲存設備供應商間的儲存環境一直存在相容性問題,所以喊了多年的儲存整合,仍舊難以如企業需求所願,這也是儲存虛擬化與雲端儲存推展上的最大阻力。

雖然儲存雲端在某方面很容易跨入(例如線上儲存與備份),但另一方面想要透過私有雲端儲存來達成全面性之儲存整合,似乎不是那麼容易的事情。對此,HP建議指出,想要成功完成儲存虛擬化目標必須改善企業既有IT儲存環境,其改善重點不外共通分享的儲存架構、親和的使用環境、簡潔單一的操作介面,以及效能卓著的儲存方案等。其中,不論是單一操作介面或統一標準的API,更是解決不同儲存裝置間協同問題的關鍵之一。(圖5)

圖5:虛擬化儲存架構的層級分類。(資料來源:HP)

對於IaaS基礎架構而言,擁有一個可程式介面,意味著使用者可以撰寫一個可透過該介面來管理雲端使用狀況的用戶端軟體,而這也是當前充斥許多API的原因。不僅如此,許多雲端方案供應商並且免費地授權其專利API,好讓使用者能夠藉此打造出相同的雲端基礎架構。

儘管有許多Open API,但是許多雲端社群會員已經開始放慢制式地採用單一公司專利介面的腳步。雖然開源社群開始一些嘗試性的回應動作,但仍無法扼止API激增的狂潮。事實上,對於雲端運算而言,其所需要的標準API,應該得符合中立特色,同時廠商實施風險最小且最穩定可靠才行。如此才可讓客戶將其應用程式堆疊從一個雲端供應商,方便無礙地轉移到其他供應商。


OCCI開放雲端運算介面 
面對上述問題,開放網格論壇(Open Grid Forum, OGF)早已成立專責介面標準化的工作小組。其所制定的開放雲端運算介面標準(Open Cloud Computing Interface, OCCI),即為一個免費、開放、為社群共同接納推動,且以雲端基礎架構服務為鎖定目標的介面標準。藉由該API,資料中心與雲端夥伴可以免受現有一堆專利或開放雲端API之間歧異不相容之苦。

面對雲端基礎架構服務所組成之關鍵元件,目前OCCI是採用資源導向架構(Resourced Oriented Architecture, ROA)來表示。同時,每個由簡潔URI標示的資源可擁有許多不同的描述呈現方式(例如可以超文件來表示)。OCCI工作小組正規劃在API中加入許多格式的支援,在初始版本中,Atom/Pub、JSON及Plain Text等標準都被納入支援行列中。

該版本並且規定一個單獨URI進入點(Entry Point)定義一個OCCI介面,該介面顯示「Nouns」內含屬性,其中的「Verb」會被執行。原則上,該屬性會以鍵值對(Key-value pairs)表示,而適當的動詞則以連結(Link)表示。重要的是,該屬性會以URI來描述。(圖6)

圖6:OCCI介面URI對齊IaaS資源示意圖。(資料來源:SNIA)

該API不僅提供CRUD操作,且分別與HTTP Verb的POST、GET、PUT及Delete等參數相對應。HEAD與OPTIONS等Verb參數可用來檢索詮釋資料(Metadata)與有效操作,而不需要實體主體來增進效能。所有HTTP功能均能利用現有網際網路基礎架構,包括快取、代理、閘道及其他進階功能。再者,所有詮釋資料,包括資源間的關聯性會透過HTTP表頭對外公開。該介面原生地以ATOM表示,並盡可能地接近底層HTTP協定來執行。

OCCI會提供對基礎架構服務之定義、創建、部署、操作及退出的管理功能。透過簡易服務生命週期模型,可支援由雲端供應商提供的基本通用生命週期狀態。在事件中,供應商並不會提供或報告服務生命週期狀況,OCCI並不會強制遵行,而是將生命週期模型定義成提議書,供雲端供應商遵循。

參照OCCI,雲端運算用戶端可啟動執行全新應用程式堆疊,並管理其生命週期與其採用的資源。為了執行像是來自SNIA CDMI介面所導出的應用程式堆疊,透過OCCI介面即可分派儲存至特定虛擬機器。SNIA機構並表示,接下來該組織會進一步對儲存管理與其中資料管理之方法途徑進行檢驗。

圖6:OCCI介面URI對齊IaaS資源示意圖。(資料來源:SNIA)

擔負雲端儲存標準介面制定重任的SNIA
在介紹完雲端運算的標準介面之後,接著讓我們看看雲端儲存統一標準介面的制定狀況。國際間致力於儲存標準制定工作的儲存網路產業協會(Storage Networking Industry Association, SNIA),是當前雲端儲存標準的主要推動者,致力於儲存系統統一標準與API介面的開發作業,用以集中搜尋、監控並管理不同廠牌及標準的儲存設備。

由於各家儲存系統的標準不一,異質儲存裝置所構成的網路儲存系統的協同管理,一直是當前最急迫待解的問題。透過標準化介面,即使各家系統內部各有不同的運作功能與標準,但仍能透過統一介面進行溝通,從而實現並發揮協同管理的最大效益,且各家產品仍能保留進行自身標準及技術功能的研發。


雲端儲存計畫正式推動
對於雲端儲存發展有著里程碑一般深遠意義與影響的,莫過於SNIA組織於2009年10月12日對外發佈雲端儲存計畫(Cloud Storage Initiative, CSI)的正式推動。該計畫是在2009年秋季舉行的年度盛會-儲存網路世界大會(SNW Fall 2009)上正式發表。發起成員包括EMC、HP、HDS、LSI、NetApp、Sun、Symantec與Xiotech(Seagte子公司)。CSI計畫的工作內容主要包括雲端儲存技術及標準的推廣與技術合作,同時並與業界共同推廣雲端儲存相關技術的培訓、開發與應用發展。

當前雲端儲存互通性與協同管理的最重要且急迫的工作,莫過於統一標準介面的制定。對此,SNIA特別成立專門性的雲端儲存技術工作小組(Techical Working Group, TWG),如圖8,目前該小組已有30家廠商共140名技術成員的加入。該小組會與SNIA、CSI各單位及會員,乃至其他雲端產業組織共同合作。其主要工作項目大致包含開發雲端儲存參考模型、最佳應用方案與實例。當然最重要的任務莫過於制定雲端儲存產品之統一管理標準介面(亦即CDMI標準API的制定與推廣)。(圖9)

圖8:SNIA雲端儲存技術工作小組組織架構圖。

圖9:雲端儲存參考模型。(資料來源:SNIA)

 CDMI雲端儲存全新標準介面
目前由SNIA草擬的CDMI(Cloud Data Management Interface)介面標準之最新版本為0.80版,預計明年將會推出正式的1.0版。由於各家儲存方案介面標準不一,所以當前不論是儲存虛擬化或雲端儲存,皆深為儲存資源無法有效協同運作的問題所苦。對此,CDMI介面的制定,就是為了強化雲端儲存與資料管理的協同作業。

在CDMI架構中,被上層介面所揭示的下層儲存空間,是以抽象化的容器(Container)概念來表示。所謂容器不僅僅是儲存空間的有用抽象化,同時也做為儲存在其中資料的群組,抑或總體應用數據服務的控制點。至於CDMI不只提供具備CRUD基本操作概念的資料物件介面,同時也可以用來管理被雲端運算基礎架構所傳送使用的容器。

對於雲端運算來說,CDMI提供了通用雲端運算管理基礎架構,同時原本資訊管理的重點已漸漸從儲存管理轉移圍繞在資料管理上。CDMI標準則可以協助使用者將特殊詮釋資料(Metadata)標記在資料上,該詮釋資料會告訴端點儲存供應商,什麼樣的資料服務提供該資料(例如備份、歸檔、加密等)。

這些資料服務都會將鍵值加入到使用者存在雲端上的資料中,然後透過CDMI標準介面的執行,使用者可在不同雲端供應商間任意移動資料,而不再需要忍受不同介面中一再重新編碼的痛苦。


標準化運算及儲存的協同運作 
再就可存取的CDMI容器來說,其不僅藉由CDMI做為資料通道,同時也可採用其他協定來存取資料,尤其是以CDMI做為雲端運算環境的儲存介面。輸出的CDMI容器能被雲端運算環境中的虛擬機器當成每一個用戶上所顯示的虛擬磁碟機來用。

較令人期待的是,雲端運算基礎架構管理可同時支援OCCI及CDMI兩種標準介面。為了達成協同運作,CDMI內含可導出OCCI介面所獲得的資訊,OCCI則提供被導出CDMI容器相對應的儲存。

其操作執行的範例如下:
1.用戶端透過CDMI介面創建一個CDMI容器,並將其轉換成一個OCCI導出型態。CDMI容器ObjectID會回報結果。
2.用戶端接著透過OCCI介面創建一個虛擬機器,並藉由該ObjectID附加一個CDMI類型之儲存容量。OCCI虛擬機器ID會回報結果。
3.接著用戶端以OCCI虛擬機器ID進行CDMI容器物件導出資訊的更新作業,如此才能讓虛擬機器存取該容器。
4.最後用戶端再透過OCCI介面啟動虛擬機器。

OCCI及CDMI可說是專門讓雲端運算及雲端儲存達成協同運作的標準化作業(圖10)。該標準是透過OGF與SNIA兩者間的策略聯盟,以及透過跨SDO雲端標準協同小組之協調一致才達成。OCCI可充份利用CDMI已配置好,以及設定完成的儲存。一旦兩個介面採用相同原理及技術,單一用戶將能同時管理應用程式的運算與儲存需求,並且符合配置在兩介面上需求的同時擴展。

圖10:整合式雲端運算環境CDMI及OCCI介面協同運作架構。(資料來源:SNIA)

小結 
雲端儲存與雲端運算一樣,必須經由網路來提供隨選分派的儲存資源。重要的是,該網路必須具備良好的QoS機制才行。對於用戶來說,具備彈性擴展與隨使用需求彈性配置的雲端儲存,可節省大筆的儲存設備採購及管理成本,甚至因儲存設備損壞所造成的資料遺失風險也可因此避免。總之,不論是端點使用者將資料備份到雲端,抑或企業基於法規遵循,或其他目的的資料歸檔與保存,雲端儲存皆可滿足不同需求。

至於IT資源要能實現彈性隨需配置,還須仰賴各種不同平台領域之間的協同工作才能達成。而國際標準的制定,正有助於整個雲端運算相關產業的應用發展,讓雲端的精神不再那麼遙不可及,而是落實到實際IT架構的應用。
                                                                                                                   
                               

                                                                                                                            【原文刊載於RUN!PC雜誌】

2014-08-12

yum 基本介紹和參數說明

yum 基本介紹和參數說明


前言 :
想必大家對yum這個指令應該不陌生吧。清清鬆鬆就把想要的東西安裝好了。但是真的了解yum的人應該就不多了。所以今天就來介紹一下yum吧。

一、yum介紹
YUM 是一個自動安裝工具,它可以幫助RPM系統安裝,移除,升級軟體套件(應用程式,函式庫等)。您不需要在一一檢查手冊查閱相依性需要的套件,它能夠自動檢測軟體安裝時的相依性。這使得我們在管理(升級,安裝,移除)相關群組時更加簡單便利。
您可以使用YUM擴充套件的界面來安裝簡單的功能。您也可以從其他Python程式來使用(大部份Linux的YUM使用python實作)

二、yum移除與安裝

1.查詢是否有安裝yum
檢視原始檔複製到剪貼簿列印關於

[root@localhost ~]#  rpm -qa | grep yum

#若有看到以下內容就比較有安裝
yum-metadata-parser-1.1.2-3.el5.centos
yum-3.2.22-33.el5.centos
yum-fastestmirror-1.1.16-14.el5.centos.1
yum-updatesd-0.9-2.el5


2.移除yum (移除的方式有兩種擇一即可)
2.1用yum的方式移除
檢視原始檔複製到剪貼簿列印關於
[root@localhost ~]#  yum remove yum*


2.2用rpm -e的方式移除

#先查看有那些yum檔案要移除的
檢視原始檔複製到剪貼簿列印關於
[root@localhost ~]#  rpm -qa | grep yum

yum-metadata-parser-1.1.2-3.el5.centos
yum-3.2.22-33.el5.centos
yum-fastestmirror-1.1.16-14.el5.centos.1
yum-updatesd-0.9-2.el5


#移除yum

檢視原始檔複製到剪貼簿列印關於
[root@localhost ~]# rpm -e yum-metadata-parser-1.1.2-3.el5.centos
[root@localhost ~]# rpm -e yum-3.2.22-33.el5.centos
[root@localhost ~]# rpm -e yum-fastestmirror-1.1.16-14.el5.centos.1
[root@localhost ~]# rpm -e yum-updatesd-0.9-2.el5


三、安裝yum
1.安裝源
在安裝源的部份可以到以下的網址查看
請依自行的需要找到安裝源
i386 :
http://mirrors.sohu.com/centos/5/os/i386/CentOS/
http://mirror.centos.org/centos-5/5/os/i386/CentOS/

x86_64 :
http://mirrors.sohu.com/centos/5/os/x86_64/CentOS/
http://mirror.centos.org/centos-5/5/os/x86_64/CentOS/

在yum的部份主要是使用到以下4個檔
yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm
yum-fastestmirror-1.1.16-16.el5.centos.noarch.rpm
yum-3.2.22-37.el5.centos.noarch.rpm
yum-updatesd-0.9-2.el5.noarch.rpm

2安裝yum
i386
檢視原始檔複製到剪貼簿列印關於
[root@localhost ~]#  rpm -ivh  http://mirror.centos.org/centos-5/5/os/i386/CentOS/yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm http://mirror.centos.org/centos-5/5/os/i386/CentOS/yum-fastestmirror-1.1.16-16.el5.centos.noarch.rpm http://mirror.centos.org/centos-5/5/os/i386/CentOS/yum-3.2.22-37.el5.centos.noarch.rpm http://mirror.centos.org/centos-5/5/os/i386/CentOS/yum-updatesd-0.9-2.el5.noarch.rpm
[root@localhost ~]# rpm -qa |grep yum
yum-updatesd-0.9-2.el5
yum-metadata-parser-1.1.2-3.el5.centos
yum-fastestmirror-1.1.16-16.el5.centos
yum-3.2.22-37.el5.centos



x86_64
檢視原始檔複製到剪貼簿列印關於
[root@localhost ~]#  rpm -ivh  http://mirror.centos.org/centos-5/5/os/x86_64/CentOS/yum-metadata-parser-1.1.2-3.el5.centos.x86_64.rpm http://mirror.centos.org/centos-5/5/os/x86_64/CentOS/yum-fastestmirror-1.1.16-16.el5.centos.noarch.rpm http://mirror.centos.org/centos-5/5/os/x86_64/CentOS/yum-3.2.22-37.el5.centos.noarch.rpm http://mirror.centos.org/centos-5/5/os/x86_64/CentOS/yum-updatesd-0.9-2.el5.noarch.rpm
[root@localhost ~]# rpm -qa |grep yum
yum-updatesd-0.9-2.el5
yum-metadata-parser-1.1.2-3.el5.centos
yum-fastestmirror-1.1.16-16.el5.centos
yum-3.2.22-37.el5.centos


2.2更新所有已安裝的套件(依個人需求看是否更新)
檢視原始檔複製到剪貼簿列印關於
[root@localhost ~]#  yum -y update


四、yum指令說明
在使用yum時,會將下載的東西,存放在/var/cache/yum目錄下。
1.yum更新
yum check-update
#檢查能更新的套件有那些

yum update
#更新所有已安裝的套件,若在update後面接上套件名稱的話可針對該套件更新
如yum update httpd

yum upgrade
#功能看update差不多,差別在於yum upgrade會連同一些過舊即將洮汰的套件也一起更新,大多使用在版本升級。

1.1安裝移除套件
yum install
#安裝套件,install後面接要安裝的套件名稱,如yum install httpd。若要把所有相關的一起安裝的話可在最後加上「*」。如yum install httpd*

yum remove
#移除套件在這邊會考慮到相依性的問題,remove後可接要移除套件名稱,如yum remove httpd。若要把相關套件也一起移除的話可在最後加上「*」。如yum remove httpd*

yum clean
#清除安裝下載時的暫套件原始檔,大多是存放在/var/cache/yum,通常會下yum clean packages或是yum clean all,一次全刪除。

1.2清暫存
yum clean
#清除安裝下載時的暫套件原始檔,大多是存放在/var/cache/yum

yum clean packages
#用來清除暫存(/var/cache/yum)目錄下的套件

yum clean headers
#用來清除暫存(/var/cache/yum)目錄下的 headers

yum clean oldheaders
#用來清除暫存(/var/cache/yum)目錄下的 oldheaders

yum clearn all
#直接把所有的站存都一次清除。

1.3列清單
yum list
#列出所有的套件,若在list後面接套件名稱,則可單獨列出該套件。

yum list updates
#列出所有可以更新的套件

yum list installed
#列出所有已經安裝的套件

yum list extra
#列出所有已安裝但不在 yum Repository 內的套件

1.4列出套件的相關資訊
yum info
#列出所有套件的相關資訊,若在info後接上套件名稱,則可單讀該套件相關資訊。
如yum info httpd 或yum info httpd*,差別在於有加「*」則會把以httpd開頭的都列出來

yum info updates
#列出所有可以更新的套件資訊

yum info installed
#列出所有已安裝的套件資訊

yum info extras
#列出所有已安裝但不在 Yum Repository 內的套件資訊


1.5搜尋功能
yum search
#搜尋所有相關的套件,如yum search httpd,在從中找到所需要的套件。類似關鍵字的用途

五、升級不動kernel
如果想要用yum來升級套件,但又不想動到kernel的話。請參考下面做法
[root@localhost ~]# vim /etc/yum.conf
#在[main]當中加入下面字串
exclude=kernel kernel-source

雖然說yum的用法很多,但是一般常用的大概就是安裝、更新和移除。剩下的等有用到才查看就可以了。

六、yum FAQ
有關yum常見的問題可以參考官網的解答
http://yum.baseurl.org/wiki/Faq

2014-08-06

How to disable IPV6 on Windows Server 2012 and Hyper-V 2012 from power shell

How to disable IPV6 on Windows Server 2012 and Hyper-V 2012 from power shell


Another simple one that disables IPV6 from powershell for Server and Hyper-V 2012.

New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\services\TCPIP6\Parameters -Name DisabledComponents -PropertyType DWord -Value 0xffffffff

So that’s one command and you can simply copy and paste into power shell. You will need to have admin privs for this to work.

2014-07-31

【 Windows Server 2012 】桌面 顯示(我的電腦、等其它圖示 )

【 Windows Server 2012 】桌面 顯示(我的電腦、等其它圖示 )


win 2012 桌面 顯示(我的電腦、等其它圖示 )

win 鍵 + R

直接輸入:

rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0

就可以跑出 (自訂桌面顯示圖示)
再點你要的圖示在桌面上顯示

參考(圖說)網址:http://wenku.baidu.com/view/c458b8a8284ac850ad0242ad.html

2014-07-18

IT產品有後門?中國政府為國安把關,台灣自由選用雲端服務

IT 產品有後門?中國政府為國安把關,台灣自由選用雲端服務


暨今(2014)年5月Windows 8被大陸中央政府禁止採購之後,日前又傳出中國公安部發布通知禁止採購與使用賽門鐵克DLP,理由是內藏竊密後門與漏洞,並進一步呼籲改用中國國產軟體。大陸政府對於涉及國安與公共利益的系統所採用的技術已制訂安全審查機制,而台灣卻仍各機關各自決定,無一套標準,相當民主自由。 


媒體報導之後,中國賽門鐵克隨之發表聲明,表示該產品絕無後門,且其DLP產品於2011年已取得產品銷售許可證。根據熟悉DLP的業界人士指出,DLP產品中應該沒有任何程式會將資料回傳原廠,亦不會有錯誤通報功能的程式。不論如何,可以確定的是美國IT產品在中國市場遇到了極大的阻礙。根據大陸媒體報導,在5月下旬中國國家互聯網信息辦公室亦規定凡涉及國家安全和公共利益的系统所使用的信息技術產品和服務,都將進行安全審查,而這些措施也都有利於中國國產廠商。

反觀台灣在上(6)個月傳出環保署導入Gmail系統做為公務使用,引起專家學者對於國安外洩的隱憂,儘管環保署回應表示,在合約中已要求承商需盡保密義務,且對機密文件另訂有管控流程。但兩相比較之下,台灣政府對於外商IT產品/雲端服務相對地「公平、公正、公開」。

對於公務機關採用Gmail服務,某政府機關資訊長A先生直言此舉十分不妥。他指出,存在Google雲端服務裡的資料擺在哪裡沒人知道,同一份資料會複製三份,且在台灣沒有司法管轄權,資料即使被拿走也不能怎樣。除了Gmail之外,A先生提醒,伺服器存放在國外的Line也更是近期公務機關應慎防資料外洩的管道。

本土Webmail廠商網擎資訊執行長廖長健也強調司法管轄權的問題,一旦有國土安全議題或相關訴訟事件發生時,國外雲端服務供應商勢必會遵循該國法令要求,而調閱資料,客戶可能完全不知情,或者也無能阻止,這等於是將管理權交給別人。再加上,一旦發生資安事件,雲端服務供應商能否配合提供log作為調查?儘管可以在合約上要求,但在實務技術層面可能會有難度。因此,凡是與民眾福祉相關的公務機關或金融單位都應審慎評估採用此類服務的影響。

對此,掌管金融機構的金管會對於金融業採取雲端服務就有嚴格要求,由於銀行存有民眾帳戶、存款等重要資料,因此規定金融業的雲端服務供應商資料中心必須設立在台灣。廖長健進一步指出,網擎的Web mail雲端服務亦有日本政府採用,是因為網擎在日本也直接設立資料中心,且維運人員也是日籍工程師,符合日本法規。

臺灣網路防護協會樊國楨教授也表示,政府機關資訊系統委外的政策應謹慎考量國際法相關規定,根據北大西洋公約組織邀各國專家制訂的塔林手冊(Tallinn Manual on the International Law Applicable to Cyber Warfare),已使用數位基礎設施(Cyber Infrastructure)的名稱將關鍵基礎設施列為國家主權標的中,然而Gmail此類雲端郵件服務在戰爭時的國家主權卻可能不屬於我國。再加上此類郵件服務不屬於核電廠等禁止發動「資訊戰」之CI,卻是APT攻擊常見的標的,因此政府將電子郵件系統委外的資訊政策應該再審慎研議。

除了司法管轄權、國家安全/國家主權等議題之外,站在產業發展的角度,A先生認為扶植廠商有其必要,尤其是有資安國安疑慮的產品應該以國產為優先,例如email或手機。他認為,政府應該出來制訂一套統一的採購標準,哪些是採購國產產品為宜,哪些不受限制。而對於外國產品,也不應獨排中國,不論中國或美國都應一視同仁。

轉載 不及格網管


2014-07-17

使用 SCP 指令,讓您傳送檔案至遠端、下載檔案

使用 SCP 指令,讓您傳送檔案至遠端、下載檔案


當我們使用 Linux 系統時,可能需要一些傳送檔案的動作,此時就可以使用 SCP 這個指令,即可不須透過隨身碟等方式,幫你將檔案傳送至另一端 Linux 電腦~

接著我們看看如何使用~~
假設我們有兩台電腦…..

A電腦 IP : 1.1.1.1
B電腦 IP : 1.1.1.2

[上傳]若目前使用A電腦,我們要將 A電腦 某個檔案,傳送至 B電腦 中,可以這麼輸入
scp  [-P  Port]  [-pr]  [-l  速度]  [傳送至遠端的檔案]  [遠端帳號@IP:放置的路徑]
ex.  scp  -P  1234  -pr  /home/user/temp/  test@1.1.1.2:/home/test/test/

[下載]若目前使用A電腦,我們想從 B電腦 某個檔案,下載至 A電腦 中,可以這麼輸入
scp  [-P  Port]  [-pr]  [-l  速度]  [遠端帳號@IP:檔案路徑]  [儲存至本機的路徑]
ex.  scp  -P  1234  -pr  test@1.1.1.2:/home/test/test/  /home/user/temp/

參數說明

[-P  Port]  scp 指令預設是走 22 Port ,若想走其他 Port 可以加入此參數
[-p]  保留原檔案的屬性(權限)資料
[-r]  若要傳送目錄時,要記得家此指令才可以傳送整個目錄
[-l  速度]  限制傳輸速度,單位為  Kbits/s

郵件的傳送流程、MUA、MTA、MDA

郵件的傳送流程、MUA、MTA、MDA


先說明什麼是MUA,MTA與MDA,然後說明信件的傳送流程。

MUA(Mail User Agent):顧名思義,MUA就是“郵件用戶代理”。舉個例子,Windows裏的OutLook Express、Netscape裏的mail功能與KDE裏的Kmail都是MUA。MUA主要的功能就是接收郵件主機的電子郵件,並提供用戶瀏覽與編寫郵件的功能。 MTA(Mail Transfer Agent):MUA是用在Client端的軟件,而MTA是用在郵件主機上的軟件,它也是主要的郵件服務器。MTA就是“郵件傳送代理”的意思,既然是 “傳送代理”,那麼用戶寄信與收信時,都找MTA就對了 MDA(Mail Delivery Agent):“郵件投遞代理”主要的功能就是將MTA接收的信件依照信件的流向(送到哪裏)將該信件放置到本機賬戶下的郵件文件中(收件箱),或者再經由MTA將信件送到下個MTA。了解了MUA,MTA與MDA之後,下面說說如何將信寄出去。可以分爲幾個步驟。

Step 1 用戶利用MUA寄信到MTA。通常我們使用MUA(例如Outlook express)寫信時,要寫明幾個項:
發信人與發信網站:必須有這個信息。發信網站就是下面Step 2接收信件的那個MTA;
收信人與收信網站:以account@e-mail.server 的形式給出,其中,account就是該e-mail.server裏的賬號。      在圖20-1左上角的那臺機器上,也就是“本地客戶端使用的電腦”,利用MUA功能(如Outlook express)寫好信之後,按下MUA的“發送”按鈕,MUA就會依據你所定義的主機地址將信發送到MTA上。

Step 2      MTA收到信件,交由MDA發送到該賬號的MailBox中。如果在Step 1收到的信件中,那個e-mail.server就是MTA自己,此時MTA會將該信件交由MDA處理,將信件放置在收信者的信箱中。

Step 3      MTA將信再轉送出去。如果由Step 1發來的信件的收件人並不是MTA的內部賬號,那麼該信將被再次轉送出去!Step 1及Step 3的動作,我們也稱爲Relay(郵件轉發)功能。

Step 4      遠程MTA收到本地MTA發出的郵件。遠程MTA會收到我們這臺MTA的信件,並將該信件交給它的MDA處理(Step 5),此時,信件會存放在遠程MTA上,等待用戶登錄讀取或下載。
整個發信流程大致就是這樣。
  收信的動作很簡單。不再接受。


郵件在傳輸的時候會使用到 MUA,MTA,MDA這三個角色。他們分別是:

MUA:Mail User Agent ,郵件用戶代理。客戶端用到的軟件,如 mutt,thunderbird,outlook等。

MTA:Mail Transport Agent,郵件傳輸代理。服務器端用的軟件,如 msmtp,postfix,sendmail等。

MDA:Mail Delivery Agent,郵件投遞代理。服務器處理郵件的軟件,有分揀、過濾 的功能,postfix、sendmail都自帶有,也有獨立的procmail。

How to disable IPv6 on CentOS 6.x or Redhat 6.x (RHEL)

Setp 1  Check IPv6 on your CentOS or RHEL Server

$ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:8b:33:58 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.111/24 brd 192.168.0.255 scope global eth0
inet6 fe80::20c:29ff:fe8b:3358/64 scope link
valid_lft forever preferred_lft forever

Step 2  Diasble IPv6 on CentOS or RHEL Server

vi /etc/modprobe.d/disable-ipv6.conf

install ipv6 /bin/true

Step3 edit network and disable IPv6

vi /etc/sysconfig/network

NETWORKIING=yes
NETWORKING_IPV6=no
HOSTNAME=localhost.localdomain
GATEWAY=192.168.17.1

Step 4 Check your IP address on your server afrer reboot

$ ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 12:1b:50:ea:5a:1d brd ff:ff:ff:ff:ff:ff
    inet 192.168.17.41/24 brd 192.168.17.255 scope global eth0

see also How to disable ipv6 on CentOS 5.x