通过命令模式进行LVM分区,也就是通过命令进行LVM逻辑卷分区。

1、物理卷管理

(1)准备硬盘或者分区

前提还是首先要有一块硬盘或者分区。

创建方式就是使用fdisk交互命令,不过需要注意的是,分区的系统ID不再是Linux默认的分区ID号83了,而要改成LVM的ID号8e

通过fdisk交互命令,在扩展分区sdb3中创建了三个逻辑分区sdb4sdb5sdb6

如下图所示:

从图中可以看出,这三个分区的默认系统ID号为83,我们需要修改程LVM的ID号8e

执行如下命令即可,逐一修改。

最后结果如下:

最后保存退出即可,如下图所所示:

需要执行reboot命令,重启一下系统。

(2)建立物理卷

有了上边的分区之后,我们就可以把分区建立成物理卷了。

创建物理卷命令:

[root@localhost ~]# pvcreate [设备文件名]

建立物理卷时,我们说即可以把整块硬盘都建立成物理卷,也可以把某个分区建立成物理卷。

如果要把整块硬盘都建立成物理卷,命令如下:

[root@localhost ~]# pvcreate /dev/sdb(硬盘的设备文件名)

在我们的使用中,是要把分区建立成为物理卷,执行以下命令:

[root@localhost ~]# pvcreate /dev/sdb5(分区名称)

执行命令结果:

(3)查看物理卷

需要执行pvscan 命令查看物理卷。

[root@localhost ~]# pvscan

命令结果如下:

我们可以看到在我的系统中,/dev/sdb5-7这三个分区是物理卷。

最后一行的意思是:总共3个物理卷[大小] / 使用了0个卷[大小] / 空闲3个卷[大小]

第二个查询命令是pvdisplay命令,它可以查看到更详细的物理卷状态。

命令如下:

[root@localhost ~]# pvdisplay

命令结果如下:

(3)删除物理卷

需要执行pvremove命令。

命令如下:

[root@localhost ~]# pvremove /dev/sdb7

2、创建卷组

(1)建立卷组

建立卷组格式如下:

[root@localhost ~]# vgcreate [选项] 卷组名 物理卷名

选项:

  • -s:指定PE的大小,单位可以是MBGBTB等。如果不写默认PE大小是4MB。(vgcreate命令的选项就-s一个,还是修改PE大小的,所以上边命令中选项就可以省略了。 )

我们有三个物理卷/dev/sdb5-7,我们先把/dev/sdb5和/dev/sdb6加入卷组,留着/dev/sdb7一会实验调整卷组大小。

命令如下:

[root@localhost ~]# vgcreate scvg /dev/sdb5 /dev/sdb6
Volume group "scvg" successfully created
# 提示:名称为scvg的VG创建成功

上边命令的作用就是把/dev/sdb5和/dev/sdb6物理卷加入到scvg卷组中。

(2)查看卷组

查看卷组的命令同样是两个,vgscan命令主要是查看系统中是否有卷组,而vgdisplay命令则是查看卷组的详细状态的。

执行vgscan命令,结果如下:

执行vgdisplay命令,结果如下:

(3)增加卷组容量

卷组是可以进行扩容的,使用的命令是vgextend

执行命令:把/derv/sdb7物理卷也加入scvg卷组。

[root@localhost ~]# vgextend scvg /dev/sdb7
Volume group "scvg" successfully extended

执行vgdisplay命令查看卷组,结果如下:

说明:如果有更多的物理卷,可以随时加入到卷组中。

(4)减小卷组容量

特别注意:

理论上卷组容量是可以缩减的,但是不允许进行缩减操作。例如:如果你6GB容量写满数据,你缩减2GB容量,数据肯定会丢失。

# 在卷组中删除/dev/sdb7物理卷
[root@localhost ~]# vgreduce scvg /dev/sdb7
Removed "/dev/sdb7" from volume group "scvg" # 删除所有的未使用物理卷
[root@localhost ~]# vgreduce -a

(5)删除卷组

使用vgremove 命令,可以删除卷组。

[root@localhost ~]# vgremove scvg
Volume group "scvg" successfully removed

卷组删除之后,才能删除物理卷。

还要注意的是,scvg卷组还没有添加任何的逻辑卷,才可以删除,那如果拥有了逻辑卷,记得先删除逻辑卷再删除卷组。还记得我刚说的吗?删除就是安装的反过程,每一步都不能跳过。

3、创建逻辑卷管理

(1)建立逻辑卷

建立逻辑卷命令:

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

选项:

  • -L容量:指定逻辑卷大小,单位MBGBTB等。(只要卷组中有空间,分配多大的空间都可以,不一定按照物理卷的大小进行分配。)
  • -l个数:按照PE个数指定逻辑卷大小,这个参数需要换算容量,太麻烦。
  • -n逻辑卷名:指定逻辑卷名。

那我们就建立一个3GB的sclv逻辑卷,建立命令如下:

#在scvg卷组中建立3GB的sclv逻辑卷
[root@localhost ~]# lvcreate -L 3G -n sclv scvg
Logical volume "sclv" created

