歡迎您光臨本站 註冊首頁

linux21-磁碟陣列

←手機掃碼閱讀     火星人 @ 2014-03-08 , reply:0

DAS
nas 協議 tcp/ip 用nfs,cifs等文件系統去管理


san 協議 光纖協議

IDE

SATA

SCSI 小型計算機介面
ISCSI 36.4 73 146 300

SAS

raid redundant arrays of inexpensive disks

磁碟陣列


raid 0 讀寫性能佳,壞了其中一塊,數據掛掉,可靠性低(stripe條帶化),磁碟利用率100%

A B

1234
1 2
3 4

raid 1 鏡像備份,同一份資料完整的保存在多個磁碟上,寫的性能不佳,可靠性高,讀的性能還行,磁碟利用率50%


A B
1234
1 1
2 2
3 3
4 4


raid 10 先做raid 1 再做raid 0

disk 0 disk 1 raid 1

disk 2 disk 3 raid 1

disk 4 disk 5 raid 1

壞掉disk 0后:
讀寫性
另外五塊都可以讀寫
安全性:
另五塊中,只有壞掉disk 1 整個raid才會掛掉,概率為1/5


raid 01 先做raid 0 再做raid 1

raid 0 raid 0

disk 0 disk 3

disk 1 disk 4

disk 2 disk 5

壞掉disk 0后:
讀寫性:
還有三塊可以讀寫
安全性:
另外五塊中3,4,5壞掉任意一塊,則整個raid掛掉.概率為3/5

raid 10和 raid01就安全可靠性上來說還是raid10好點,讀寫性能一樣,磁碟利用率一樣

raid 5

由多塊磁碟做raid 5,磁碟利用率為n-1/n, 另塊放校驗數據,允許壞一塊盤,數據可以利用校驗值來恢復

disk 1 disk 2 disk 3

數據 數據 校驗


檢驗 數據 數據
數據 檢驗 數據


raid 5 和 raid 10

3d 1 2d 2d

1,利用率
3/4 1/2


2,安全性
壞掉一塊的情況,raid5就不能再壞了
raid10隻有當和壞掉的那塊同為raid1組裡的時候,才會整個壞掉,概率1/3


3,讀寫性能
raid 5對大文件讀寫好點
raid 10對小文件讀寫好點

=================================================================


軟raid


--raid 的創建
用分區或者 虛擬機加磁碟來做

這裡我選擇使用虛擬機加磁碟來做,這裡一共加了8個磁碟,每個1G大小,其實就是類似在虛擬機配置文件.vmx里加了下面一段
或者使用vmware-vdiskmanager命令來創建

scsi0:2.present = "TRUE"
scsi0:2.fileName = "D-1.vmdk"
scsi0:3.present = "TRUE"
scsi0:3.fileName = "D-2.vmdk"
scsi0:4.present = "TRUE"
scsi0:4.fileName = "D-3.vmdk"
scsi0:5.present = "TRUE"
scsi0:5.fileName = "D-4.vmdk"
scsi0:6.present = "TRUE"
scsi0:6.fileName = "D-5.vmdk"
scsi0:8.present = "TRUE"
scsi0:8.fileName = "D-7.vmdk"
scsi0:9.present = "TRUE"
scsi0:9.fileName = "D-8.vmdk"

scsi0:2.redo = ""
scsi0:3.redo = ""
scsi0:4.redo = ""
scsi0:5.redo = ""
scsi0:6.redo = ""
scsi0:8.redo = ""
scsi0:9.redo = ""

mdadm - manage MD devices aka Linux Software
RAID


創建raid 0
[root@raid ~]# mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb /dev/sdc


mdadm: array /dev/md0 started.


創建過程中可以用另一終端cat /proc/mdstat 去查看正在創建的狀態信息

[root@raid ~]# mkfs.ext3 /dev/md0

[root@raid ~]# mount /dev/md0 /mnt/

[root@raid ~]# df -h |grep mnt
/dev/md0 2.0G 36M 1.9G 2% /mnt

[root@raid ~]# cat /proc/mdstat
Personalities : [raid0]
md0 : active raid0 sdc[1] sdb[0]
2097024 blocks 64k chunks

unused devices:


創建raid 1
[root@raid ~]# mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdd /dev/sde
mdadm: array /dev/md1 started.

[root@raid ~]# mkfs.ext3 /dev/md1

