11.13 Linux LV逻辑卷

简介: 本节讲解如何将卷组划分为逻辑卷,我们可以把逻辑卷想象成分区,那么这个逻辑卷当然也需要被格式化和挂载。另外,逻辑卷也是可以动态调整大小的,而且数据不会丟失,也不用卸载逻辑卷。

本节讲解如何将卷组划分为逻辑卷,我们可以把逻辑卷想象成分区,那么这个逻辑卷当然也需要被格式化和挂载。另外,逻辑卷也是可以动态调整大小的,而且数据不会丟失,也不用卸载逻辑卷。

建立逻辑卷

我们现在已经建立了 3GB 大小的卷组 scvg,接下来需要在卷组中建立逻辑卷。命令格式如下:

[root@localhost ~]# lvcreate [选项] [-n 逻辑卷名] 卷组名

选项:

  • -L 容量:指定逻辑卷大小,单位为 MB、GB、TB 等;
  • -l 个数:按照 PE 个数指定逻辑卷大小,这个参数需要换算容量,太麻烦;
  • -n 逻辑卷名:指定逻辑卷名;

我们建立一个 1.5GB 大小的 lamplv 逻辑卷,命令如下:

[root@localhost ~]# lvcreate -L 1.5G -n lamplv scvg
Logical volume "lamplv" created
\#在scvg卷组中建立一个1.5GB大小的lamplv逻辑卷

建立完逻辑卷,还要在格式化和挂载之后才能正常使用。格式化和挂载命令与操作普通分区时是一样的,不过需要注意的是,逻辑卷的设备文件名是"/dev/卷组名/逻辑卷名",如逻辑卷 lamplv 的设备文件名就是"/dev/scvg/lamplv"。具体命令如下:

[root@localhost ~]# mkfs -t ext4 /dev/scvg/lamplv
\#格式化
[root@localhost ~]# mkdir /disklvm
[root@localhost ~]# mount /dev/scvg/lamplv /disklvm/
\#建立挂载点,并挂载
[root@localhost ~]# mount
…省略部分输出…
/dev/mapper/scvg-lamplv on /disklvm type ext4(rw)
\#已经挂载了

当然,如果需要开机后自动挂载,则要修改 /etc/fstab 文件。

查看逻辑卷

查看命令同样有两个,第一个命令 lvscan 只能看到系统中是否拥有逻辑卷,命令如下:

[root@localhost ~]# lvscan
ACTIVE '/dev/scvg/lamplv' [1.50 GiB] inherit
\#能够看到激活的逻辑卷,大小是1.5GB

第二个命令 lvdisplay 可以看到逻辑卷的详细信息,命令如下:

[root@localhost ~]# lvdisplay
---Logical volume---
LV Path /dev/scvg/lamplv
逻辑卷的设备文件名
LV Name lamplv
\#逻辑卷名
VG Name scvg
\#所属的卷组名
LV UUID 2kyKmn-Nupd-CldB-8ngY-NsI3-b8hV-QeUuna
LV Write Access read/write
LV Creation host, time localhost, 2013-04-18 03:36:39 +0800
LV Status available
\# open 1
LV Size 1.50 GiB
\#逻辑卷大小
Current LE 192
Segments 2
Allocation inherit
Read ahead sectors auto
-currently set to 256
Block device 253:0

调整逻辑卷大小

我们可以使用 lvresize 命令调整逻辑卷的大小,不过我们一般不推荐减少逻辑卷的空间,因为这非常容易导致逻辑卷中的文件系统的数据丟失。所以,除非我们已经备份了逻辑卷中的数据,否则不要减少逻辑卷的空间。

lvresize 命令格式如下:

[root@localhost ~]# lvresize [选项] 逻辑卷的设备文件名

选项:

  • -L 容量:安装容量调整大小,单位为 KB、GB、TB 等。使用 + 増加空间,- 代表减少空间。如果直接写容量,则代表设定逻辑卷大小为指定大小;
  • -l 个数:按照 PE 个数调整逻辑卷大小;

我们先在 /disklvm 分区中建立一些测试文件,一会儿调整完大小,再看看数据是否丟失了。

[root@localhost ~]# cd /disklvm/
[root@localhost disklvm]# touch testf
[root@localhost disklvm]# mkdir testd
[root@localhost disklvm]# ls
lost+found testd testf

lamplv 逻辑卷的大小是 1.5GB,而 scvg 卷组中还有 1.5GB 的空闲空间,那么增加 lamplv 逻辑卷的大小到 2.5GB。命令如下:

[root@localhost disklvm]# lvresize -L 2.5G /dev/scvg/lamplv
Extending logical volume lamplv to 2.50 GiB Logical volume lamplv successfully resized
\#增加lamplv逻辑卷的大小到2. 5GB,当然命令也可以这样写
[roots localhost disklvm] # lvresize -L +1G /dev/scvg/lamplv
[root@localhost disklvm]# lvdisplay
---Logical volume ---
LV Path /dev/scvg/lamplv
LV Name lamplv
VG Name scvg
LV UUID 2kyKmn-Nupd-CldB-8ngY-Ns13-b8hV-QeUuna
LV Write Access read/write
LV Creation host, time localhost, 2013-04-18 03:36:39 +0800 LV Status available
\# open 1
LV Size 2.50 GiB
\#大小改变了
Current LE 320
Segments 3
Allocation inherit
Read ahead sectors auto
-currently set to 256
Block device 253:0

