什麼是dm?
Device mapper
什麼是PE(physicalextent)
每一個實體卷被劃分為稱為PE(PhysicalExtents)的基本單元,具有唯一編号的PE是可以被LVM尋址的最小單元。PE的大小是可配置的,預設為4MB。
LE(logicalextent)
邏輯卷也被劃分為被稱為LE(LogicalExtents)的可被尋址的基本機關。在同一個卷組中,LE的大小和PE是相同的,并且一一對應。
dmsetup指令:
dmsetup manages logical devices that use the device-mapper driver. Devices are created by loading a table thatspecifies a target for each sector (512 bytes) in the logical device.
The first argument to dmsetup is acommand. The second argument is thelogical device name or uuid.
Invoking the dmsetup tool as devmap_name(which is not normally distributed and is supported only for historicalreasons) is equivalent to dmsetup info -c --noheadings -j major -m minor
如果2個磁盤組成一個vg, 是寫完一個磁盤的容量,再寫另外一個磁盤嗎?
我們拿線上的一台機器舉例:
[root@SRProdLnxSQL01~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
ext3 806G 416G 349G 55% /
/dev/sda1 ext3 99M 28M 67M 30% /boot
tmpfs tmpfs 7.9G 16K 7.9G 1% /dev/shm
192.168.1.178:/nfs/AmpNFSShare
nfs 611G 391G 220G 65% /AmpNFSShare
[root@SRProdLnxSQL01~]# iostat -x
Linux2.6.18-371.12.1.el5 (SRProdLnxSQL01.ecwise.local) 12/29/2016
avg-cpu: %user %nice %system %iowait %steal %idle
33.76 0.00 3.66 12.55 0.00 50.02
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 148.94 159.05 1091.55 43.60 39341.25 3260.34 37.53 0.63 0.56 0.39 43.85
sda1 0.00 0.00 0.00 0.00 0.00 0.00 10.30 0.00 6.78 6.77 0.00
sda2 0.00 0.00 0.00 0.00 0.00 0.00 19.00 0.00 0.98 0.98 0.00
sda3 0.00 0.00 0.00 0.00 0.00 0.00 17.42 0.00 2.52 2.46 0.00
sda4 0.00 0.00 0.00 0.00 0.00 0.00 2.00 0.00 0.20 0.20 0.00
sda5 148.94 159.05 1091.55 43.60 39341.25 3260.34 37.53 0.63 0.56 0.39 43.85
sdb 0.76 0.57 30.16 1.84 978.13 68.41 32.70 0.01 0.34 0.26 0.83
sdb1 0.76 0.57 30.16 1.84 978.13 68.41 32.70 0.01 0.34 0.26 0.83
sdc 0.02 0.02 2.95 0.44 93.59 15.66 32.21 0.00 0.32 0.27 0.09
sdc1 0.02 0.02 2.95 0.44 93.59 15.66 32.21 0.00 0.32 0.27 0.09
sdd 0.00 0.01 0.02 0.04 0.75 3.21 59.71 0.00 0.82 0.33 0.00
sdd1 0.00 0.01 0.02 0.04 0.75 3.21 59.71 0.00 0.82 0.33 0.00
dm-0 0.00 0.00 1274.12 205.41 40411.43 3346.17 29.58 0.03 0.73 0.30 44.24
dm-1 0.00 0.00 0.29 0.18 2.28 1.45 8.00 0.02 45.18 0.44 0.02
[root@SRProdLnxSQL01~]# sar -d 1
05:02:13PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
05:02:14PM dev8-0 2395.96 159159.60 339.39 66.57 6.86 2.80 0.42 99.80
05:02:14 PM dev8-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:02:14 PM dev8-2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:02:14 PM dev8-3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:02:14 PM dev8-4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:02:14 PM dev8-5 2395.96 159159.60 339.39 66.57 6.85 2.80 0.42 99.70
05:02:14PM dev8-16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:02:14PM dev8-17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:02:14PM dev8-32 1.01 32.32 0.00 32.00 0.00 0.00 0.00 0.00
05:02:14PM dev8-33 1.01 32.32 0.00 32.00 0.00 0.00 0.00 0.00
05:02:14PM dev8-48 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:02:14PM dev8-49 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:02:14PM dev253-0 5072.73 159094.95 339.39 31.43 34.49 6.76 0.20 99.80
05:02:14PM dev253-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[root@SRProdLnxSQL01mapper]# dmsetup deps
VolGroup00-LogVol01:1 dependencies : (8, 5)
VolGroup00-LogVol00:4 dependencies : (8, 49) (8, 33)(8, 17) (8, 5)
檢視這個lvs依賴哪些磁盤分區
[root@SRProdLnxSQL01~]# cd /dev/mapper/
[root@SRProdLnxSQL01mapper]# ll
total 0
crw-------1 root root 10, 60 Nov 12 21:59 control
brw-rw----1 root disk 253, 0 Nov 12 21:59VolGroup00-LogVol00
brw-rw----1 root disk 253, 1 Nov 12 21:59VolGroup00-LogVol01
[root@SRProdLnxSQL01mapper]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda5 VolGroup00 lvm2 a-- 349.69G 0
/dev/sdb1 VolGroup00 lvm2 a-- 99.97G 0
/dev/sdc1 VolGroup00 lvm2 a-- 99.97G 0
/dev/sdd1 VolGroup00 lvm2 a-- 299.97G 0
[root@SRProdLnxSQL01mapper]# vgs
VG #PV #LV #SN Attr VSize VFree
VolGroup00 4 2 0 wz--n- 849.59G 0
我們看出隻有一個VG
[root@SRProdLnxSQL01mapper]# lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
LogVol00 VolGroup00 -wi-ao 831.97G
LogVol01 VolGroup00 -wi-ao 17.62G
我們可以看出:
那這樣看來是,做了一個VG:VolGroup00 ,然後分了2個lv :LogVol00 LogVol01
然後,這個VG裡面包含4個分區:/dev/sda5/dev/sdb1/dev/sdc1/dev/sdd1
我們可以得出結論:一個LVS可以跨多個分區,要區分條帶化和非條帶化:
沒有條帶化的LVM存儲資料時是按順序進行的,在一個PV劃分LV完畢後再從下一個PV中劃分空間;
LVM的條帶化:為了性能考慮,考慮将資料跨越多個磁盤上存儲,即把LV上連續的資料分成大小相同的塊,然後依次存儲在各個磁盤PV上,類似于RAID-0的資料存放形式,實作資料讀寫的并發;管理者依據自己的資料需求,定義資料分塊大小,分布PV磁盤個數資訊,進而實作讀寫的性能最佳化;
但是如RAID-0一樣,這樣帶來的資料丢失的危險性也增大,是以的實際的生産活動中,實際資料背景是基于RAID-1或RAID-5的做過了資料備援形式;是以條帶化後即使有PV硬碟損壞,也能資料保證資料不丢失。當然僅僅的用幾個磁盤組成VG,然後條帶化建立LV,這樣資料是危險的;是以選擇基于RAID的條帶化(鏡像的條帶化);
條帶化的lv擴充需要新增pv的時候,有個重要條件,增加的pv數量必須與lv現有的pv數量相同或成倍數關系
參考文章:http://blog.csdn.net/ustc_dylan/article/details/7878284
'
本文轉自chenzudao51CTO部落格,原文連結:http://blog.51cto.com/victor2016/1887650 ,如需轉載請自行聯系原作者