[root@raid ~]# mount /dev/md1 /media/

[root@raid ~]# df -h |grep md
/dev/md0 2.0G 36M 1.9G 2% /mnt
/dev/md1 1008M 18M 940M 2% /media


對上面的raid0和raid1的一個寫性能使用dd命令進行測試,下面命令可以多測幾次
[root@raid ~]# dd if=/dev/zero of=/mnt/aaa bs=1M count=1000
[root@raid ~]# dd if=/dev/zero of=/media/bbb bs=1M count=1000
--測試的結果是raid0寫性能比raid1要好


創建raid5
[root@raid ~]# mdadm --create /dev/md5 --level=5 --raid-devices=4 /dev/sdf /dev/sdg /dev/sdh /dev/sdi
mdadm: array /dev/md5 started.

[root@raid ~]# watch cat /proc/mdstat --這裡監控一下它們盤之間的數據同步;等它們同步完畢再進行下面的格式化

[root@raid ~]# mkfs.ext3 /dev/md5

[root@raid ~]# mount /dev/md5 /misc/


[root@raid ~]# df -h |grep md
/dev/md0 2.0G 36M 1.9G 2% /mnt --raid 0利用率為100%
/dev/md1 1008M 18M 940M 2% /media --raid 1利用率為50%
/dev/md5 3.0G 69M 2.8G 3% /misc --raid 5利用率為n-1/n,在這裡就是3/4


[root@raid ~]# cat /proc/mdstat
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4]
md5 : active raid5 sdi[3] sdh[2] sdg[1] sdf[0]
3145536 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]

md1 : active raid1 sde[1] sdd[0]
1048512 blocks [2/2] [UU]

md0 : active raid0 sdc[1] sdb[0]
2097024 blocks 64k chunks

unused devices:


===========================================================


--raid的啟停

[root@raid ~]# vim /etc/mdadm.conf --手動編寫raid的配置文件,此文件不存在,要手動建立,並寫上
DEVICES /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/
sdg /dev/sdh /dev/sdi --把做了raid的分區寫上來

[root@raid ~]# mdadm --detail --scan >> /etc/mdadm.conf
--掃描當前raid的信息,並追加到配置文件里

# cat /etc/mdadm.conf
DEVICES /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh /dev/sdi
ARRAY /dev/md0 level=raid0 num-devices=2 metadata=0.90 UUID=84209045:9c03c4cb:7f755b8d:cc471294
ARRAY /dev/md1 level=raid1 num-devices=2 metadata=0.90 UUID=4e62fdc1:6c2a652f:fb72c05d:356d5c76
ARRAY /dev/md5 level=raid5 num-devices=4 metadata=0.90 UUID=c3c1f37b:9fba8a89:a711dc6c:01a5ddb3


--如果你不做上面這步,重啟系統,raid會不能自動被認到.所以做完的raid都需要掃描並存放信息


停止raid設備

先umount 已經掛載的raid設備
[root@raid ~]# umount /mnt/
[root@raid ~]# umount /media/
[root@raid ~]# umount /misc/

然後使用命令停止
[root@raid ~]# mdadm --stop /dev/md0
mdadm: stopped /dev/md0
[root@raid ~]# mdadm --stop /dev/md1
mdadm: stopped /dev/md1
[root@raid ~]# mdadm --stop /dev/md5
mdadm: stopped /dev/md5

啟動raid設備
1,有/etc/mdadm.conf配置文件的情況下
[root@raid ~]# mdadm -A /dev/md0
mdadm: /dev/md0 has been started with 2 drives.
[root@raid ~]# mdadm -A /dev/md1
mdadm: /dev/md1 has been started with 2 drives.
[root@raid ~]# mdadm -A /dev/md5
mdadm: /dev/md5 has been started with 4 drives.

[root@raid ~]# cat /proc/mdstat --再查看,就有信息了,並且raid里的數據還在

2,沒有配置文件的情況下,手動把設備名寫上就可以了
[root@raid ~]# mdadm -A /dev/md0 /dev/sd{b,c}
mdadm: /dev/md0 has been started with 2 drives.

[root@raid ~]# mdadm -A /dev/md1 /dev/sd{d,e}
mdadm: /dev/md1 has been started with 2 drives.

[root@raid ~]# mdadm -A /dev/md5 /dev/sd{f,g,h,i}
mdadm: /dev/md5 has been started with 4 drives.


