LVM逻辑卷与磁盘配额

一、LVM逻辑卷

1、LVM概述

LVM(Logical Volume Manager,逻辑卷管理)重点在于可以弹性地调整文件系统的容量,需要文件的读写性能或是数据的可靠性,LVM可以整合多个物理分区,让这些分区看起来像是一块磁盘一样,能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性。
注意:/boot分区用于存放引导文件,不能基于LVM创建

2、 LVM机制的基本概念(可结合末尾关系图进行理解)

2.1 PE(Physical Extent,物理扩展块)

VM默认使用4MB的PE数据块,它是整个LVM中最小的存储数据单位,也就是说我们的文件数据都是借由写入PE来完成的

2.2 PV ( Physical Volume, 物理卷)

物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录LVM的属性,并把存储空间分割成默认大小为4MB的基本单元(PE),从而构成物理卷。物理卷一般直接使用设备文件名称,例如:/dev/sdb1、/dev/sdc1、/dev/sdd 等。

2.3 VG (Volume Group, 卷组)

由一个或多个物理卷组成一个整体,即称为卷组,许多个物理卷可以分别组成不同的卷组,卷组的名称可以由我们自行定义,在卷组中可以随时根据需求动态地添加或移除物理卷。

2.4 LV (Logical Volume,逻辑卷)

逻辑卷基于PE建立在卷组之上,与物理卷没有直接关系。对于逻辑卷来说,每一个卷组就是一个整体,从卷组中分割出的一块空间,形成逻辑卷。使用mkfs 等工具可在逻辑卷上创建文件系统,就可以挂载到Linux系统中的目录下使用。

分区的优点:

  • 优化读写性能
  • 实现磁盘空间配额限制
  • 提高修复速度
  • 隔离系统和程序
  • 安装多个OS
  • 采用不同文件系统

分区的缺点:

  • 只能使用一块硬盘的空间
  • 如果过分区必须是连续的空间
  • 如果一旦分区不能改变大小(不能随意改变大小,删除分区会造成数据丢失)

什么是逻辑卷

将硬盘拆分成最小单位PE,然后组成逻辑卷

建立逻辑卷

  1. .要有物理磁盘:物理卷(分区 可以是一整块硬盘)
  2. 将多个物理卷组合成 卷组的容量是从物理卷中提取
  3. 建立逻辑卷的容量是从卷组当中提取
    /dev/sdc 表示整块硬盘
    /dev/sdc1 表示一个分区

注意使用分区作为物理卷,分区一定要是8e 格式

实际应用

配置逻辑卷

实验步骤

步骤一:划立分区

[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x8fd606b5 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p):
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-125829119,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-125829119,默认为 125829119):+10G
分区 1 已设置为 Linux 类型,大小设为 10 GiB

命令(输入 m 获取帮助):N
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p):
Using default response p
分区号 (2-4,默认 2):
起始 扇区 (20973568-125829119,默认为 20973568):
将使用默认值 20973568
Last 扇区, +扇区 or +size{K,M,G} (20973568-125829119,默认为 125829119):+10G
分区 2 已设置为 Linux 类型,大小设为 10 GiB

命令(输入 m 获取帮助):N
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p):
Using default response p
分区号 (3,4,默认 3):
起始 扇区 (41945088-125829119,默认为 41945088):
将使用默认值 41945088
Last 扇区, +扇区 or +size{K,M,G} (41945088-125829119,默认为 125829119):+10G
分区 3 已设置为 Linux 类型,大小设为 10 GiB

命令(输入 m 获取帮助):
命令(输入 m 获取帮助):N
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e):
Using default response e
已选择分区 4
起始 扇区 (62916608-125829119,默认为 62916608):
将使用默认值 62916608
Last 扇区, +扇区 or +size{K,M,G} (62916608-125829119,默认为 125829119):+10G
分区 4 已设置为 Extended 类型,大小设为 10 GiB

命令(输入 m 获取帮助):W
The partition table has been altered!

Calling ioctl() to re-read partition table.

正在同步磁盘。
[root@localhost ~]# lsblk
NAME       MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda          8:0    0   60G  0 disk
├─sda1       8:1    0    1G  0 part /boot
└─sda2       8:2    0   59G  0 part
  ├─centos-root
           253:0    0 38.3G  0 lvm  /
  ├─centos-swap
           253:1    0    2G  0 lvm  [SWAP]
  └─centos-home
           253:2    0 18.7G  0 lvm  /home
