什么是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 ,如需转载请自行联系原作者