宜昌分布式文件存儲器
① 搭建一套分布式存儲大概需要多少錢
感覺概念需要澄清一下: 1、與分布式存儲向對應的概念是集中式存儲。這兩個概念用於描述用戶數據存儲狀態。 2、簡單地,可以將磁碟陣列理解為向計算機提供高性能、高可靠性、大容量存儲空間的存儲系統。分布式存儲與集中式存儲均可使用磁碟陣列...
② 分布式存儲是什麼東西
關於分布式存儲實際上並沒有一個明確的定義,甚至名稱上也沒有一個統一的說法,大多數情況下稱作 Distributed Data Store 或者 Distributed Storage System。
其中維基網路中給 Distributed data store 的定義是:分布式存儲是一種計算機網路,它通常以數據復制的方式將信息存儲在多個節點中。
在網路中給出的定義是:分布式存儲系統,是將數據分散存儲在多台獨立的設備上。分布式網路存儲系統採用可擴展的系統結構,利用多台存儲伺服器分擔存儲負荷,利用位置伺服器定位存儲信息,它不但提高了系統的可靠性、可用性和存取效率,還易於擴展。
盡管各方對分布式存儲的定義並不完全相同,但有一點是統一的,就是分布式存儲將數據分散放置在多個節點中,節點通過網路互連提供存儲服務。這一點與傳統集中式存儲將數據集中放置的方式有著明顯的區分。
③ 什麼是分布式存儲
分布式存儲系統,是將數據分散存儲在多台獨立的設備上。傳統的網路存儲系統採用集中的存儲伺服器存放所有數據,存儲伺服器成為系統性能的瓶頸,也是可靠性和安全性的焦點,不能滿足大規模存儲應用的需要。分布式網路存儲系統採用可擴展的系統結構,利用多台存儲伺服器分擔存儲負荷,利用位置伺服器定位存儲信息,它不但提高了系統的可靠性、可用性和存取效率,還易於擴展。
(3)宜昌分布式文件存儲器擴展閱讀:
分布式存儲,集中管理,在這個方案中,共有三級:
1、上級監控中心:上級監控中心通常只有一個,主要由數字矩陣、認證伺服器和VSTARClerk軟體等。
2、本地監控中心:本地監控中心可以有多個,可依據地理位置設置,或者依據行政隸屬關系設立,主要由數字矩陣、流媒體網關、iSCSI存儲設備、VSTARRecorder軟體等組成;音視頻的數據均主要保存在本地監控中心,這就是分布式存儲的概念。
3、監控前端:主要由攝像頭、網路視頻伺服器組成,其中VE4000系列的網路視頻伺服器可以帶硬碟,該硬碟主要是用於網路不暢時,暫時對音視頻數據進行保存,或者需要在前端保存一些重要數據的情況。
④ 分布式文件存儲系統採用什麼方式來提升可用性和可靠性
一。分布式Session的幾種實現方式 1.基於資料庫的Session共享 2.基於NFS共享文件系統 3.基於memcached 的session,如何保證 memcached 本身的高可用性? 4. 基於resin/tomcat web容器本身的session復制機制 5. 基於TT/Redis 或 jbosscache 進行 session 共享。 6. 基於cookie 進行session共享 或者是: 一、Session Replication 方式管理 (即session復制) 簡介:將一台機器上的Session數據廣播復制到集群中其餘機器上 使用場景:機器較少,網路流量較小 優點:實現簡單、配置較少、當網路中有機器Down掉時不影響用戶訪問 缺點:廣播式復制到其餘機器有一定廷時,帶來一定網路開銷 二、Session Sticky 方式管理 簡介:即粘性Session、當用戶訪問集群中某台機器後,強制指定後續所有請求均落到此機器上 使用場景:機器數適中、對穩定性要求不是非常苛刻 優點:實現簡單、配置方便、沒有額外網路開銷 缺點:網路中有機器Down掉時、用戶Session會丟失、容易造成單點故障 三、緩存集中式管理 簡介:將Session存入分布式緩存集群中的某台機器上,當用戶訪問不同節點時先從緩存中拿Session信息 使用場景:集群中機器數多、網路環境復雜 優點:可靠性好 缺點:實現復雜、穩定性依賴於緩存的穩定性、Session信息放入緩存時要有合理的策略寫入 二。Session和Cookie的區別和聯系以及Session的實現原理 1、session保存在伺服器,客戶端不知道其中的信息;cookie保存在客戶端,伺服器能夠知道其中的信息。 2、session中保存的是對象,cookie中保存的是字元串。 3、session不能區分路徑,同一個用戶在訪問一個網站期間,所有的session在任何一個地方都可以訪問到。而cookie中如果設置了路徑參數,那麼同一個網站中不同路徑下的cookie互相是訪問不到的。 4、session需要藉助cookie才能正常<nobr oncontextmenu="return false;" onmousemove="kwM(3);" id="key3" onmouseover="kwE(event,3, this);" style="COLOR: #6600ff; BORDER-BOTTOM: 0px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="return kwC();" onmouseout="kwL(event, this);" target="_blank">工作</nobr>。如果客戶端完全禁止cookie,session將失效。 http是無狀態的協議,客戶每次讀取web頁面時,伺服器都打開新的會話,而且伺服器也不會自動維護客戶的上下文信息,那麼要怎麼才能實現網上商店中的 購物車呢,session就是一種保存上下文信息的機制,它是針對每一個用戶的,變數的值保存在伺服器端,通過SessionID來區分不同的客 戶,session是以cookie或URL重寫為基礎的,默認使用cookie來實現,系統會創造一個名為JSESSIONID的輸出cookie,我 們叫做session cookie,以區別persistent cookies,也就是我們通常所說的cookie,注意session cookie是存儲於瀏覽器內存中的,並不是寫到硬碟上的,這也就是我們剛才看到的JSESSIONID,我們通常情是看不到JSESSIONID的,但 是當我們把瀏覽器的cookie禁止後,web伺服器會採用URL重寫的方式傳遞Sessionid,我們就可以在地址欄看到 sessionid=KWJHUG6JJM65HS2K6之類的字元串。 明白了原理,我們就可以很容易的分辨出persistent cookies和session cookie的區別了,網上那些關於兩者安全性的討論也就一目瞭然了,session cookie針對某一次會話而言,會話結束session cookie也就隨著消失了,而persistent cookie只是存在於客戶端硬碟上的一段文本(通常是加密的),而且可能會遭到cookie欺騙以及針對cookie的跨站腳本攻擊,自然不如 session cookie安全了。 通常session cookie是不能跨窗口使用的,當你新開了一個瀏覽器窗口進入相同頁面時,系統會賦予你一個新的sessionid,這樣我們信息共享的目的就達不到 了,此時我們可以先把sessionid保存在persistent cookie中,然後在新窗口中讀出來,就可以得到上一個窗口SessionID了,這樣通過session cookie和persistent cookie的結合我們就實現了跨窗口的session tracking(會話跟蹤)。 在一些web開發的書中,往往只是簡單的把Session和cookie作為兩種並列的http傳送信息的方式,session cookies位於伺服器端,persistent cookie位於客戶端,可是session又是以cookie為基礎的,明白的兩者之間的聯系和區別,我們就不難選擇合適的技術來開發web service了。 總之: 一、cookie機制和session機制的區別 具體來說cookie機制採用的是在客戶端保持狀態的方案,而session機制採用的是在伺服器端保持狀態的方案。 同時我們也看到,由於在伺服器端保持狀態的方案在客戶端也需要保存一個標識,所以session機制可能需要藉助於cookie機制來達到保存標識的目的,但實際上還有其他選擇。 二、會話cookie和持久cookie的區別 如果不設置過期時間,則表示這個cookie生命周期為瀏覽器會話期間,只要關閉瀏覽器窗口,cookie就消失了。這種生命期為瀏覽會話期的cookie被稱為會話cookie。會話cookie一般不保存在硬碟上而是保存在內存里。 如果設置了過期時間,瀏覽器就會把cookie保存到硬碟上,關閉後再次打開瀏覽器,這些cookie依然有效直到超過設定的過期時間。 存儲在硬碟上的cookie可以在不同的瀏覽器進程間共享,比如兩個IE窗口。而對於保存在內存的cookie,不同的瀏覽器有不同的處理方式。 三、如何利用實現自動登錄 當用戶在某個網站注冊後,就會收到一個惟一用戶ID的cookie。客戶後來重新連接時,這個用戶ID會自動返回,伺服器對它進行檢查,確定它是否為注冊用戶且選擇了自動登錄,從而使用戶無需給出明確的用戶名和密碼,就可以訪問伺服器上的資源。 四、如何根據用戶的愛好定製站點 網站可以使用cookie記錄用戶的意願。對於簡單的設置,網站可以直接將頁面的設置存儲在cookie中完成定製。然而對於更復雜的定製,網站只需僅將一個惟一的標識符發送給用戶,由伺服器端的資料庫存儲每個標識符對應的頁面設置。 五、cookie的發送 1.創建Cookie對象 2.設置最大時效 3.將Cookie放入到HTTP響應報頭 如果你創建了一個cookie,並將他發送到瀏覽器,默認情況下它是一個會話級別的cookie:存儲在瀏覽器的內存中,用戶退出瀏覽器之後被刪除。如 果你希望瀏覽器將該cookie存儲在磁碟上,則需要使用maxAge,並給出一個以秒為單位的時間。將最大時效設為0則是命令瀏覽器刪除該 cookie。 發送cookie需要使用HttpServletResponse的addCookie方法,將cookie插入到一個 Set-Cookie HTTP請求報頭中。由於這個方法並不修改任何之前指定的Set-Cookie報頭,而是創建新的報頭,因此我們將這個方法稱為是addCookie,而 非setCookie。同樣要記住響應報頭必須在任何文檔內容發送到客戶端之前設置。 六、cookie的讀取 1.調用request.getCookie 要獲取有瀏覽器發送來的cookie,需要調用HttpServletRequest的getCookies方法,這個調用返回Cookie對象的數組,對應由HTTP請求中Cookie報頭輸入的值。 2.對數組進行循環,調用每個cookie的getName方法,直到找到感興趣的cookie為止 cookie與你的主機(域)相關,而非你的servlet或JSP頁面。因而,盡管你的servlet可能只發送了單個cookie,你也可能會得到許多不相關的cookie。 例如: String cookieName = 「userID」; Cookie cookies[] = request.getCookies(); if (cookies!=null){ for(int i=0;i Cookie cookie = cookies[i]; if (cookieName.equals(cookie.getName())){ doSomethingWith(cookie.getValue()); } } } 七、如何使用cookie檢測初訪者 A.調用HttpServletRequest.getCookies()獲取Cookie數組 B.在循環中檢索指定名字的cookie是否存在以及對應的值是否正確 C.如果是則退出循環並設置區別標識 D.根據區別標識判斷用戶是否為初訪者從而進行不同的操作 八、使用cookie檢測初訪者的常見錯誤 不能僅僅因為cookie數組中不存在在特定的數據項就認為用戶是個初訪者。如果cookie數組為null,客戶可能是一個初訪者,也可能是由於用戶將cookie刪除或禁用造成的結果。 但是,如果數組非null,也不過是顯示客戶曾經到過你的網站或域,並不能說明他們曾經訪問過你的servlet。其它servlet、JSP頁面以及 非Java Web應用都可以設置cookie,依據路徑的設置,其中的任何cookie都有可能返回給用戶的瀏覽器。 正確的做法是判斷cookie數組是否為空且是否存在指定的Cookie對象且值正確。 九、使用cookie屬性的注意問題 屬性是從伺服器發送到瀏覽器的報頭的一部分;但它們不屬於由瀏覽器返回給伺服器的報頭。 因此除了名稱和值之外,cookie屬性只適用於從伺服器輸出到客戶端的cookie;伺服器端來自於瀏覽器的cookie並沒有設置這些屬性。 因而不要期望通過request.getCookies得到的cookie中可以使用這個屬性。這意味著,你不能僅僅通過設置cookie的最大時效, 發出它,在隨後的輸入數組中查找適當的cookie,讀取它的值,修改它並將它存回Cookie,從而實現不斷改變的cookie值。 十、如何使用cookie記錄各個用戶的訪問計數 1.獲取cookie數組中專門用於統計用戶訪問次數的cookie的值 2.將值轉換成int型 3.將值加1並用原來的名稱重新創建一個Cookie對象 4.重新設置最大時效 5.將新的cookie輸出 十一、session在不同環境下的不同含義 session,中文經常翻譯為會話,其本來的含義是指有始有終的一系列動作/消息,比如打電話是從拿起電話撥號到掛斷電話這中間的一系列過程可以稱之為一個session。 然而當session一詞與網路協議相關聯時,它又往往隱含了「面向連接」和/或「保持狀態」這樣兩個含義。 session在Web開發環境下的語義又有了新的擴展,它的含義是指一類用來在客戶端與伺服器端之間保持狀態的解決方案。有時候Session也用來指這種解決方案的存儲結構。 十二、session的機制 session機制是一種伺服器端的機制,伺服器使用一種類似於散列表的結構(也可能就是使用散列表)來保存信息。 但程序需要為某個客戶端的請求創建一個session的時候,伺服器首先檢查這個客戶端的請求里是否包含了一個session標識-稱為session id,如果已經包含一個session id則說明以前已經為此客戶創建過session,伺服器就按照session id把這個session檢索出來使用(如果檢索不到,可能會新建一個,這種情況可能出現在服務端已經刪除了該用戶對應的session對象,但用戶人為 地在請求的URL後面附加上一個JSESSION的參數)。 如果客戶請求不包含session id,則為此客戶創建一個session並且生成一個與此session相關聯的session id,這個session id將在本次響應中返回給客戶端保存。 十三、保存session id的幾種方式 A.保存session id的方式可以採用cookie,這樣在交互過程中瀏覽器可以自動的按照規則把這個標識發送給伺服器。 B. 由於cookie可以被人為的禁止,必須有其它的機制以便在cookie被禁止時仍然能夠把session id傳遞回伺服器,經常採用的一種技術叫做URL重寫,就是把session id附加在URL路徑的後面,附加的方式也有兩種,一種是作為URL路徑的附加信息,另一種是作為查詢字元串附加在URL後面。網路在整個交互過程中始終 保持狀態,就必須在每個客戶端可能請求的路徑後面都包含這個session id。 C.另一種技術叫做表單隱藏欄位。就是伺服器會自動修改表單,添加一個隱藏欄位,以便在表單提交時能夠把session id傳遞回伺服器。 十四、session什麼時候被創建 一個常見的錯誤是以為session在有客戶端訪問時就被創建,然而事實是直到某server端程序(如Servlet)調用HttpServletRequest.getSession(true)這樣的語句時才會被創建。 十五、session何時被刪除 session在下列情況下被刪除: A.程序調用HttpSession.invalidate() B.距離上一次收到客戶端發送的session id時間間隔超過了session的最大有效時間 C.伺服器進程被停止 再次注意關閉瀏覽器只會使存儲在客戶端瀏覽器內存中的session cookie失效,不會使伺服器端的session對象失效。
⑤ 分布式存儲排名前十名有哪些
一、 Ceph
Ceph最早起源於Sage就讀博士期間的工作、成果於2004年發表,並隨後貢獻給開源社區。經過多年的發展之後,已得到眾多雲計算和存儲廠商的支持,成為應用最廣泛的開源分布式存儲平台。
二、 GFS
GFS是google的分布式文件存儲系統,是專為存儲海量搜索數據而設計的,2003年提出,是閉源的分布式文件系統。適用於大量的順序讀取和順序追加,如大文件的讀寫。注重大文件的持續穩定帶寬,而不是單次讀寫的延遲。
三、 HDFS
HDFS(Hadoop Distributed File System),是一個適合運行在通用硬體(commodity hardware)上的分布式文件系統,是Hadoop的核心子項目,是基於流數據模式訪問和處理超大文件的需求而開發的。該系統仿效了谷歌文件系統(GFS),是GFS的一個簡化和開源版本。
⑥ 分布式文件/對象存儲系統
分布式存儲系統面向海量數據的存儲訪問與共享需求,提供基於多存儲節點的高性能,高可靠和可伸縮性的數據存儲和訪問能力,實現分布式存儲節點上多用戶的訪問共享。 目前業界比較流行的分布式存儲系統如下:HDFS、OpenStack Swift、Ceph、GlusterFS、Lustre、AFS、OSS。
⑦ nas是分布式存儲嗎
NAS(Network Attached Storage:網路附屬存儲)按字面簡單說就是連接在網路上,具備資料存儲功能的裝置,因此也稱為「網路存儲器」。它是一種專用數據存儲伺服器。它以數據為中心,將存儲設備與伺服器徹底分離,集中管理數據,從而釋放帶寬、提高性能、降低總擁有成本、保護投資。其成本遠遠低於使用伺服器存儲,而效率卻遠遠高於後者。目前國際著名的NAS企業有Netapp、EMC、OUO等。[1]
NAS被定義為一種特殊的專用數據存儲伺服器,包括存儲器件(例如磁碟陣列、CD/DVD驅動器、磁帶驅動器或可移動的存儲介質)和內嵌系統軟體,可提供跨平台文件共享功能。NAS通常在一個LAN上佔有自己的節點,無需應用伺服器的干預,允許用戶在網路上存取數據,在這種配置中,NAS集中管理和處理網路上的所有數據,將負載從應用或企業伺服器上卸載下來,有效降低總擁有成本,保護用戶投資。[2]
飛客數據恢復中心提供
NAS本身能夠支持多種協議(如NFS、CIFS、FTP、HTTP等),而且能夠支持各種操作系統。通過任何一台工作站,採用IE或Netscape瀏覽器就可以對NAS設備進行直觀方便的管理。[3]
NAS將存儲設備連接到現有的網路上來提供數據和文件服務。NAS伺服器一般由存硬體、操作系統以及其上的文件系統等幾個部分組成。NAS通過網路直接連接磁碟儲存陣列,磁陣列具備了高容量、高效能、高可靠等特徵。NAS將存儲設備通過標準的網路拓撲結構連可以無需伺服器直接上網,不依賴通用的操作系統,而是採用一個面向用戶設計的,專門用於數據存儲的簡化操作系統,內置與網路連接所需的協議,從而使整個系統的管理和設置較為簡單。[3]
技術特點
NAS解決方案通常配置為作為文件服務的設備,由工作站或伺服器通過網路協議(如TCP/IP)和應用程序(如網路文件系統NFS或者通用Internet文件系統CIFS)來進行文件訪問。大多數NAS連接在工作站客戶機和NAS文件共享設備之間進行。這些連接依賴於企業的網路基礎設施來正常運行。[4]
為了提高系統性能和不間斷的用戶訪問,NAS採用了專業化的操作系統用於網路文件的訪問,這些操作系統既支持標準的文件訪問,也支持相應的網路協議,因此NAS技術能夠滿足特定的用戶需求。例如當某些企業需要應付快速數據增長的問題,或者是解決相互獨立的工作環境所帶來的系統限制時,可以採用新一代NAS技術,利用集中化的網路文件訪問機制和共享來解決這些問題,從而達到減少系統管理成本,提高數據備份和恢復功能的目的。[4]
⑧ 集中式存儲和分布式存儲的區別在哪裡如何選擇
如今全球數據存儲量呈現爆炸式增長,企業及互聯網數據以每年50%的速率在增長,據Gartner預測,到2020年,全球數據量將達到35ZB,等於80億塊4TB硬碟。數據結構變化給存儲系統帶來新的挑戰。非結構化數據在存儲系統中所佔據比例已接近80%。
互聯網的發展使得數據創造的主體由企業逐漸轉向個人用戶,而個人所產生的絕大部分數據均為圖片、文檔、視頻等非結構化數據;企業辦公流程更多通過網路實現,表單、票據等都實現了以非結構化為主的數字化存檔;同時,基於資料庫應用的結構化數據仍然在企業中占據重要地位,存儲大量的核心信息。
數據業務的急劇增加,傳統單一的SAN存儲或NAS存儲方式已經不適應業務發展需要。SAN存儲:成本高,不適合PB級大規模存儲系統。數據共享性不好,無法支持多用戶文件共享。NAS存儲:共享網路帶寬,並發性能差。隨系統擴展,性能會進一步下降。因此,集中式存儲再次活躍。
那麼集中式存儲和分布式存儲的有缺點分別有哪些呢?在面對二者時我們該如何選擇呢?下面我將為大家介紹和分析集中式存儲和分布式存儲的不同之處以及在應用中我們應做的選擇。
分布式和集中式存儲的選擇
集中存儲的優缺點是,物理介質集中布放;視頻流上傳到中心對機房環境要求高,要求機房空間大,承重、空調等都是需要考慮的問題。
分布存儲,集中管理的優缺點是,物理介質分布到不同的地理位置;視頻流就近上傳,對骨幹網帶寬沒有什麼要求;可採用多套低端的小容量的存儲設備分布部署,設備價格和維護成本較低;小容量設備分布部署,對機房環境要求低。
⑨ 如何實現不同地區文件分布式存儲
一種方案是:架設Hadoop集群作為雲存儲,類似網路雲盤。Hadoop集群的每個節點要麼在公網要麼在內網,如果公網和內網混合就需要用四層交換機把每個節點的埠映射出來。其他的方案可以參考這種模式。
⑩ 各位使用的分布式文件存儲,有哪些產品使用體驗更好一些
我覺得XSKY星辰天合的XGFS文件存儲軟體不錯,這個軟體只需要三個全快閃記憶體元數據高可用節點,就可以高效保存和處理 100 億文件規模的數據。可以靈活擴展,滿足公司不斷增長的業務對性能和容量的需求。