逻辑卷的大小已经改变了,但是好像有如下一些问题:

[root@localhost disklvm]# df -h /disklvm/
文件系统 容量 已用 可用 已用% %挂载点
/dev/mapper/scvg-lamplv 1.5G 35M 1.4G 3%/ disklvm

怎么 /disklvm 分区的大小还是 1.5GB 啊?刚刚只是逻辑卷的大小改变了,如果要让分区使用这个新逻辑卷,则还要使用 resize2fs 命令来调整分区的大小。不过这里就体现出了 LVM 的优势:我们不需要卸载分区,直接就能调整分区的大小。

resize2fs命令的格式如下:

[root@localhost ~]# resize2fs [选项] [设备文件名] [调整的大小]

选项:

  • -f:强制调整;
  • 设备文件名:指定调整哪个分区的大小;
  • 调整的大小:指定把分区调整到多大,要加 M、G 等单位。如果不加大小,则会使用整个分区;

我们已经把逻辑卷调整到 2.5GB,这时就需要把整个逻辑卷都加入 /disklvm 分区中,命令如下:

[root@localhost ~]# resize2fs /dev/scvg/lamplv
resize2fs 1.41.12(17-May-2010)
Filesystem at /dev/scvg/lamplv is mounted on/ disklvm; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of/dev/scvg/lamplv to 655360 (4k) blocks.
The filesystem on /dev/scvg/lamplv is now 655360 blocks long.
\#已经调整了分区大小
[root@localhost ~]# df -h /disklvm/
文件系统 容量 已用 可用 已用% %挂载点
/dev/mapper/scvg-lamplv 2.5G 35M 2.4G 2% /disklvm
\#分区大小已经是2.5GB 了
[root@localhost ~]# ls /disklvm/
lost+found testd testf
\#而且数据并没有丟失

如果要减少逻辑卷的容量,则只需把增加步骤反过来再做一遍就可以了。不过我们并不推荐减少逻辑卷的容量,因为这有可能导致数据丟失。

删除逻辑卷

删除了逻辑卷,其中的数据就会丟失,所以要确定你真的需要删除这个逻辑卷。命令格式如下:

[root@localhost ~]#lvremove 逻辑卷的设备文件名

我们删除 lamplv 逻辑卷,记得在删除时要先卸载。 命令如下:

[root@localhost ~]# umount /dev/scvg/lamplv
[root@localhost ~]# Ivremove /dev/scvg/lamplv
Do you really want to remove active logical volume lamplv? [y/n]: n
\#如果这里选择y,就会执行删除操作,逻辑卷内的所有数据都会被清空
Logical volume lamplv not removed
目录
相关文章
|
7月前
|
Linux
Linux逻辑卷LVM和磁盘配额
Linux逻辑卷LVM和磁盘配额
36 0
|
8月前
|
Linux Shell KVM
【Linux系统KVM虚拟机实战】LVM逻辑卷之扩展Swap交换分区
【Linux系统KVM虚拟机实战】LVM逻辑卷之扩展Swap交换分区
163 0
|
9月前
|
Linux
Linux系统之创建逻辑卷
Linux系统之创建逻辑卷
125 0
|
10月前
|
5G Linux
Linux逻辑卷管理LVM
目前我们用的物理磁盘有内存限制,当我们把磁盘占满了,如果将文件放在其他磁盘对于以后的维护很是麻烦,单靠物理磁盘是无法解决空间增长的问题的这个时候逻辑卷就起到了很重要的作用,这篇文章的学习目标是,了解逻辑卷的优势特点,学会如何创建逻辑卷并且扩展逻辑卷。
151 0
|
10月前
|
存储 运维 Oracle
Linux系统管理--硬盘、卷组、逻辑卷和文件系统
增加两个20GB的硬盘,注意新增加的硬盘不能取代原来安装了操作系统的0号硬盘,不然无法启动。
Linux command lvextend 扩展逻辑卷设备
Linux command lvextend 扩展逻辑卷设备
Linux command lvextend 扩展逻辑卷设备
|
Linux
Linux中的LVM逻辑卷管理(你真可爱,我说时来不及思索,而思索之后,还是这样说)(二)
Linux中的LVM逻辑卷管理(你真可爱,我说时来不及思索,而思索之后,还是这样说)(二)
75 0
Linux中的LVM逻辑卷管理(你真可爱,我说时来不及思索,而思索之后,还是这样说)(二)
|
存储 Linux
Linux中的LVM逻辑卷管理(你真可爱,我说时来不及思索,而思索之后,还是这样说)(一)
Linux中的LVM逻辑卷管理(你真可爱,我说时来不及思索,而思索之后,还是这样说)(一)
130 0
Linux中的LVM逻辑卷管理(你真可爱,我说时来不及思索,而思索之后,还是这样说)(一)
|
Linux
【Linux】扩充逻辑卷
【Linux】扩充逻辑卷
96 0
【Linux】扩充逻辑卷
|
存储 缓存 运维
linux篇-Linux逻辑卷详解总结
linux篇-Linux逻辑卷详解总结
362 0