3,如果連設備名都不知道,可以去查看每個設備的raid信息,使用uuid把raid設備重新組合
[root@raid ~]# mdadm -E /dev/sdf
/dev/sdf:
Magic : a92b4efc
Version : 0.90.00
UUID : b091e16b:f8df9671:465755db:c640595b --UUID,同一個raid里每個磁碟查看的都是這個值
Creation Time : Sat May 7 11:23:52 2011
Raid Level : raid5
Used Dev Size : 1048512 (1024.11 MiB 1073.68 MB)
Array Size : 3145536 (3.00 GiB 3.22 GB)
Raid Devices : 4
Total Devices : 4
Preferred Minor : 5

Update Time : Sat May 7 11:42:09 2011
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Checksum : facef367 - correct
Events : 2

Layout : left-symmetric
Chunk Size : 64K

Number Major Minor RaidDevice State
this 0 8 80 0 active sync /dev/sdf

0 0 8 80 0 active sync /dev/sdf
1 1 8 96 1 active sync /dev/sdg
2 2 8 112 2 active sync /dev/sdh
3 3 8 128 3 active sync /dev/sdi


[root@raid ~]# mdadm -A --uuid=b091e16b:f8df9671:465755db:c640595b /dev/md5
mdadm: /dev/md5 has been started with 4 drives.


--上面組合后的名字可以隨意寫,甚至是不存在的一個名字,相當於是重新組合

==================================================================


軟raid的熱插拔實驗

模擬raid中其中一塊盤故障
[root@raid ~]# mdadm /dev/md5 --fail /dev/sdf
mdadm: set /dev/sdf faulty in /dev/md5
--使用--fail對raid中其中一塊盤打一個fail標記

[root@raid ~]# cat /proc/mdstat
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4]
md5 : active raid5 sdf[4](F) sdi[3] sdh[2] sdg[1]--有個F標記
3145536 blocks level 5, 64k chunk, algorithm 2 [4/3] [_UUU]

md1 : active raid1 sdd[0] sde[1]
1048512 blocks [2/2] [UU]

md0 : active raid0 sdb[0] sdc[1]
2097024 blocks 64k chunks

[root@raid ~]# mdadm /dev/md5 --remove /dev/sdf
mdadm: hot removed /dev/sdf
--熱移除故障磁碟

[root@raid ~]# mdadm /dev/md5 --add /dev/sdj --增加一塊新的磁碟上去
mdadm: re-added /dev/sdj
--剛增加完后,機器負載較高,現在它在對新盤同步數據

[root@raid ~]# cat /proc/mdstat
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4]
md5 : active raid5 sdj[4] sdi[3] sdh[2] sdg[1]
3145536 blocks level 5, 64k chunk, algorithm 2 [4/3] [_UUU]
[=====>...............] recovery = 29.2% (307840/1048512) finish=0.0min speed=153920K/sec --這裡可以看到在同步中



md1 : active raid1 sdd[0] sde[1]
1048512 blocks [2/2] [UU]

md0 : active raid0 sdb[0] sdc[1]
2097024 blocks 64k chunks

--同步完成後,查看數據還在;有興趣的課後可以去嘗試使用動態數據來實驗(也就是類似正在跑起來的資料庫的數據)

---------------------

---------------------

把raid設備掛載到/mnt目錄
# mysql_install_db --datadir=/mnt --user=mysql
# mysqld_safe --datadir=/mnt/ --user=mysql &


然後使用mysql進入,插入一些數據,再進行熱插拔實驗,在這個過程中都可以進入大批量insert操作,不受影響(只受負載影響,同步raid數據時也要佔用負載)

================================================

刪除raid


1,umount

2,
[root@raid ~]# mdadm /dev/md5 --fail /dev/sdf --remove /dev/sdf
mdadm: set /dev/sdf faulty in /dev/md5
mdadm: hot removed /dev/sdf
[root@raid ~]# mdadm /dev/md5 --fail /dev/sdg --remove /dev/sdg
mdadm: set /dev/sdg faulty in /dev/md5
mdadm: hot removed /dev/sdg
[root@raid ~]# mdadm /dev/md5 --fail /dev/sdh --remove /dev/sdh
mdadm: set /dev/sdh faulty in /dev/md5
mdadm: hot removed /dev/sdh
[root@raid ~]# mdadm /dev/md5 --fail /dev/sdi --remove /dev/sdi
mdadm: set /dev/sdi faulty in /dev/md5
mdadm: hot removed /dev/sdi