sdb          8:16   0   60G  0 disk
├─sdb1       8:17   0   10G  0 part
├─sdb2       8:18   0   10G  0 part
├─sdb3       8:19   0   10G  0 part
└─sdb4       8:20   0    1K  0 part
sr0         11:0    1  4.2G  0 rom  /run/media/root/CentOS 7 x86_64

步骤二:建立物理卷

[root@localhost ~]# pvcreate /dev/sd{b1,c}    //创建物理卷
  Physical volume "/dev/sdb1" successfully created.

  Physical volume "/dev/sdbc" successfully created.

LVM逻辑卷与磁盘配额

步骤三:建立卷组

[root@localhost ~]# vgcreate vg0 /dev/sd{b1,c}   //创建卷组
  Volume group "vg0" successfully created

LVM逻辑卷与磁盘配额

步骤四:建立逻辑卷

[root@localhost ~]# lvcreate -L 10G -n xhz vg0   //建立逻辑卷
  Logical volume "xhz" created.

LVM逻辑卷与磁盘配额

步骤五:建立文件系统

[root@localhost ~]# mkfs.xfs /dev/vg0/xhz      //建立xfs文件系统
meta-data=/dev/vg0/xhz            isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=2621440, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

LVM逻辑卷与磁盘配额

步骤六:挂载

[root@localhost ~]# mount /dev/vg0/xhz /mnt/    //将逻辑卷挂载到/mnt下
[root@localhost ~]# df -Th    ////查看磁盘信息
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        39G  4.9G   34G   13% /
devtmpfs                devtmpfs  897M     0  897M    0% /dev
tmpfs                   tmpfs     912M     0  912M    0% /dev/shm
tmpfs                   tmpfs     912M  9.0M  903M    1% /run
tmpfs                   tmpfs     912M     0  912M    0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  179M  836M   18% /boot
/dev/mapper/centos-home xfs        19G   37M   19G    1% /home
tmpfs                   tmpfs     183M   32K  183M    1% /run/user/0
/dev/sr0                iso9660   4.3G  4.3G     0  100% /run/media/root/CentOS 7 x86_64
/dev/mapper/vg0-xhz      xfs        10G   33M   10G    1% /mnt

LVM逻辑卷与磁盘配额

逻辑卷扩容

实验内容:

现要求将ky再扩容10G

实验步骤:

步骤一:给卷组扩容(原本卷组没有足够空间)

[root@localhost ~]# vgextend vg0 /dev/sdb3      //为vg0 增加一个物理卷
  Physical volume "/dev/sdb3" successfully created.

  Volume group "vg0" successfully extended

LVM逻辑卷与磁盘配额

步骤二:给卷组扩容

csharp;gutter:true; [root@localhost ~]# lvextend -r -L +10G /dev/vg0/xhz Size of logical volume vg0/xhz changed from 10.00 GiB (2560 extents) to 20.00 GiB (5120 extents).</p> <p>Logical volume vg0/xhz successfully resized.</p> <p>[root@localhost ~]# df -Th 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root xfs 39G 4.9G 34G 13% / devtmpfs devtmpfs 897M 0 897M 0% /dev tmpfs tmpfs 912M 0 912M 0% /dev/shm tmpfs tmpfs 912M 9.0M 903M 1% /run tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup /dev/sda1 xfs 1014M 179M 836M 18% /boot /dev/mapper/centos-home xfs 19G 37M 19G 1% /home tmpfs tmpfs 183M 32K 183M 1% /run/user/0 /dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64 /dev/mapper/vg0-xhz xfs 20G 33M 20G 1% /mnt //查看磁盘信息,已经扩容成功</p> <pre><code> ![LVM逻辑卷与磁盘配额](https://johngo-pic.oss-cn-beijing.aliyuncs.com/articles/20230605/2964633-20220928155127777-297796741.png) </code></pre> <p>注意: lvextend -L +10G /dev/vg0/xhz 如果是xfs文件系统要使用挂载点刷新 xfs_growfs /mnt</p> <p>如果是ext4的格式需要刷新逻辑卷 resize2fs /dev/vg0/xhz-r 直接扩容

总结

LVM逻辑卷的建立和扩容是最基础的使用,也可用同样的方式对根目录进行扩容,可以有效解决内存不足的问题

Original: https://www.cnblogs.com/fengxia6/p/16738396.html
Author: 风夏呀
Title: LVM逻辑卷与磁盘配额

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/577764/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Nginx 平滑升级(不需要关闭Nginx升级)

    Nginx 平滑升级 对Nginx的版本进行更新,或者要增添新的模块,最简单的方法就是停止当前的Nginx服务,重新编译安装nginx,然后开启新的Nginx服务。但是这样会导致在…

    Linux 2023年6月13日
    087
  • 数据结构 二叉树

    cpp;gutter:true;</p> <h1>include</h1> <p>using namespace std;</…

    Linux 2023年6月13日
    074
  • Servlet 学习总结

    Servlet学习笔记 Servlet学习 学习视频为:https://www.bilibili.com/video/BV1Ta4y1H7Vc IDEA的使用 IDEA的简介 ID…

    Linux 2023年6月7日
    060
  • postgres 切换数据库提示remaining connection slots are reserved for non-replication superuser connections

    场景 使用下面命令在pg终端内,切换数据库时提示 \c db_name pg_user; # pg_user是非超级用户 报错 psql: FATAL: 53300: remain…

    Linux 2023年6月8日
    093
  • Laxcus远程终端

    Laxcus集群操作系统的远程终端越来越象Linux的VIM了,除了界面风格之外,在用户使用的命令上也在向VIM靠近,原因嘛也不难理解,毕竟Laxcus是一个分布式的操作系统,处理…

    Linux 2023年6月6日
    0111
  • Linux 最小安装与 Xshell 远程工具的使用

    写在前面:本篇文章介绍了CtenOS的最小安装方法,以及使虚拟机使用VMware的桥接模式的方法。桥接模式下的虚拟机,相当于和物理机处于同一物理网络(网线、WIFI等)下。在多台物…

    Linux 2023年6月8日
    0111
  • 树莓派4B串口测试与开发

    树莓派4B的串口,由两个增加4个,一共6个! 情况一: 缺省镜像中的配置,测试发现只启用了2个:pi@raspi4b:~ $ ls -l /dev/serial*lrwxrwxrw…

    Linux 2023年6月7日
    076
  • Python的偏函数(Partial Function Application)

    这个概念说实话以前听过,但没深究过,也没用到过…但是被人问到了,就查来记录一下。 查下资料,发现这个东西说白了就是:部分参数有默认值的函数,Orz。再回过头来看他的英文…

    Linux 2023年6月8日
    096
  • Forms组件;cookie与session

    Forms组件 需求 如果需要编写一个校验用户名和密码是否合法的功能,那么 前端需要自己编写获取用户数据的各种标签 前端需要自己想方设法的展示错误的提示信息 后端需要自己想方设法的…

    Linux 2023年6月7日
    083
  • Redis分布式锁的N种姿势

    Redis几种架构 Redis发展到现在,几种常见的部署架构有: 单机模式; 主从模式; 哨兵模式; 集群模式; 我们首先基于这些架构讲解Redisson普通分布式锁实现,需要注意…

    Linux 2023年5月28日
    0102
  • 结构型之【装饰器模式】

    定义: 装饰器模式(Decorator Pattern) 也称为包装模式(Wrapper Pattern) 是指在不改变原有对象的基础之上,将功能附加到对象上,提供了比继承更有弹性…

    Linux 2023年6月14日
    0105
  • python 练习题:计算的BMI指数,并根据BMI指数条件选择

    小明身高1.75,体重80.5kg。请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数:低于18.5:过轻18.5-25:正常25-28:过重28-3…

    Linux 2023年6月8日
    0126
  • docker 安装redis

    1: 搜索镜像, docker search redis2:&#xA0;<strong>docker pull redis:6.0.6</strong&g…

    Linux 2023年5月28日
    088
  • pwm驱动

    1.1、参考博客 参考的教程如下: 1.2、什么是PWM 脉冲宽度调制(PWM),是英文”Pulse Width Modulation”的缩写,简称脉宽调制…

    Linux 2023年6月13日
    0107
  • nodejs 环境安装

    Linux 系统安装 nodejs 环境 (root) &#x627E;&#x5230; nodejs &#x5B98;&#x7F51; http:…

    Linux 2023年6月14日
    0136
  • python的日期处理

    俗话说,工欲善其事必先利其器,所以在使用日期前要先对日期进行处理,所以时间戳和字符串的来回来去转换这个事肯定是要搞的 这次的函数有一个?有两个?有三个?有四个!上代码! 哈哈,像不…

    Linux 2023年6月6日
    081
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球