久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

LVM snapshot快照原理及實驗

 phoenixcyan 2013-05-22
RHEL6 snapshot快照原理及實驗

LVM對lv提供了快照“snapshot”備份功能,這種功能也只對LVM 有效,。snapshot有多種實現(xiàn)方法,,這里只談?wù)劇皩憰r復(fù)制COW”,不是奶牛哦,,是“Copy-On-Write”
 當(dāng)一個 snapshot創(chuàng)建的時候,,僅拷貝原始卷里的源數(shù)據(jù),這不是物理上的數(shù)據(jù)拷貝,,因此snapshot的創(chuàng)建特別快,,當(dāng)原始卷里的數(shù)據(jù)有寫入時,備份卷開 始記錄原始卷哪些數(shù)據(jù)發(fā)生了變化,,然后在原始卷新數(shù)據(jù)覆蓋舊數(shù)據(jù)時,,將舊數(shù)據(jù)拷貝到snapshot的預(yù)留空間里,起到備份數(shù)據(jù)的作用,,就保證了所有數(shù)據(jù) 和創(chuàng)建備份卷之前的數(shù)據(jù)一致性,。
 而對于snapshot的讀操作,如果是讀取數(shù)據(jù)塊是沒有修改過的,,那么會將讀操作直接重定向到原始卷上,,如果是要讀取已經(jīng)修改過的塊,那么就讀取拷貝到snapshot中的塊,。所以當(dāng)原始卷破壞了之后還能用snapshot備份的數(shù)據(jù)還原,。
 參考一份51CTO 【asram先生】的解釋吧:
 【鏡像分 離,是為了讓鏡像卷保持拆分一瞬間的狀態(tài),,而不再繼續(xù)被寫入數(shù)據(jù),。而拆分之后,主卷所做的所有寫IO動作,,會以bitmap的方式記錄下來,。bitmap 就是一份位圖文件,文件中每個位都表示卷上的一個塊(扇區(qū),,或者由多個扇區(qū)組成的邏輯塊),,如果這個塊在鏡像分離之后,被寫入了數(shù)據(jù),,則程序就將 bitmap文件中對應(yīng)的位從0變成1,。待備份完成之后,,可以將鏡像關(guān)系恢復(fù),此時主卷和鏡像卷上的數(shù)據(jù)是不一致的,,需要重新做同步,。程序搜索 bitmap中所有為1的位,對應(yīng)到卷上的塊,,然后將這些塊上的數(shù)據(jù),,同步到鏡像卷,從而恢復(fù)實時鏡像關(guān)系,。
改變塊(changed block)
        快照創(chuàng)建成功后,,源和快照共享同一份物理數(shù)據(jù)拷貝,直到數(shù)據(jù)發(fā)生寫操作,,此時源上老數(shù)據(jù)或者新增數(shù)據(jù)將被寫向新的存儲空間,。為了記錄和追蹤塊的變化和復(fù)制 信息,需要一個位圖(bitmap),,它用于確定實際拷貝數(shù)據(jù)的位置,,以及確定從源還是目標(biāo)來獲取數(shù)據(jù)。
并發(fā)(concurrent)
 它與改變塊非常相似,,但它總是物理地拷貝數(shù)據(jù),。當(dāng)即時拷貝執(zhí)行時,沒有數(shù)據(jù)被復(fù)制,。取而代之,,它創(chuàng)建一個位圖來記錄數(shù)據(jù)的復(fù)制情況,并在后臺進行真正的數(shù)據(jù)物理復(fù)制,。
 寫時復(fù)制快 照在快照時間點之后,,沒有物理數(shù)據(jù)復(fù)制發(fā)生,僅僅復(fù)制了原始數(shù)據(jù)物理位置的元數(shù)據(jù),。因此,,快照創(chuàng)建非常快,,可以瞬間完成,。然后,快照副本跟蹤原始卷的數(shù)據(jù) 變化(即原始卷寫操作),,一旦原始卷數(shù)據(jù)塊發(fā)生寫操作,,則先將原始卷數(shù)據(jù)塊讀出并寫入快照卷,然后用新數(shù)據(jù)塊覆蓋原始卷,。這樣我們訪問快照卷上的數(shù)據(jù)仍舊 是寫操作前的,,可以保證我們備份數(shù)據(jù)的一致性?!?br>  
