LVM基本术语linux
LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上创建文件系统。centos
物理存储介质(The physical media):这里指系统的存储设备:硬盘,如:/dev/hda一、/dev/sda等等,是存储系统最低层的存储单元。ide
物理卷(physical volume,PV)物理卷就是指硬盘分区或从逻辑上与磁盘分区具备一样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。工具
卷组(VolumeGroup,VG)LVM卷组相似于非LVM系统中的物理硬盘,其由物理卷组成。能够在卷组上建立一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。布局
逻辑卷(logical volume,LV)LVM的逻辑卷相似于非LVM系统中的硬盘分区,在逻辑卷之上能够创建文件系统(好比/home或者/usr等)。学习
PE(physical extent, PE)每个物理卷被划分为称为PE(PhysicalExtents)的基本单元,具备惟一编号的PE是能够被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。ui
LE(logical extent,LE)逻辑卷也被划分为被称为LE(LogicalExtents)的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,而且一一对应。spa
个人centos系统默认没有安装lvm安装包! 可使用命令:yum install lvm2 进行安装!!!!.net
一、建立分区类型为8e的分区code
使用分区工具(如:fdisk等)建立LVM分区,方法和建立其余通常分区的方式是同样的,区别仅仅是LVM的分区类型为8e。
为了后期便于维护管理,记得给分区加上标示,这样即便你不在的状况下,别人看到标示了就不会轻易动这块区域了. LVM的标识是8e,设置完成后记得按w保存
你们看见 The new table will be used at the next reboot没?意思就是这个分区在下次启动的时候才能使用,咱们可使用一个命令,让这个分区立刻生效哈~
输入 #partprobe ( yum -y install parted )
若是报错(Warning: WARNING: the kernel failed to re-read the partition table on /dev/xvda (Device or resource busy). As a result, it may not reflect all of your changes until after reboo)
执行下面的参数:
sudo cat /proc/partitions
partx -a /dev/xvda
sudo cat /proc/partitions
二、建立物理卷PV (physical volume)
建立物理卷的命令为pvcreate,利用该命令将但愿添加到卷组的全部分区或者磁盘建立为物理卷。
[root@linux~]$pvcreate /dev/sdb1 /dev/sdb2 添加两个分区为物理卷
[root@linux~]$pvcreate/dev/hda7 添加一个分区为物理卷
三、建立卷组VG (volume group)
建立卷组的命令为vgcreate,将使用pvcreate创建的物理卷建立为一个完整的卷组:
[root@linux~]$vgcreate vgdata /dev/sdb1 /dev/sdb2 #vgdata是卷组的名字,自定义
四、建立逻辑卷组 (Logical Volume Group)
建立逻辑卷的命令为lvcreate:
[root@linux~]$ lvcreate -L 500M –n lvdatal vgdata
该命令就在 vgdata卷组 上建立名字为 lvdatal 的逻辑卷组,大小为500M的,而且设备入口为 /dev/vgdate/lvdatal。
五、在逻辑卷组上建立文件系统!!
使用mkfs.ext4命令在逻辑卷lvdatal上建立ext4文件系统.
mkfs.ext4 /dev/vgdate/lvdatal
#mkfs -t ext3 /dev/sdax (这样也能够!!)
六、挂载!
在建立好的逻辑卷组上建立好文件系统之后就可一直接挂载使用了!!
命令: mount /dev/vgdata/lvdatal /back #把建立好的逻辑卷组挂载到新建的/back目录下!
若是ls /back 目录里面有lost+found目录说明挂载的逻辑卷组能够正常使用了,由于新建的back目录是不会有lost+found
咱们建立LVM是从物理分区-物理卷pv-卷组vg-逻辑卷-挂载到目录这个顺序来的..
重点来了!!!下面是怎么随意改变逻辑卷组的大小!
[root@clear /]# pvdisplay #查看物理卷的信息!! 个人物理卷是由两个分区(sdb1和sdb2)组成的!!
--- Physical volume --- # 这两个分区的文件类型为lvm也就是8e.
PV Name /dev/sdb1
VG Name vgdate
PV Size 1.01 GiB / not usable 3.41 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 258
Free PE 133
Allocated PE 125
PV UUID lu4lvW-GKe1-2I11-ISPM-0aor-UMmE-AjzFPW
--- Physical volume ---
PV Name /dev/sdb2
VG Name vgdate
PV Size 1.01 GiB / not usable 3.44 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 258
Free PE 258
Allocated PE 0
PV UUID g2OdBL-qomg-KWQU-Pb1t-Gz0w-Umkm-U9kn1n
[root@clear /]# vgdisplay #查看卷组的信息!! 卷组vgdate是由物理卷里面的两个分区建立的,因此卷组的大小是sdb1和sdb2的和!
--- Volume group ---
VG Name vgdate
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 2.02 GiB
PE Size 4.00 MiB
Total PE 516
Alloc PE / Size 125 / 500.00 MiB
Free PE / Size 391 / 1.53 GiB
VG UUID vb0yv7-xy2Q-EtO5-tiOw-7ddH-9dEm-J2oWev
[root@clear /]# lvdisplay #查看逻辑卷组的信息!! 逻辑卷组lvdatal是在卷组vgdate里面建立的! 因此逻辑卷组的大小是不可能超过卷组的大小的!!!
--- Logical volume ---
LV Path /dev/vgdate/lvdatal #当逻辑卷组的大小不够用的时候,能够不断增大直到卷组所有没有剩余的空间.
LV Name lvdatal #当卷组没有剩余的空间了,咱们能够建立物理卷,而后把物理卷添加到卷组!
VG Name vgdate
LV UUID bYR8Xp-kIS9-u6B5-O3UU-NqVv-ENd2-nEZ4WU
LV Write Access read/write
LV Creation host, time clear.limit, 2013-03-29 02:01:46 +0800
LV Status available
# open 1
LV Size 500.00 MiB
Current LE 125
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
shijzh增长逻辑卷组容量的时候有两种状况!!
一.卷组有空闲容量!
直接经过命令lvextend –L +200M /dev/vgdata/lvdatal 或者 lvextend –l 2.5G /dev/vgdata/lvdatal 给lvdatal增长200M空间
注意: lvextend -l +100%FREE /dev/vgdata/lvdatal 把剩余的全部空间分给lvdatal逻辑卷组
resize2fs /dev/vgdata/lvdatal 记得使用resize2fs命令来同步文件系统.
二.卷组容量已经用完,这种状况比较多..
首先 建立8e文件类型的物理分区,并把物理建立成物理卷!
建立屋里分区省略...
把物理分区建立成物理卷
[root@linux~]$pvcreate /dev/sdb3
而后把物理卷加入须要扩容的卷组 vgdate!
[root@linux~]$ vgextend vgdata /dev/sdb3 #卷组没有文件系统因此不用同步文件系统!!
使用vgdisplay vgdata 能够查看vgdata卷组的容量是否增长了!!
而后使用命令 lvextend –L +200M /dev/vgdata/lvdatal 或者 lvextend –l 2.5G /dev/vgdata/lvdatal 给lvdatal增长200M空间
注意: lvextend -l +100%FREE /dev/vgdata/lvdatal 把剩余的全部空间分给lvdatal逻辑卷组
最后 记得使用 resize2fs /dev/vgdata/lvdatal (resize2fs 命令来同步文件系统).
LVM的删除!! 删除和安装同样反着来就行了!!从卸载-删除逻辑卷-删除卷组vg-删除物理卷pv-删除物理分区
卸载 : umount /back
删除逻辑卷: lvremove /dev/vgdata/lvdatal
删除卷组:vgremove vgdata
删除物理卷:pvremove /dev/sdb1
pvremove /dev/sdb2
删除物理分区: 这个就很少说了!!
以上知识LVM经常使用的增长容量的功能和建立/删除lvm的具体方法,其它的 缩减逻辑卷组 磁盘损坏转移数据能够参考 http://dreamfire.blog.51cto.com/418026/1084729/
---------------工做中遇到的问题--------------------------
Vsphere 虚拟机硬盘扩容步骤;
注意:被扩容的磁盘分区必须是LVM系统管理的分区. 不然没法对分区扩容.
1:先经过sphere client 或者 vcenter 关闭虚拟机给虚拟机扩容.
2:进入linux系统分区状况
[root@DFS2 src]# fdisk -l
Disk /dev/sda: 96.6 GB, 96636764160 bytes
255 heads, 63 sectors/track, 11748 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0002db15
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 10444 83373056 8e Linux LVM (符合扩容要求)
3:在/dev/sda设备上建立新的主分区,即把新增的容量作成一个新的主分区.
fdisk /dev/sda WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): n Command action l logical (5 or over) p primary partition (1-4)p Partition number (1-4): 3 First cylinder (2611-3916, default 2611): "enter"Using default value 2611 Last cylinder, +cylinders or +size{K,M,G} (2611-3916, default 3916): "enter"Using default value 3916 Command (m for help): t Partition number (1-5): 3 Hex code (type L to list codes): 8e Changed system type of partition 3 to 8e (Linux LVM) Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks.
4:把建立的分区建立成物理卷并加入到卷组.
root@Mega:~# pvcreate /dev/sda3 # Device /dev/sda3 not found (or ignored by filtering). root@Mega:~# pvcreate /dev/sda3 Physical volume "/dev/sda3" successfully created root@Mega:~# vgdisplay --- Volume group --- VG Name Mega ... VG Size 19.76 Gib root@Mega:~# vgextend Mega /dev/sda3 Volume group "Mega" successfully extended root@Mega:~# pvscan PV /dev/sda5 VG Mega lvm2 [19.76 GiB / 0 free] PV /dev/sda3 VG Mega lvm2 [10.00 GiB / 10.00 GiB free] Total: 2 [29.75 GiB] / in use: 2 [29.75 GiB] / in no VG: 0 [0 ] root@Mega:~# lvdisplay --- Logical volume --- LV Name /dev/Mega/root root@Mega:~# lvextend /dev/Mega/root /dev/sda3 Extending logical volume root to 28.90 GiB Logical volume root successfully resized oot@Mega:~# resize2fs /dev/Mega/rootresize2fs 1.41.12 (17-May-2010) Filesystem at /dev/Mega/root is mounted on /; on-line resizing required old desc_blocks = 2, new_desc_blocks = 2 Performing an on-line resize of /dev/Mega/root to 7576576 (4k) blocks. The filesystem on /dev/Mega/root is now 7576576 blocks long.
学习就学习呗,怎么还考试?!怎么人和人之间一点信任都没有!