3,
[root@raid ~]# mdadm --stop /dev/md5
mdadm: stopped /dev/md5


4,
直接用fdisk刪除分區
或者
用下面命令擦除superblock
[root@raid ~]# mdadm --misc --zero-superblock /dev/sdf
[root@raid ~]# mdadm --misc --zero-superblock /dev/sdg
[root@raid ~]# mdadm --misc --zero-superblock /dev/sdh


[root@raid ~]# mdadm --misc --zero-superblock /dev/sdi


=================================================================

練習:
把/dev/sd{f,g,h,i}創建成raid 10

# mdadm --create /dev/md10 --level=10 --raid-devices=4 /dev/sd{f,g,h,i}


===============================

LVM 邏輯卷管理 logical volumne manager

--參考下面的文檔
# ls /share/soft/pdf/redhat_5_zh/Red_Hat_Enterprise_Linux-5-Cluster_Logical_Volume_Manager-zh-CN.pdf

pv physical volumn(物理卷) 把實際分區或設備劃為pv , pv是lvm物理標記

vg volumn group (卷組) 把pv組合成vg,相當於組合成lvm能夠使用一個大硬碟

pe physical extend (物理擴展)vg組成的最小單位,默認是4M,vg最大支持65535個pe,相當於是block

lv logical volumn (邏輯卷) 實際可以使用的lvm的設備,相當是把vg劃分成可用的分區


block devices --> PV --> VG --> LV --> 格式化 --->掛載使用

1,劃分pv
[root@raid ~]# pvcreate /dev/md0
Physical volume "/dev/md0" successfully created
[root@raid ~]# pvcreate /dev/md1
Physical volume "/dev/md1" successfully created
[root@raid ~]# pvcreate /dev/md10
Physical volume "/dev/md10" successfully created


查看相關信息的命令 pvscan pvdisplay pvs

刪除pv的命令 pvremove /dev/md10

[root@raid ~]# pv
pvchange pvcreate pvmove pvresize pvscan
pvck pvdisplay pvremove pvs pv.sh


2,劃分vg

[root@raid ~]# vgcreate vg01 /dev/md10
Volume group "vg01" successfully created
[root@raid ~]# vgextend vg01 /dev/md0


Volume group "vg01" successfully extended
[root@raid ~]# vgextend vg01 /dev/md1
Volume group "vg01" successfully extended


--補充:vgcreate -s 指定PE的大小


查看相關信息的命令vgscan vgdisplay vgs

# vgs
VG #PV #LV #SN Attr VSize VFree
vg01 3 0 0 wz--n- 4.99G 4.99G


[root@raid ~]# vgreduce vg01 /dev/md0
Removed "/dev/md0" from volume group "vg01"
--vgreduce跟vgextend是相反的,是在vg里移除pv

移除vg的命令是vgremove,它是和vgcreate相反

3,把vg劃分為邏輯卷(線性卷linear)

[root@raid ~]# lvcreate -L 1000M -n lv01 vg01 --L指定大小,n指定lv的名字
Logical volume "lv01" created

[root@raid ~]# lvcreate -l 250 -n lv02 vg01 --l指定PE的個數,n指定lv的名字
Logical volume "lv02" created

[root@raid ~]# ls /dev/vg01/ -l
lrwxrwxrwx 1 root root 21 May 7 14:14 lv01 -> /dev/mapper/vg01-lv01
lrwxrwxrwx 1 root root 21 May 7 14:15 lv02 -> /dev/mapper/vg01-lv02

[root@raid ~]# ls /dev/mapper/ -l
brw-rw---- 1 root disk 253, 0 May 7 14:14 vg01-lv01
brw-rw---- 1 root disk 253, 1 May 7 14:15 vg01-lv02


[root@raid ~]# mkfs.ext3 /dev/vg01/lv01

[root@raid ~]# mkfs.ext3 /dev/vg01/lv02

[root@raid ~]# mount /dev/vg01/lv01 /mnt/
[root@raid ~]# mount /dev/vg01/lv02 /media/


[root@raid ~]# df -h | tail -4
/dev/mapper/vg01-lv01
985M 18M 918M 2% /mnt
/dev/mapper/vg01-lv02
985M 18M 918M 2% /media