檢驗一下snapshot的特點吧:
采取COW實現(xiàn)方式時,,snapshot的大小并不需要和原始卷一樣大。那設(shè)置成多大呢,?第一,、根據(jù)原始卷數(shù)據(jù)的改變大小范圍來設(shè)置;第二,、根據(jù) 原始卷數(shù)據(jù)的更新頻率來定,。一旦 snapshot的空間記錄滿了原始卷塊變換的信息,那么這個snapshot就無法使用了,。當(dāng)然,,如果你的snapshot大小和原始卷一樣大,甚至還 要大,,那snapshot備份就絕對的不會崩潰啦,。
 
下面就開始吧!
一,、新建lv分區(qū),,裝上一個系統(tǒng)(可以不用裝,其實這里只需要說明他是一個我們要備份的數(shù)據(jù)卷而已)
--->先查看一下vg空閑空間吧
[root@desktop21 /]# vgs
  VG   #PV #LV #SN Attr   VSize  VFree
  vol0   2   4   1 wz--n- 55.22g 26.22g
--->還有26.22G,,建一個3G的lv來裝系統(tǒng)吧,,lv名稱syslv
[root@desktop21 /]# lvcreate -L 3G -n syslv vol0
  Logical volume "syslv" created
[root@desktop21 /]# lvdisplay /dev/vol0/syslv
  --- Logical volume ---
  LV Name                /dev/vol0/syslv
  VG Name                vol0
  LV UUID                xQXHqK-N3Oj-y9Z1-TBU6-hAsI-ek3V-PkmVmL
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                3.00 GiB (lv大小3G)
  Current LE             96
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:6
--->ok,創(chuàng)建成功,,接下來我就裝一個linux的簡易版吧,,我就不上圖了,自己要測試的自己去試試
【注意:這個lv建立起來若作為安裝系統(tǒng)用的話就一定不能格式化了,,它是作為硬盤用了哦,,誰見過把硬盤拿來格式化了在裝系統(tǒng)的?他會警告無法識別的硬盤~】

,。
,。
 
二、創(chuàng)建snapshot
終于裝好了,,我們來創(chuàng)建一個snapshot備份吧,,和lv創(chuàng)建方法差不多,就多加一個參數(shù)-s
[root@desktop21 /]# lvcreate -s -n snapsyslv -L 50M /dev/vol0/syslv
  Rounding up size to full physical extent 64.00 MiB
  Logical volume "snapsyslv" created
[root@desktop21 /]# lvdisplay /dev/vol0/snapsyslv
  --- Logical volume ---
  LV Name                /dev/vol0/snapsyslv
  VG Name                vol0
  LV UUID                snoXql-gI1Q-TSsF-F3LN-SyRI-HInY-8cZM3r
  LV Write Access        read/write
  LV snapshot status     active destination for /dev/vol0/syslv
  LV Status              available
  # open                 0
  LV Size                3.00 GiB
  Current LE             96
  COW-table size         64.00 MiB  (我的PE為32M,,創(chuàng)建的只能是32的倍數(shù))
  COW-table LE           2
  Allocated to snapshot  0.03%  (使用率為0.03%)
  Snapshot chunk size    4.00 KiB
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:7
--->ok,,snapsyslv創(chuàng)建好了,64M,,查看一下snapsyslv的詳細信息吧:
[root@desktop21 /]# lvs /dev/vol0/snapsyslv
  LV        VG   Attr   LSize  Origin Snap%  Move Log Copy%  Convert
  snapsyslv vol0 swi-a- 64.00m syslv    0.07                       
--->我們需要關(guān)心的就是上面的使用率0.07%,,達到100%就釋放,snapshot就壞了,,就沒用了,。
 
