一、逻辑卷是什么?
1、lvm:全称logical volume manager,即逻辑卷管理器。
2、那么lv即逻辑卷究竟是什么?
个人认为:逻辑卷就是把一个或多个物理磁盘设备组织为一个由相同大小的存储单元 PE构成的逻辑卷组VG之后,从次卷组上划分若干存储单元PE构成的一个逻 辑卷LV,因此LV是相对于VG而存在的,它的存在相当于从VG这个大的逻辑 磁盘上分出去的一个分区,仅此而已。因此,逻辑卷LV就相对于VG是一个 完整的分区,我们可以对其进行格式化(即创建文件系统)并挂载使用。
3、逻辑卷在我们磁盘上的表现形式:
/dev/myvg/lvl :myvg是我自己创建的VG的名字,lvl是我自己
/dev/mapper/myvg-lvl 创建的LV的名字!!!
/dev/dm-#
这3个文件都可以找到我们的逻辑卷,不过其实前面两个是最后一个的链接!!
二、如何把自己的物理磁盘做成逻辑卷LV?
1、想必从上面的介绍,朋友们已经能够看出逻辑卷的基本构成原理,那么我们就开始一步步从 最底层演示如何创建并使用逻辑卷。
2、创建一个大小为20G的逻辑卷操作步骤,我这里暂且用两个10G的物理磁盘作为演示 。大致 分为5步:
1、分区
2、创建PV
3、创建VG
4、创建LV
3、详细步骤演示 :
1、用fdisk工具创建两个大小均为10G的物理磁盘分区,这个很简单,可以man fdisk查看其具体用法, fdisk /dev/sda,轻松创建两个10G的分区后,设置其 ID为8e,用t命令即可,这个很简单,但很重要!我们这里分别创建两个
/dev/sda5 /dev/sda6,作为演示。
2、创建PV,使用命令pvcreate ,但是创建之前,我们不应该忘了,我们刚刚创建的
两个物理磁盘内核还没有识别,如何知道呢?我们可以使用 cat /proc/partitions查看,如何让内核识别? 使用 partx -a /dev/sda,之后我们就可 以创建PV了, 使用pvcreate /dev/sda5 pvcreate /dev/sda6,创建完成之后,我 们还可以用pvs,或者pvdisplay查看已经创建好的PV。
3、创建VG,我们使用vgcreat -s 16m myvg /dev/sda5 /dev/sda6:这里-s:指明PE 大小为16m。同样可以用vgdisplay查看已经创建好的VG。
4、创建LV,我们使用lvcreate -L 5G -n lvl myvg,同样使用lvdisplay查看已经创建 好的LV
三、到目前位置,我们已经创建好了一个大小为5G,PE大小为16m,VG大小为20G的LV。我们要想正常使 用它,还需:
1、格式化,即创建文件系统:
mke2fs -t ext4 /dev/myvg/lvl
2、挂载:
mkdir -pv /tmp/mylv
mount /dev/myvg/lvl /tmp/mylv
3、到此,我们lvl这个逻辑卷依然可以正常使用了
四、逻辑卷的VG的扩展及缩减 。
1、扩展VG,拿/dev/sda7来说,很简单,使用vgextend myvg /dev/sda7,就能把/dev/sda7这个 PV添加至myvg这个VG中。
2、缩减VG,拿/dev/sda7来说,分两步:
1、先把/dev/sda7这个PV撤走,因为如果直接缩减VG,将会使/dev/sda7这个PV中的数 据丢失,因此,应先撤/dev/sda7,内核会自行把/dev/sda7中的数据移到此VG的其 它PV中去。
2、缩减VG,vgreduce myvg /dev/sda7,即可。
五、逻辑卷的LV的扩展及缩减。
1、扩展LV,因为LV即是我们直接所面对的可以正常使用的逻辑分区,其上面除了我们容易想到 的数据之外,最重要的还有文件系统,因为,当我们格式化此LV的时候,已经在整个LV上面 覆盖了范围同LV大小等同的文件系统,这里暂且使用ext4,因此,我们在扩展或者缩减LV大 小的时候,一定不能忽略其上面的文件系统的存在!!!
扩展LV,先扩展LV大小,再扩展文件系统!
lvextend 10G /dev/myvg/lvl :扩展至10G
lvextend +10G /dev/myvg/lvl :扩展10G ,注意区别!!!
扩展文件系统ext4,resize2fs /dev/myvg/lvl [SIZE],后面的SIZE不写默认为整个LV 空间大小。
注:此处的resize2fs:至适用于ext系列的文件系统,另外,btrfs文件系统自带逻辑卷 功能支持,这里不做详解。
2、缩减LV,可想而知,欲缩减LV,应先缩减文件系统,再缩减LV大小!然而,缩减的核心在 此,但实际操作起来,大体需要以下5个步骤!
1、卸载LV,
unmount /dev/myvg/lvl
2、检查文件系统是否正常,
e2fsck -f /dev/myvg/lvl
3、缩减文件系统大小,
resize2fs /dev/myvg/lvl SIZE,这里之所以没有把SIZE加[],是因为既然缩 减,就指定个大小。
4、缩减LV,
lvreduce 10G /dev/myvg/lvl :缩减至10G
lvreduce -10G /dev/myvg/lvl :缩减10G,同上扩展,注意区别!!!
5、挂载文件系统,
mount /dev/myvg/lvl /tmp/mylv
六、lVM也具备快照功能,此功能见后续篇章详解。
七、至此,有关LVM的详细使用操作已告一段落。当然,LVM做为一款强大的逻辑卷管理工具,它也有自
己的配置文件。此处不做详解。