[root@raid ~]# echo '12345' > /mnt/1
[root@raid ~]# echo '678910' > /media/2

查看的相關參數為lvscan lvdisplay


[root@raid ~]# lvscan


ACTIVE '/dev/vg01/lv01' [1000.00 MB] inherit
ACTIVE '/dev/vg01/lv02' [1000.00 MB] inherit


移除lv使用lvremove

完全刪除lvm,就要先lvremove,再vgremove,pvremove

=============================================================


[root@raid ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg01 3 2 0 wz--n- 4.99G 3.04G

[root@raid ~]# lvcreate -l 50%VG -n lv03 vg01 --創建lv03,大小為vg01的一半
[root@raid ~]# lvcreate -l 100%FREE -n lv04 vg01 --把剩下的所有空間都分配給新創建的lv04

[root@raid ~]# lvs --使用lvs驗證
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
lv01 vg01 -wi-ao 1000.00M
lv02 vg01 -wi-ao 1000.00M
lv03 vg01 -wi-a- 2.49G
lv04 vg01 -wi-a- 556.00M


=================================================
使用lvremove把上面的四個卷給移除,再來創建條狀卷

當您創建條狀邏輯卷時,請使用 lvcreate 命令的 -i 參數指定條帶的數目.這取決於邏輯卷要進行條帶
化的物理卷數目.條帶的數目不能超過卷組中物理卷的數目(除非使用 --alloc anywhere 參數)


如果構成邏輯卷的基本物理設備的大小不同,條狀卷的最大容量由最小的基本設備決定.例如,在有兩
個分支條狀卷中,其容量最大為較小設備的兩倍.在有三個分支的條狀卷中,其容量是最小設備的三倍
.

--創建條帶卷
# lvcreate -L 1500M -i3 -I64 -n stripe_lv_01 vg01
Logical volume "stripe_lv_01" created


===========================================
鏡像卷

當您創建一個鏡像卷時,您可使用 lvcreate 命令的 -m 參數來指定數據的備份數目.指定 -m1 生成一
個鏡像,也就是生成兩個文件系統副本:一個線性邏輯卷加上一個副本.同樣的,指定 -m2 會生成兩
個鏡像,也就是生成三個文件系統副本.


--創建一個鏡像卷
[root@raid ~]# lvcreate -L 1000M -m1 -n mirror_lv_02 vg01


============================================================


--------------------------------

lv的擴容


1,先考慮vg是否還有空間去擴容,如果沒有,那麼要先擴容vg,使用vgextend


2,
[root@raid ~]# lvextend -L 1.5g /dev/vg01/lv01
Extending logical volume lv01 to 1.50 GB
Logical volume lv01 successfully resized


下面兩種寫法也可以
[root@dns ~]# lvextend -L 500M /dev/vg01/lv01
[root@dns ~]# lvextend -l 125 /dev/vg01/lv01

[root@raid ~]# df -h
/dev/mapper/vg01-lv01
985M 18M 918M 2% /mnt--查看已經掛載的大小,沒有變化


[root@raid ~]# resize2fs /dev/vg01/lv01 --再使用這個命令去在線同步
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/vg01/lv01 is mounted on /mnt; on-line resizing required
Performing an on-line resize of /dev/vg01/lv01 to 393216 (4k) blocks.
The filesystem on /dev/vg01/lv01 is now 393216 blocks long.


[root@raid ~]# df -h
/dev/mapper/vg01-lv01
1.5G 18M 1.4G 2% /mnt --再次查看,已經掛載的lv擴大了,並且數據沒有影響


========================================


lv的縮小

做縮小操作之前,都要去驗證查看一下數據的大小,縮小時不要縮到比已經存在的數據量還要小(資料庫內的表空間縮小也是一樣要先查看已有數據大小)

[root@raid ~]# resize2fs /dev/vg01/lv01 1g --這樣去縮小的話,報錯已經mount了
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/vg01/lv01 is mounted on /mnt; on-line resizing required
On-line shrinking from 393216 to 262144 not supported.

[root@raid ~]# umount /mnt/


[root@raid ~]# resize2fs /dev/vg01/lv01 1g --umount后再使用resize2fs命令,要求先去e2fsck檢測
resize2fs 1.39 (29-May-2006)
Please run 'e2fsck -f /dev/vg01/lv01' first.

[root@raid ~]# e2fsck -f /dev/vg01/lv01
e2fsck 1.39 (29-May-2006)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vg01/lv01: 12/192000 files (8.3% non-contiguous), 10517/393216 blocks


[root@raid ~]# resize2fs /dev/vg01/lv01 1g --檢測后再使用resize2fs命令縮小,並掛載查看大小是否縮小
resize2fs 1.39 (29-May-2006)
Resizing the filesystem on /dev/vg01/lv01 to 262144 (4k) blocks.
The filesystem on /dev/vg01/lv01 is now 262144 blocks long.


[root@raid ~]# mount /dev/vg01/lv01 /mnt/

[root@raid ~]# df -h
/dev/mapper/vg01-lv02
985M 18M 918M 2% /media --縮小了


[root@raid ~]# lvscan
ACTIVE '/dev/vg01/lv01' [1.50 GB] inherit --但這裡查看的還是1.5g
ACTIVE '/dev/vg01/lv02' [1000.00 MB] inherit


[root@raid ~]# lvreduce -L 1g /dev/vg01/lv01 --所以lvreduce也要做
WARNING: Reducing active logical volume to 1.00 GB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv01? [y/n]: y
Reducing logical volume lv01 to 1.00 GB
Logical volume lv01 successfully resized

[root@raid ~]# lvscan
ACTIVE '/dev/vg01/lv01' [1.00 GB] inherit --OK
ACTIVE '/dev/vg01/lv02' [1000.00 MB] inherit


============================

lvm 快照功能 snapshot


1,快照創建的速度非常快,不需要停止生產環境
2,快照的大小是存儲差異數據,或是快照時間點的狀態,不需要和lv同大小
3,它可以用於一些特殊的情況,比如資料庫備份,或者批量複製虛擬機等

實驗:

[root@raid ~]# dd if=/dev/zero of=/media/10m bs=1M count=10

[root@raid ~]# dd if=/dev/zero of=/media/20m bs=1M count=20

[root@raid ~]# dd if=/dev/zero of=/media/30m bs=1M count=30


[root@raid ~]# ls /media/ -l
total 61532
-rw-r--r-- 1 root root 10485760 May 7 15:18 10m
-rw-r--r-- 1 root root 20971520 May 7 15:18 20m
-rw-r--r-- 1 root root 31457280 May 7 15:18 30m
drwx------ 2 root root 16384 May 7 14:17 lost found


[root@raid ~]# lvcreate -s -L 100m -n snap01 /dev/vg01/lv02 --L參數指定的大小不是快照大小,它類似於一個快照存活的時間(由源的改變來定義存活時間的長短.源增加多少,這個100M‘時間‘就會被使用多少,源刪除,這個100M時間只會被增加一點點,刪除只記錄它的一個innode失效.但注意,快照的內容不會跟著改變.
Logical volume "snap01" created


[root@raid ~]# ls /dev/vg01/snap01
/dev/vg01/snap01

[root@raid ~]# mkdir /snap
[root@raid ~]# mount /dev/vg01/snap01 /snap/


[root@raid ~]# ls /snap/ --快照的內容
10m 20m 30m lost found


[root@raid ~]# dd if=/dev/zero of=/media/50m bs=1M count=50
--在源目錄加一個50M的文件

[root@raid ~]# ls /snap/ --快照的內容不會跟著變
10m 20m 30m lost found


[root@raid ~]# lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
lv01 vg01 -wi-ao 1.00G
lv02 vg01 owi-ao 1000.00M
snap01 vg01 swi-ao 100.00M lv02 50.48 --但是這個snap%會發現由幾乎為0變化到50%

--下面再可以繼續做試驗:
1,在源刪除一個文件,再使用lvs查看 %snap只會增加一點點
2,當%snap用完了100%,則快照失效.umount和mount快照都會出問題
3, 快照的內容不會跟著源改變

[root@raid ~]# lvremove /dev/vg01/snap01 --快照的移除
Do you really want to remove active logical volume snap01? [y/n]: y
Logical volume "snap01" successfully removed

本文出自 「linuxart」 博客,請務必保留此出處http://linuxart.blog.51cto.com/686203/843978


[火星人 ] linux21-磁碟陣列已經有560次圍觀

http://coctec.com/docs/linux/show-post-45758.html