三,、改變原始卷的數(shù)據(jù),查看備份卷的變化
1,、登錄到syslv所在的系統(tǒng),,新建文件測試
desktop64 login: root
Password:
[root@desktop64 ~]# dd if=/dev/zero of=testfile bs=1M count=20
20+0 records in
20+0 records out
20971520 bytes (21 MB) copied, 0.0329396 s, 637 MB/s
--->好了,到我們的機子上看看快照的變化吧,,刷新幾下看看
[root@desktop21 /]# lvs /dev/vol0/snapsyslv
  LV        VG   Attr   LSize  Origin Snap%  Move Log Copy%  Convert
  snapsyslv vol0 swi-a- 64.00m syslv    0.07      
[root@desktop21 /]# lvs /dev/vol0/snapsyslv
  LV        VG   Attr   LSize  Origin Snap%  Move Log Copy%  Convert
  snapsyslv vol0 swi-a- 64.00m syslv   33.81                       
[root@desktop21 /]# lvs /dev/vol0/snapsyslv
  LV        VG   Attr   LSize  Origin Snap%  Move Log Copy%  Convert
  snapsyslv vol0 swi-a- 64.00m syslv   33.83                       
[root@desktop21 /]# lvs /dev/vol0/snapsyslv
  LV        VG   Attr   LSize  Origin Snap%  Move Log Copy%  Convert
  snapsyslv vol0 swi-a- 64.00m syslv   33.83 
--->看到嗎,?使用率為33.83%了,快照大小為64M,,原始卷新建20M的文件,,看是不是使用率為33%左右呢?^_^
2,、新建大小為50M的吧,,加上之前的20M,看看快照的變化呢
[root@desktop64 ~]# dd if=/dev/zero of=testfile bs=1M count=50
50+0 records in
50+0 records out
52428800 bytes (52 MB) copied, 0.132893 s, 395 MB/s
--->刷新一下,,看看快照變化吧
[root@desktop21 /]# lvs /dev/vol0/snapsyslv
  LV        VG   Attr   LSize  Origin Snap%  Move Log Copy%  Convert
  snapsyslv vol0 Swi-I- 64.00m syslv  100.00                       
[root@desktop21 /]# lvs /dev/vol0/snapsyslv
  LV        VG   Attr   LSize  Origin Snap%  Move Log Copy%  Convert
  snapsyslv vol0 Swi-I- 64.00m syslv  100.00                       
[root@desktop21 /]# lvs /dev/vol0/snapsyslv
  LV        VG   Attr   LSize  Origin Snap%  Move Log Copy%  Convert
  snapsyslv vol0 Swi-I- 64.00m syslv  100.00 
--->100%啦,,查看一下快照的狀態(tài)?
[root@desktop21 /]# lvdisplay /dev/vol0/snapsyslv
  --- Logical volume ---
  LV Name                /dev/vol0/snapsyslv
  VG Name                vol0
  LV UUID                snoXql-gI1Q-TSsF-F3LN-SyRI-HInY-8cZM3r
  LV Write Access        read/write
  LV snapshot status     INACTIVE destination for /dev/vol0/syslv (掛了)
  LV Status              available
  # open                 0
  LV Size                3.00 GiB
  Current LE             96
  COW-table size         64.00 MiB
  COW-table LE           2
  Snapshot chunk size    4.00 KiB
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:7
--->看到嗎,,INACTIVE(沒激活了),,我們把它激活看看
[root@desktop21 /]# lvchange -ay /dev/vol0/snapsyslv
  Can't change snapshot logical volume "snapsyslv"
--->Can't,不能激活了,,快照不能用了哦,,把它移除吧
[root@desktop21 /]# lvremove /dev/vol0/snapsyslv
Do you really want to remove active logical volume snapsyslv? [y/n]: y
  Logical volume "snapsyslv" successfully removed
--->ok,已經(jīng)移除了,,現(xiàn)在可以再繼續(xù)創(chuàng)建快照了額^_^

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多