Think before you speak, read before you think.

linux创建lvm

一、概念:

1).PV(Physical Volume):物理卷,处于LVM最底层,可以是物理硬盘或者分区。
2).VG(Volume Group):物理卷组,建立在PV之上,可以含有一个到多个PV。
3).LV(Logical Volume):逻辑卷,建立在PV之上,相当于原来分区的概念。不过大小可动态改变。
4).PE(Physical Extend):物理区域,PV中可以用于分配的最小存储单位,可以在建立PV时指定,如1,2,4,8… …64M,同一VG中的所有PV的PE应该相同。
5).LE(Logical Extend):逻辑区域,LV中可以用于分配的最小存储单元,取决于LV所在PV中PE的大小,是PE的整数倍。
6).VGDA(Volume Group Descriptor Area):卷组描述区域,存在于每个PV中,用于描述该PV本身、PV所含VG、VG中的LV以及LV中的物理区域分配等信息,在使用pvcreate命令建立PV时建立。

二、步骤:

1).建立LVM类型的分区
2).建立LVM物理卷PV
3).建立LVM卷组VG
4).建立LVM逻辑卷LV
5).建立文件系统
6).挂接文件系统
7).使用文件系统

三、示例

有硬盘sdb和sdc,sdb打算存数据盘,sdc用做数据的备份,为了防止以后空间不足等情况,需要创建lv,并分别挂载到/data和/backup下。

1).要使用新硬盘,创建物理卷,这里使用整块硬盘

pvcreate /dev/sdb
pvcreate /dev/sdc

pvdisplay:显示PV属性
pvscan:在系统所有硬盘上查找PV
pvdata:显示某个PV的详细信息

2).将两块硬盘分别创建并加入不同的组datavg和backupvg

vgcreate data /dev/sdb
vgcreate backup /dev/sdc

vgdisplay:显示卷组的属性
vgscan:查找系统现有VG卷组
vgdata:显示VG卷组上的VGDA信息
vgchange:改变VG卷组属性
此命令有两个常用的参数:
-a:,–available{y|n}:在操作VG时,控制一个VG的可使用性,换句话说控制一个VG能否被系统内核识别。
-x,–allocation{y|n}:控制一个VG能否被扩充或者缩减(控制一个VG内的PV能否被分配)。
vgextend:用于向VG中添加新的PV
如 vgextend datavg /dev/sda6
vgreduce:用于从VG中删除PV
如 vgreduce datavg /dev/sda6
vgmerge:用于合并卷组。待合并的VG必须处于非活动状态。
例如:将demoVG2合并到demoVG1中
vgchange -a n demoVG1
vgchange -a n demoVG2
vgmerge demoVG1 demoVG2

vgsplit:用于拆分已经存在的VG,VG必须处于活动状态。

vgchange -a y demoVG2
vgsplit demoVG2 demoVG4 /dev/hdd2 /dev/hdd5 /dev/hdd6 /dev/hdd7

vgremove:用于删除VG,要求待删除的VG必须处于非激活状态。
vgchange -a n demoVG1
vgremove demoVG1

vgrename:用于重命名VG,不要求VG处于非激活状态。
vgrename demoVG2 demoVG3

3)、创建逻辑卷

由于这里要使用整个磁盘,所以在datavg和backupvg中分别建立datalv,backuplv

lvcreate -l 100%FREE -n datalv datavg
lvcreate -l 100%FREE -n backuplv backupvg

lvdisplay:显示LV的属性
lvscan:查找系统现有LV
lvdata:显示LV上的LVDA信息
lvchange:改变LV属性
lvextend:扩展LV容量。LVM的最突出特点就是随时动态的调整LV空间大小。
如lvextend -L +10m /dev/demoVG1/demoLV11 (为demoLV11增加10MB的空间)

创建50% vg大小的lv
lvcreate -l 50%VG -n lv001 vg001
创建使用余下所有vg大小的lv
lvcreate -l 100%FREE -n lv002 vg002
创建100M大小的lv
lvcreate -L 100M -n lv003 vg003

lvreduce:减小LV容量。
例如:
lvextend -L -10m /dev/demoVG1/demoLV11 (为demoLV11减少10MB的空间)

vrename:LV重命名
例如:
lvrename /dev/demoVG1/demoLV11 /dev/demoVG1/demoLV01
lvremove:删除LV(逻辑卷)

例如:
lvremove /dev/demoVG1/demoLV01 <11>resize2fs/e2fsadm/resize_reiserfs:类似于extend命令。

4).创建文件系统

mkfs.ext4 /dev/datavg/datalv
mkfs.ext4 /dev/backupvg/backuplv

5).挂载文件系统

mount /dev/datavg/datalv /data
mount /dev/backupvg/backuplv /backup

保证重启后还能用,/etc/fstab中加入

/dev/jira/jiralv /var/lib/jira ext4 defaults 0 1
/dev/backup/backuplv /var/lib/backup ext4 defaults 0 1

LVM相关命令

<1>lvmdiskscan:检测硬盘和分区中的逻辑卷管理信息
<2>lvmsadc:收集逻辑卷的读写统计信息
<3>lvmsar:查看LVM的日志文件信息
<4>lvmchange:复位LVM组件


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *