首页 > 其他分享 >lvm卷

lvm卷

时间:2023-01-08 21:33:50浏览次数:44  
标签:逻辑 卷组 dev 命令 lvm root localhost

物理卷(Physical Volume,PV):就是真正的物理硬盘或分区。
卷组(Volume Group,VG):将多个物理卷合起来就组成了卷组。组成同一个卷组的物理卷可以是同一块硬盘的不同分区,也可以是不同硬盘上的不同分区。我们可以把卷组想象为一块逻辑硬盘。
逻辑卷(Logical Volume,LV):卷组是一块逻辑硬盘,硬盘必须分区之后才能使用,我们把这个分区称作逻辑卷。逻辑卷可以被格式化和写入数据。我们可以把逻辑卷想象为分区。

第一步,就是要建立所需的物理分区,创建方式就是使用 fdisk 交互命令。需要注意的是,分区的系统 ID 不再是 Linux 默认的分区 ID 83,而要改成 LVM 的 ID 8e。在 /dev/sdb 硬盘中还有空闲空间,在这块硬盘中新建立 3 个分区,每 个分区的大小为 1GB。命令如下:
[root@localhost ~]# fdisk /dev/sdb #建立分区的命令省略
Command {m for help): p
Disk /dev/sdb: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 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: 0x00000ebd
Device Boot Start End Blocks Id System
/dev/sdbl 1 65 522081 83 Linux
/dev/sdb2 66 2610 20442712+ 5 Extended
/dev/sdb5 66 197 1060258+ 83 Linux
/dev/sdb6 198 329 1060258+ 83 Linux
/dev/sdb7 330 461 1060258+ 83 Linux

建立了/dev/sdb5 ~ 7三个分区

Command (m for help): t
Partition number (1-7): 5
Hex code (type L to list codes): 8e
Changed system type of partition 5 to 8e (Linux LVM)

把/dev/sdb5的分区ID改为8e,其他两个分区照做,改好后,查询结果如下:

Command (m for help): p
Disk /dev/sdb: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 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: 0x00000ebd
Device Boot Start End Blocks Id System
/dev/sdb1 1 65 52.2081 83 Linux
/dev/sdb2 66 2610 20442712+ 5 Extended
/dev/sdb5 66 197 1060258+ 8e Linux LVM
/dev/sdb6 198 329 1060258+ 8e Linux LVM
/dev/sdb7 330 461 1060258+ 8e Linux LVM #保存退出
[root@localhost ~]# partprobe #记得重新读取分区表,否则重启系统

建立物理卷
建立物理卷的命令如下:

[root@localhost ~]# pvcreate [设备文件名]
在建立物理卷时,我们既可以把整块硬盘都建立成物理卷,也可以把某个分区建立成物理卷。如果要把整块硬盘都建立成物理卷,则命令如下:

[root@localhost ~]# pvcreate /dev/sdb
在我们的使用中要把分区建立成物理卷,所以执行以下命令:

[root@localhost ~]# pvcreate /dev/sdb5

查询命令是 pvdisplay,它可以查看到更详细的物理卷状态,命令如下:

[root@localhost ~]# pvdisplay

删除物理卷
如果不再需要物理卷,则使用 pvremove 命令删除,命令如下:

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

在删除物理卷时,物理卷必须不属于任何卷组,也就是需要先将物理卷从卷组中删除,再删除物理卷。其实所有的删除就是把创建过程反过来,建立时不能少某个步骤,删除时也同样不能跳过某一步直接删除。

前面说过,可以把卷组想象成基本分区中的硬盘,是由多个物理卷组成的。卷组就已经可以动态地调整空间大小了,当卷组空间不足时,可以向卷组中添加新的物理卷。
建立卷组
建立卷组使用的命令是 vgcreate,具体命令格式如下:

[root@localhost ~]# vgcreate [-s PE 大小] 卷组名 物理卷名

[-s PE 大小] 选项的含义是指定 PE 的大小,单位可以是 MB、GB、TB 等。如果不写,则默认 PE 大小是 4MB。这里的卷组名指的就是要创建的卷组的名称,而物理卷名则指的是希望添加到此卷组的所有硬盘区分或者整个硬盘。

我们有三个物理卷 /dev/sdb5~7,先把 /dev/sdb5 和 /dev/sdb6 加入卷组,留着 /dev/sdb7 一会实验调整卷组大小,命令如下:

[root@localhost ~]# vgcreate -s 8MB scvg /dev/sdb5 /dev/sdb6

激活卷组
卷组创建完毕后,可以通过 vgchange 命令来激活卷组,而无法重启系统。

vgchange 命令的基本格式如下:

激活卷组

[root@localhost ~]# vgchange -a y 卷组名

停用卷组

[root@localhost ~]# vachange -a n 卷组名

查看卷组

[root@localhost ~]# vgdisplay

增加卷组容量
我们现在要把 /dev/sdb7 加入卷组,使用的命令是 vgextend。命令如下:

[root@localhost ~]# vgextend scvg /dev/sdb7

减少卷组容量
既然可以增加卷组容量,当然也可以减少卷组容量,我们使用 vgreduce 命令在卷组中删除物理卷。命令如下:

[root@localhost ~]# vgreduce scvg /dev/sdb7

删除卷组
删除卷组的命令是 vgremove。命令如下:

[root@localhost ~]# vgremove scvg

建立逻辑卷
我们现在已经建立了 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

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

[root@localhost ~]# mkfs.xfs /dev/scvg/lamplv
[root@localhost ~]# mkdir /disklvm
[root@localhost ~]# mount /dev/scvg/lamplv /disklvm/

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

lvresize 命令格式如下:

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

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

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

[root@localhost disklvm]# lvresize -L 2.5G /dev/scvg/lamplv

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

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

标签:逻辑,卷组,dev,命令,lvm,root,localhost
From: https://www.cnblogs.com/xiaotao188/p/17035435.html

相关文章

  • linux如何在没有做lvm情况下在线扩容磁盘(仅限于虚拟机,可以直接扩容磁盘的那种)
    前言当我们工作中难免会出现磁盘需要扩容的情况,如果生产环境的磁盘当初做了lvm那对于扩容磁盘那一定很简单,但是我们难免会遇到一种情况,那就是当时这个主机的磁盘我们并没......
  • LLVM IR 代码生成与解析器、抽象语法树
    LLVMIR代码生成与解析器、抽象语法树概述将基于词法分析器,为Kaleidoscope构建一个完整的解析器(Parser)。通过解析器,我们可以定义并构造抽象语法树(AbstractSyntaxTre......
  • Centos7下非lvm的分区扩容(重要)
    前言:一般在生产环境中,如果需要使用一个分区保存大量的文件,建议的做法是在虚拟化环境中增加一块单独的硬盘,挂载一个单独的分区,比如/data上图我们可以看到sdb整块硬盘 ......
  • LLVM IR与C++ MUL函数代码
    LLVMIR与C++MUL函数代码使用LLVMIR写程序熟悉LLVMIR最好的办法就是使用IR写几个程序。在开始写之前,建议先花30分钟-1个小时再粗略阅读下官方手册(https://llvm.org/do......
  • re | windows下编译llvm6.0.1
    re|windows下编译llvm6.0.1最近在搞编译器,用llvm生成IR,环境是windows,用的源码是llvm6.0.1源码下载:https://releases.llvm.org/download.html#6.0.1下第一个llvm的源代......
  • Linux LVM 磁盘扩容
    LVM的基本概念物理卷physicalVolume(PV):可以在上面建立组卷的媒介,可以是硬盘分区,也可以是硬盘本身或者回环文件(loopbackfile)。物理卷包括一个特殊的header,其余部分被切割为......
  • LLVM编译流程分析
    LLVM编译流程分析1.LLVM编译器概念LLVM与编译器息息相关,究竟什么是编译器呢?带着疑问往下看吧。编译器就是将一种语言(通常为高级语言)翻译为另一种语言(通常为低级语言的......
  • LLVM目标无关代码生成器The LLVM Target-Independent Code Generator
    LLVM目标无关代码生成器TheLLVMTarget-IndependentCodeGeneratorIntroductionRequiredcomponentsinthecodegeneratorThehigh-leveldesignofthecodeg......
  • LLVM ISA指令选择杂谈
    LLVMISA指令选择杂谈参考文献链接https://github.com/matejaMarjanovic/LLVM-Instruction-Selection指令选择是后端将IR代码转换为特定目标代码的一个阶段。ISel有几个......
  • Ubuntu 18.04 安装Clang/LLVM 11
    从APT安装InstalltheGPGKeyforhttps://apt.llvm.org/wget-O-https://apt.llvm.org/llvm-snapshot.gpg.key|sudoapt-keyadd-AddtherepoforClang11......