建立完逻辑卷之后,还要对逻辑卷进行格式化和挂载,之后逻辑卷才能正常使用。格式化和挂载命令的操作,和操作普通分区时是一样的,不过需要注意的是,逻辑卷的设备文件名是/dev/卷组名/逻辑卷名,如我们的sclv的设备文件名就是/dev/scvg/sclv

具体命令如下:

# 格式化
[root@localhost ~]# mkfs -t ext4 /dev/scvg/sclv # 建立挂载点,并挂载
[root@localhost ~]# mkdir /disklvm
[root@localhost ~]# mount /dev/scvg/sclv /disklvm/

再用mount命令查看分区挂载情况(用df -h命令也可以查看)。

执行命令如下:

可以看到sclv逻辑卷,已正常挂载。

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

(2)查看逻辑卷

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

命令如下:

# 能够看到激活的逻辑卷,大小事3GB
[root@localhost ~] # lvscan
ACTIVE '/dev/scvg/sclv' [3 GiB]inherit

第二个命令是lvdisplay,可以看到逻辑卷的详细信息。

命令如下:

(3)调整逻辑卷大小

调整逻辑卷大小用lvresize命令,执行命令如下。

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

选项:

  • -L容量:安装容量调整大小,单位KBGBTB等。使用+代表增加空间,-号代表减少空间。如果直接写容量,代表设定逻辑卷大小为指定大小。
  • -l个数:按照PE个数调整逻辑卷大小。(一般不按这个分配空间,不好算。)

提示:逻辑卷增加容量,逻辑卷中的文件是不会丢失的。缩减容量不符合使用习惯,不要使用。

刚刚的sclv逻辑卷的大小是3GB,我们的scvg卷组中还有3GB的空闲空间,那么增加sclv逻辑卷的大小到4GB。

命令如下:

# 增加sclv逻辑卷的大小到4GB
[root@localhost ~]# lvresize -L 4G /dev/scvg/sclv
Size of logical volume scvg/sclv changed from 3.00 GiB (768 extents) to 4.00 GiB(1024 extents).
Logical volume userlv successfully resized # 当然命令也可以这样写
[root@localhost ~]# lvresize -L +1G /dev/scvg/sclv

执行lvdisplay命令查看卷组,结果如下:

逻辑卷的大小已经改变了,但是好像有些问题,我通过df -h命令查看磁盘信息,发现sclv逻辑卷的大小还是3GB,如下图:

是因为sclv逻辑卷的大小调整了,但是sclv逻辑卷的挂载,依旧挂的是3GB大小。

如果需要让分区使用这个新扩容的逻辑卷,我们还要使用resize2fs命令来调整分区的大小。不过这里就体现了LVM的优势,我们不需要卸载分区,直接就能调整分区的大小。(总结一下说,lvresize命令是逻辑卷的扩容,resize2fs命令是逻辑卷文件系统的扩展。)

resize2fs命令格式如下:

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

选项:

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

执行resize2fs命令,之后再用df -h命令查看磁盘信息。

执行命令结果如下:

可以看到sclv逻辑卷的大小变成了4GB。(不需要卸载分区,里边的数据也不会丢失,很方便。)

(4)删除逻辑卷

一般不用此需求,创建好的逻辑卷就踏实的用。

lvremove命令是删除逻辑卷,格式如下:

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

我们删除sclv这个逻辑卷,记得删除时要先卸载。

命令如下:

[root@localhost ~]# umount /dev/scvg/sclv
[root@localhost ~]# lvremove /dev/scvg/sclv

