-
當前位置:首頁 > 創(chuàng)意學院 > 技術 > 專題列表 > 正文
存儲快照原理(存儲快照原理是什么)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關于存儲快照原理的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關鍵詞,就能返回你想要的內(nèi)容,越精準,寫出的就越詳細,有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務客戶遍布全球各地,如需了解SEO相關業(yè)務請撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、git的工作原理
git的工作總共分四層,其中三層是在自己本地也就是說git倉庫,包括了工作目錄、暫存區(qū)和本地倉庫。工作目錄就是我們執(zhí)行命令git init時所在的地方,也就是我們執(zhí)行一切文件操作的地方;暫存區(qū)和本地倉庫都是在.git目錄下,因為它們只是用來存數(shù)據(jù)的。遠程倉庫在中心服務器,也就是我們做好工作之后推送到遠程倉庫,或者從遠程倉庫更新下來最新代碼到本地。Git所存儲的都是一系列的文件快照,然后git 來跟蹤這些文件快照,發(fā)現(xiàn)哪個文件快照有變化他就會提示你需要添加到暫存區(qū)或是提交到本地倉庫來保證你的工作目錄是干凈的。
這個要怎么理解呢?git中的文件有兩種狀態(tài),一種是被跟蹤的,也就是提交到本地倉庫的文件,因為本地倉庫要保管它們當然要跟蹤他們,對他們負責,還有一種就是未被跟蹤的。那么當我們添加新的文件時,他不是被跟蹤的,因為本地倉庫里面沒有這個文件,他是外來的,本地倉庫目前還不需要對他們負責。但是如果是對倉庫已經(jīng)存在的文件進行修改,那么這些文件就是被跟蹤的文件,就可以通過git status查看他們的狀態(tài)來進行相應的操作。當然我們也可以生成一個.gitignore文件,里面指定要忽略的文件類型,然后這些文件就不會被跟蹤,不管怎么改變他們,git status都不會提示你需要做什么操作。
所以當我們在工作目錄中進行文件操作后,要先添加到暫存區(qū),然后再將暫存區(qū)中剛添加的文件快照提交到本地倉庫,然后再將本地倉庫的最新狀態(tài)文件快照推送到遠程倉庫。這個文件快照其實就是各個文件在被添加到暫存區(qū)時的狀態(tài),就和照相的一樣,留下每個不同時刻的快照,方便以后查詢,而git存儲的就是這些一系列的快照。說到這個快照就要說說git的對象了。
Git對象
在.git-》Objects文件夾是一個個的git對象,是38位的哈希值,這樣就意味著沒有兩個相同的對象名。
從根本上講,git是一套內(nèi)容尋址的文件系統(tǒng),它存儲的也是key-value鍵值對,然后根據(jù)key值來查找value的,說到尋址就會想到指針吧,不錯,git也是根據(jù)指針來尋址的,這些指針就存儲在git的對象中。Git一共有四種對象,commit對象,tree對象和blob對象和tag對象,這里可以理解tag是commit的別名,下面便是這三個對象:
每個目錄都創(chuàng)建了“tree”對象, 每個文件都創(chuàng)建了一個對應的“blob”對象。最后有一個“commit”對象來指向根“tree”對象,這樣我們就可以追蹤項目每一項提交內(nèi)容。
這個blob對象對應的就是文件快照中那些發(fā)生變化的文件內(nèi)容,而
tree對象則記錄了文件快照中各個目錄和文件的結構關系,它指向了被跟蹤的快照,
commit對象則記錄了每次提交到本地倉庫的文件快照,
從在開發(fā)過程中,我們會提交很多次文件快照,那么第一次提交的內(nèi)容會用一個commit來記錄,這個commit 沒有指針指向上一個commit對象,因為沒有上一個commit,他是第一個,當?shù)诙翁峤粫r,又會有另外一個commit對象來記錄,那么這次commit對象中就會有一個指針指向上一次提交后的commit對象,經(jīng)過很多次提交后就會有很多的commit對象,它們組成了一個鏈表,當我們要恢復哪個版本的時候,只要找到這個commit對象就能恢復那個版本的文件。而我們所謂的HEAD對象其實就是指向最近一個提交的commit對象,也就是最后一個commit對象。
二、百度快照一年多少錢
快照有幾千到上萬不等的,要看你做的質量和數(shù)量
快照指照相館的一種沖洗過程短的照片·如:證件快照?;谟布幊碳夹g的一種,針對內(nèi)存進行的快速讀取技術,常用于硬件開發(fā)。
搜索引擎快照
搜索引擎快照,是指在訪客在無法打開某個搜索結果,或者打開速度特別慢的情況下,為訪客提供的之前保存在搜索引擎服務器上對應網(wǎng)頁內(nèi)容的純文本。不過,搜索引擎保存的快照內(nèi)容一般只包括文本數(shù)據(jù),圖片及其他多媒體等非文本數(shù)據(jù)不會被保存。因此,在來源網(wǎng)站無法訪問的情況下,圖片及其他多媒體在快照中將無法顯示。
存儲快照
全球網(wǎng)絡存儲工業(yè)協(xié)會SNIA(StorageNetworking Industry Association)對快照(Snapshot)的定義是:關于指定數(shù)據(jù)集合的一個完全可用拷貝,該拷貝包括相應數(shù)據(jù)在某個時間點(拷貝開始的時間點)的映像??煺湛梢允瞧渌硎镜臄?shù)據(jù)的一個副本,也可以是數(shù)據(jù)的一個復制品。
快照的作用主要是能夠進行在線數(shù)據(jù)備份與恢復。當存儲設備發(fā)生應用故障或者文件損壞時可以進行快速的數(shù)據(jù)恢復,將數(shù)據(jù)恢復某個可用的時間點的狀態(tài)。快照的另一個作用是為存儲用戶提供了另外一個數(shù)據(jù)訪問通道,當原數(shù)據(jù)進行在線應用處理時,用戶可以訪問快照數(shù)據(jù),還可以利用快照進行測試等工作。所有存儲系統(tǒng),不論高中低端,只要應用于在線系統(tǒng),那么快照就成為一個不可或缺的功能。 [1]
快照的實現(xiàn)方式
當前實現(xiàn)快照有主要有兩種技術,一種是第一次寫時復制(Copy OnFirst Write,COFW),有時簡稱為寫時復制(CopyOn Write,COW)。即在數(shù)據(jù)第一次寫入到某個存儲位置時,首先將原有的內(nèi)容讀取出來,寫到另一位置處(為快照保留的存儲空間,此文中我們稱為快照空間),然后再將數(shù)據(jù)寫入到存儲設備中。而下次針對這一位置的寫操作將不再執(zhí)行寫時復制操作。這種技術常在計算機相關的技術中經(jīng)常初使用,其基本原理大同小異,只是面向的對象不同,適用的場合不一樣。從COW 的執(zhí)行過程我們可以知道,這種實現(xiàn)方式在第一次寫入某個存儲位置時需要完成一個讀操作(讀原位置的數(shù)據(jù)),兩個寫操作(寫原位置與寫快照空間),如果寫入頻繁,那么這種方式將非常消耗IO時間。因此可推斷,如果預計某個卷上的I/O多數(shù)以讀操作為主,寫操作較少,這種方式的快照實現(xiàn)技術是一個較理想的選擇,因為快照的完成需要較少的時間。除此之外,如果一個應用易出現(xiàn)寫入熱點,即只針對某個有限范圍內(nèi)的數(shù)據(jù)進行寫操作,那么COW的快照實現(xiàn)方式也是較理想的選擇。因為其數(shù)據(jù)更改都局限在一個范圍內(nèi),對同一份數(shù)據(jù)的多次寫操作只會出現(xiàn)一次寫時復制操作。
快照生成過程的示意圖:SNIA 將快照的實現(xiàn)方式表述為:鏡像分離(split mirror)、改變塊(changed block)、并發(fā)(concurrent)三大類。后兩種在實現(xiàn)時其實質就是寫時復制及I/O重定向。對于 split mirror的方式,由于其靈活性以及開銷問題,在實際的存儲系統(tǒng)中,并不實用。
三、Redis持久化的方式選擇與原理
通常Redis將數(shù)據(jù)存儲在內(nèi)存中或虛擬內(nèi)存中,但它提供了數(shù)據(jù)持久化功能可以把內(nèi)存中的數(shù)據(jù)持久化到磁盤。持久化有什么好處呢?比如可以保證斷電后數(shù)據(jù)不會丟失,升級服務器也會變得更加方便。
1.RDB 持久化機制 :是對 redis 數(shù)據(jù)執(zhí)行周期性的持久化。
這種方式就是將內(nèi)存中數(shù)據(jù)以快照的方式寫入到二進制文件中,默認的文件名為 dump.rdb??蛻舳艘部梢允褂胹ave或者bgsave命令通知redis做一次快照持久化。save操作是在主線程中保存快照的,由于redis是用一個主線程來處理所有客戶端的請求,這種方式會阻塞所有客戶端請求。所以不推薦使用。另一點需要注意的是,每次快照持久化都是將內(nèi)存數(shù)據(jù)完整寫入到磁盤一次,并不是增量的只同步增量數(shù)據(jù)。如果數(shù)據(jù)量大的話,寫操作會比較多,必然會引起大量的磁盤IO操作,可能會嚴重影響性能。
2.AOF持久化機制 :AOF 機制對每條寫入命令作為日志,以 append-only 的模式寫入一個日志文件中,在 redis 重啟的時候,可以通過回放 AOF 日志中的寫入指令來重新構建整個數(shù)據(jù)集。當然由于操作系統(tǒng)會在內(nèi)核中緩存write做的修改,所以可能不是立即寫到磁盤上。這樣的持久化還是有可能會丟失部分修改。不過我們可以通過配置文件告訴 redis我們想要通過fsync函數(shù)強制操作系統(tǒng)寫入到磁盤的時機。
appendonly yes //啟用日志追加持久化方式
(1)appendfsync always //收到寫命令就立即強制寫入磁盤。最慢的,但是保證完全持久化,不推薦使用。
(2)appendfsync everysec //每秒鐘強制寫入磁盤一次,在性能和持久化方面做了很好的折中,推薦使用。
(3)appendfsync no //完全依賴操作系統(tǒng),性能最好,持久化沒保證。
通過 RDB 或 AOF,都可以將 redis 內(nèi)存中的數(shù)據(jù)持久化到磁盤上面來,然后可以將這些數(shù)據(jù)備份到別的地方去。
1.RDB方式
優(yōu)點:
缺點:
2.AOF方式
優(yōu)點:
缺點:
不要僅僅使用 RDB,因為那樣會導致你丟失很多數(shù)據(jù);也不要僅僅使用 AOF,因為那樣有兩個問題:第一,你通過 AOF 做冷備,沒有 RDB 做冷備來的恢復速度更快;第二,RDB 每次簡單粗暴生成數(shù)據(jù)快照,更加健壯,可以避免 AOF 這種復雜的備份和恢復機制的 bug;redis 支持同時開啟開啟兩種持久化方式,我們可以綜合使用 AOF 和 RDB 兩種持久化機制,用 AOF 來保證數(shù)據(jù)不丟失,作為數(shù)據(jù)恢復的第一選擇; 用 RDB 來做不同程度的冷備,在 AOF 文件都丟失或損壞不可用的時候,還可以使用 RDB 來進行快速的數(shù)據(jù)恢復。
出處: https://www.cnblogs.com/bigbaby/p/15879126.html
四、什么是云存儲技術
云存儲是在云計算(cloud computing)概念上延伸和發(fā)展出來的一個新的概念,是指通過集群應用、網(wǎng)格技術或分布式文件系統(tǒng)等功能,將網(wǎng)絡中大量各種不同類型的存儲設備通過應用軟件集合起來協(xié)同工作,共同對外提供數(shù)據(jù)存儲和業(yè)務訪問功能的一個系統(tǒng)。 當云計算系統(tǒng)運算和處理的核心是大量數(shù)據(jù)的存儲和管理時,云計算系統(tǒng)中就需要配置大量的存儲設備,那么云計算系統(tǒng)就轉變成為一個云存儲系統(tǒng),所以云存儲是一個以數(shù)據(jù)存儲和管理為核心的云計算系統(tǒng)。
云存儲的兩個層面
云存儲的兩個層面是作為云計算支撐的存儲計算,主要涉及分布式存儲(如分布式文件系統(tǒng)、IPSAN、數(shù)據(jù)同步、復制)、數(shù)據(jù)存儲(如重復數(shù)據(jù)刪除、數(shù)據(jù)壓縮、數(shù)據(jù)編碼)和數(shù)據(jù)保護(如RAID、CDP、快照、備份與容災)等技術領域,如圖8-30所示,這在第6章中已有所介紹。
和云安全技術一樣,云存儲技術也需要利用現(xiàn)有的所有存儲技術針對云計算三層架構的各個環(huán)節(jié)采用適當?shù)拇鎯夹g,才能取得最佳效果,例如,對應不同需求,有時應該使用數(shù)據(jù)庫技術但有時卻應該使用LDAP技術,有些性能要求高的系統(tǒng)不能使用SAN或NAS,需直接使用基于RPC或Socket技術的并發(fā)文件系統(tǒng),有些應用使用SAN成本太高等,這里不再做深入介紹。如圖8-31所示是一個采用NetApp FAS、思科 UCS和 VMWare vShpere 4技術打造的存儲系統(tǒng),對上述兩種云存儲技術和應用都有促進作用。
云存儲架構
分為兩類:一種是通過服務來架構;另一種是通過軟件或硬件設備來架構。
傳統(tǒng)的系統(tǒng)利用緊耦合對稱架構,這種架構的設計旨在解決HPC(高性能計算、超級運算)問題,現(xiàn)在其正在向外擴展成為云存儲從而滿足快速呈現(xiàn)的市場需求。下一代架構已經(jīng)采用了松弛耦合非對稱架構,集中元數(shù)據(jù)和控制操作,這種架構并不非常適合高性能HPC,但是這種設計旨在解決云部署的大容量存儲需求。各種架構的摘要信息如下:
緊耦合對稱(TCS)架構
構建TCS系統(tǒng)是為了解決單一文件性能所面臨的挑戰(zhàn),這種挑戰(zhàn)限制了傳統(tǒng)NAS系統(tǒng)的發(fā)展。HPC系統(tǒng)所具有的優(yōu)勢迅速壓倒了存儲,因為它們需要的單一文件I/O操作要比單一設備的I/O操作多得多。業(yè)內(nèi)對此的回應是創(chuàng)建利用TCS架構的產(chǎn)品,很多節(jié)點同時伴隨著分布式鎖管理(鎖定文件不同部分的寫操作)和緩存一致性功能。這種解決方案對于單文件吞吐量問題很有效,幾個不同行業(yè)的很多HPC客戶已經(jīng)采用了這種解決方案。這種解決方案很先進,需要一定程度的技術經(jīng)驗才能安裝和使用。
松弛耦合非對稱(LCA)架構
LCA系統(tǒng)采用不同的方法來向外擴展。它不是通過執(zhí)行某個策略來使每個節(jié)點知道每個行動所執(zhí)行的操作,而是利用一個數(shù)據(jù)路徑之外的中央元數(shù)據(jù)控制服務器。集中控制提供了很多好處,允許進行新層次的擴展:
● 存儲節(jié)點可以將重點放在提供讀寫服務的要求上,而不需要來自網(wǎng)絡節(jié)點的確認信息。
● 節(jié)點可以利用不同的商品硬件CPU和存儲配置,而且仍然在云存儲中發(fā)揮作用。
● 用戶可以通過利用硬件性能或虛擬化實例來調(diào)整云存儲。
● 消除節(jié)點之間共享的大量狀態(tài)開銷也可以消除用戶計算機互聯(lián)的需要,如光纖通道或infiniband,從而進一步降低成本。
● 異構硬件的混合和匹配使用戶能夠在需要的時候在當前經(jīng)濟規(guī)模的基礎上擴大存儲,同時還能提供永久的數(shù)據(jù)可用性。
● 擁有集中元數(shù)據(jù)意味著,存儲節(jié)點可以旋轉地進行深層次應用程序歸檔,而且在控制節(jié)點上,元數(shù)據(jù)經(jīng)常都是可用的。
以上就是關于存儲快照原理相關問題的回答。希望能幫到你,如有更多相關問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀:
未檢測到可用的存儲分區(qū)(未檢測到可用的存儲分區(qū) 請手動選擇)
網(wǎng)絡熱門歌曲排行榜(網(wǎng)絡熱門歌曲排行榜播放)