天天看點

DM(LVM)研究

什麼是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 ,如需轉載請自行聯系原作者