『学了就忘』Linux文件系统管理 — 67、通过命令模式进行LVM分区的更多相关文章

  1. 『学了就忘』Linux文件系统管理 — 65、LVM逻辑卷管理介绍

    目录 1.LVM逻辑卷管理的简介 2.LVM逻辑卷管理的原理 3.总结建立LVM分区的步骤 1.LVM逻辑卷管理的简介 LVM是Logical Volume Manager的简称,中文就是逻辑卷管理. ...

  2. 『学了就忘』Linux文件系统管理 — 57、Linux文件系统介绍

    目录 1.了解硬盘结构(了解即可) (1)硬盘的逻辑结构 (2)硬盘接口 2.Linux文件系统介绍 (1)Linux文件系统的特性 (2)Linux常见文件系统 3.整理一下对文件系统的认识 在了解 ...

  3. 『学了就忘』Linux文件系统管理 — 58、常用硬盘管理相关命令

    目录 1.df命令 2.du命令 3.fsck文件系统修复命令 4.显示磁盘状态dumpe2fs 5.查看文件的详细时间 6.判断文件类型 1.df命令 df命令用于统计分区的占用状况. [root@ ...

  4. 『学了就忘』Linux文件系统管理 — 59、使用fdisk命令进行手工分区

    目录 1.手工分区前提 (1)要有一块新的硬盘 (2)在虚拟机中添加一块新硬盘 2.手工分区 (1)查看Linux系统所有硬盘及分区 (2)手工分区:详细步骤 (3)保存手工分区 3.硬盘格式化 4. ...

  5. 『学了就忘』Linux文件系统管理 — 60、Linux中配置自动挂载

    目录 1.自动挂载 2.如何查询系统下每个分区的UUID 3.配置自动挂载 4./etc/fstab文件修复 上一篇文章我们说明了手动分区讲解,对一块新硬盘进行了手动分区和挂载. 但是我们发现重启系统 ...

  6. 『学了就忘』Linux文件系统管理 — 61、使用parted命令进行分区

    目录 1.parted命令介绍 2.parted交互模式 3.建立分区 (1)查看分区 (2)修改成GPT分区表 (3)建立分区 (4)建立文件系统(格式化) (5)调整分区大小 (6)删除分区 1. ...

  7. 『学了就忘』Linux文件系统管理 — 66、通过图形界面进行LVM分区

    目录 1.选择自定义分区 2.分配boot分区 3.创建LVM物理卷 4.生成卷组 5.创建逻辑卷 6.格式化安装 我们先用新安装Linux系统时的图形化界面,来演示一下LVM逻辑卷如何进行分区. 提 ...

  8. 『学了就忘』Linux文件系统管理 — 64、磁盘配额的配置步骤

    目录 1.手工建立一个5GB的分区 2.建立需要做限制的三个用户 3.在分区上开启磁盘配额功能 4.建立磁盘配额的配置文件 5.开始设置用户和组的配额限制 6.启动和关闭配额 7.磁盘配额的查询 8. ...

  9. 『学了就忘』Linux文件系统管理 — 62、手动分配swap分区

    目录 1.查看swap分区情况 2.手动修改swap分区 3.格式化swap分区 4.使用swap分区 5.配置swap分区开机之后自动挂载 1.查看swap分区情况 swap分区就相当于是内存的一个 ...

随机推荐

  1. 探索Mybatis之JDK动态代理:探究Proxy.newProxyInstance()生成的代理类解析

    Mybatis的Mapper接口UserMapper 1 package com.safin.Mapper; 2 3 import com.safin.Pojo.User; 4 5 import ja ...

  2. Python matplotlib numpy 曼德尔布罗特集合 曼德尔布罗特 B.Madelbrot

    import numpy as np import matplotlib.pyplot as plt def mandelbrot(h,w,maxit=20): y,x = np.ogrid[-1.4 ...

  3. hdu 5090 Game with Pearls (额,, 想法题吧 / 二分图最大匹配也可做)

    题意: 给你N个数,a1,,,,an.代表第i个管子里有ai个珍珠. 规定只能往每根管里增加k的倍数个珍珠. 如果存在一套操作,操作完毕后可以得到1~N的一个排列,则Jerry赢,否则Tom赢. 问谁 ...

  4. hdu 5100 Chessboard (额,,,,,就叫它趣味数学题吧)

    题意: 用K*1的砖块去覆盖N*N的大矩形,问最多能覆盖多少块. 详细证明:(转载自matrix67) Matrix67: The Aha Moments 趣题:用 k × 1 的矩形覆盖 n × n ...

  5. centos yum更换阿里镜像

    #1.如果没有wget命令,则需要执行下面命令进行安装.为保险期间,先执行下面命令. yum install wget #2.备份原镜像源,以免出错后可以恢复. mv /etc/yum.repos.d ...

  6. Vuex状态管理——任意组件间通信

    核心概念 在Vue中实现集中式状态(数据)管理的一个Vue插件,对vue应用中多个组件的共享状态进行集中式的管理(读/写),也是一种组件间通信的方式,且适用于任意组件间通信. 每一个 Vuex 应用的 ...

  7. MongoDB与MySQL效率对比

    本文主要通过批量与非批量对比操作的方式介绍MongoDB的bulkWrite()方法的使用.顺带与关系型数据库MySQL进行对比,比较这两种不同类型数据库的效率.如果只是想学习bulkWrite()的 ...

  8. 数据库炸了----我就重启了一下啊(Communications link failure)

    重启数据库后,数据库大部分时间连不上了:连续请求不会报错,请求间隔时间稍微长一点就会报错报错如图: com.mysql.cj.jdbc.exceptions.CommunicationsExcepti ...

  9. RabbitMQ 处理过慢,原来是一个 SQL 缓存框架导致的 GC 频繁触发

    一:背景 1. 讲故事 上个月底,有位朋友微信找到我,说他的程序 多线程处理 RabbitMQ 时过慢,帮忙分析下什么原因,截图如下: 这问题抛出来,有点懵逼,没说CPU爆高,也没说内存泄漏,也没说程 ...

  10. 『学了就忘』Linux软件包管理 — 46、yum命令详细介绍

    目录 1.yum命令的查询操作 2.使用yum命令安装服务 3.使用yum命令升级服务 4.使用yum命令卸载服务 5.yum组管理命令 (1)查询可以安装的软件组 (2)查询软件组内包含的软件 (3 ...