详解Linux LVM逻辑卷配置过程(创建,增加,减少,删除,卸载)

详解Linux LVM逻辑卷配置过程

什么是LVM?

LVM是Linux Logical Volume Manager(逻辑卷管理器)的缩写。它是一种为Linux操作系统提供磁盘管理的方法,它允许用户将多个硬盘分区或整个硬盘组合成一个逻辑卷,从而为用户提供更加灵活的磁盘空间管理方式。

LVM的组成部分

LVM主要由三个部分组成:

  1. 物理卷(PV):即硬盘上的分区或整个硬盘。

  2. 卷组(VG):将多个物理卷组合起来构成一个卷组。

  3. 逻辑卷(LV):在卷组内创建的逻辑卷,用户可以对逻辑卷进行格式化和挂载等操作。

LVM逻辑卷的配置过程

1. 创建物理卷

操作步骤:

  1. 找到要创建物理卷的目标设备,并将设备分区(例如/dev/sdb1)。

  2. 将分区转换为物理卷,使用以下命令:

pvcreate /dev/sdb1

示例说明:

[root@localhost ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 
First sector (2048-10485759, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-10485759, default 10485759): 
Using default value 10485759
Partition 1 of type Linux and of size 5 GiB is set

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@localhost ~]# partprobe /dev/sdb
[root@localhost ~]# pvcreate /dev/sdb1 
  Physical volume "/dev/sdb1" successfully created.

2. 创建卷组

操作步骤:

  1. 找到已创建的物理卷。

  2. 创建卷组,使用以下命令:

vgcreate [卷组名] /dev/sdb1

示例说明:

[root@localhost ~]# vgcreate vg_test /dev/sdb1
  Volume group "vg_test" successfully created

3. 创建逻辑卷

操作步骤:

  1. 找到已创建的卷组。

  2. 创建逻辑卷,并指定逻辑卷的大小,使用以下命令:

lvcreate -L [大小] -n [逻辑卷名] [卷组名]

示例说明:

[root@localhost ~]# lvcreate -L 2G -n lv_test vg_test
  Logical volume "lv_test" created.

4. 格式化并挂载逻辑卷

操作步骤:

  1. 找到已创建的逻辑卷。

  2. 使用以下命令格式化逻辑卷(ext4格式为例):

mkfs.ext4 /dev/vg_test/lv_test
  1. 创建挂载点:
mkdir /mnt/lv_test
  1. 挂载逻辑卷:
mount /dev/vg_test/lv_test /mnt/lv_test

示例说明:

[root@localhost ~]# mkfs.ext4 /dev/vg_test/lv_test 
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524288 blocks
26214 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done   

[root@localhost ~]# mkdir /mnt/lv_test
[root@localhost ~]# mount /dev/vg_test/lv_test /mnt/lv_test

5. 增加逻辑卷空间

操作步骤:

  1. 关闭以前的挂载点。

  2. 拓展逻辑卷的大小,并修改文件系统大小,使用以下命令:

lvextend -L [新大小] [逻辑卷名]
resize2fs [文件系统名]

示例说明:

[root@localhost ~]# umount /mnt/lv_test
[root@localhost ~]# lvextend -L 3G /dev/vg_test/lv_test
  Size of logical volume vg_test/lv_test changed from 2.00 GiB (512 extents) to 3.00 GiB (768 extents).
  Logical volume vg_test/lv_test successfully resized.
[root@localhost ~]# resize2fs /dev/vg_test/lv_test 
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg_test/lv_test is mounted on /mnt/lv_test; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/vg_test/lv_test is now 786432 (4k) blocks long.

6. 减少逻辑卷空间

操作步骤:

  1. 关闭已挂载的文件系统。

  2. 缩小文件系统大小。

  3. 缩小逻辑卷大小,使用下面的命令:

lvreduce -L [新大小] [逻辑卷名]
  1. 修改文件系统大小:
resize2fs [文件系统名]

示例说明:

[root@localhost ~]# umount /mnt/lv_test
[root@localhost ~]# resize2fs /dev/vg_test/lv_test 1G
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg_test/lv_test to 262144 (4k) blocks.
The filesystem on /dev/vg_test/lv_test is now 262144 blocks long.

[root@localhost ~]# lvreduce -L 2G /dev/vg_test/lv_test
  WARNING: Reducing active logical volume to 2.00 GiB 
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv_test? [y/n]: y
  Size of logical volume vg_test/lv_test changed from 3.00 GiB (768 extents) to 2.00 GiB (512 extents).
  Logical volume vg_test/lv_test successfully resized.

[root@localhost ~]# resize2fs /dev/vg_test/lv_test
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg_test/lv_test to 524280 (4k) blocks.
The filesystem on /dev/vg_test/lv_test is now 524280 blocks long.

7. 删除逻辑卷

操作步骤:

  1. 关闭已挂载的文件系统。

  2. 删除逻辑卷,使用以下命令:

lvremove [逻辑卷名]

示例说明:

[root@localhost ~]# umount /mnt/lv_test
[root@localhost ~]# lvremove /dev/vg_test/lv_test
Do you really want to remove active logical volume lv_test? [y/n]: y
  Logical volume "lv_test" successfully removed

8. 删除卷组

操作步骤:

  1. 关闭已挂载的文件系统。

  2. 删除卷组,使用以下命令:

vgremove [卷组名]

示例说明:

[root@localhost ~]# umount /mnt/lv_test
[root@localhost ~]# vgremove vg_test
  Volume group "vg_test" successfully removed

以上就是Linux LVM逻辑卷配置过程的详细说明。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Linux LVM逻辑卷配置过程(创建,增加,减少,删除,卸载) - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • 关于Rust 使用 dotenv 来设置环境变量的问题

    当我们在编写Rust应用程序时,我们常常需要使用环境变量来存储我们的应用程序的配置。但是,手动在每一台服务器上为每个应用程序设置环境变量可能会非常麻烦。因此,我们需要使用dotenv来简化这个过程。dotenv是一个可以从文件中读取环境变量的Rust库。在下面的问题中,我将介绍如何在Rust应用程序中使用dotenv来设置环境变量。 步骤1: 添加doten…

    other 2023年6月27日
    00
  • 浅谈Android开发中项目的文件结构及规范化部署建议

    浅谈Android开发中项目的文件结构及规范化部署建议 在Android开发中,良好的项目文件结构和规范化的部署是非常重要的,它们可以提高代码的可读性、可维护性和团队协作效率。本攻略将详细介绍Android项目的文件结构和规范化部署的建议,并提供两个示例说明。 1. 项目文件结构 一个典型的Android项目应该包含以下几个主要目录: app:该目录包含应用…

    other 2023年8月21日
    00
  • 二进制图片blob数据转canvas

    二进制图片blob数据转canvas攻略 在Web开发中,我们经常需要将二进制图片数据转换为canvas对象,以便进行进一步的处理和操作。在本攻略中,我们将介绍如何将二进制blob数据转换为canvas,并提供一些示例说明。 步骤1:获取二进制图片数据 在将二进制图片数据转换canvas对象之前,我们需要先获取二进制图片数据。以下是一个示例: fetch(‘…

    other 2023年5月9日
    00
  • 安卓操作系统

    安卓操作系统完整攻略 简介 安卓操作系统是由Google开发的移动操作系统,是目前市场上最主流的移动操作系统之一。本文将介绍安卓操作系统的基本知识、使用技巧和常见问题解决方法。 基本操作 1. 屏幕操作 安卓操作系统的屏幕操作主要包括以下几个方面: 点击屏幕:单击屏幕可选择目标,双击屏幕可打开应用程序。 滑动屏幕:可实现屏幕的滚动和平移。 捏合屏幕:可放大或…

    其他 2023年4月16日
    00
  • CentOS上使用Squid+Stunnel搭建代理服务器教程

    下面是CentOS上使用Squid+Stunnel搭建代理服务器的完整攻略。 1. 安装Squid和Stunnel 首先,我们需要在CentOS上安装Squid和Stunnel,可以使用以下命令: sudo yum install squid stunnel 2. 配置Squid 接下来,需要编辑Squid配置文件/etc/squid/squid.conf,…

    other 2023年6月27日
    00
  • qq聊天记录文件在哪里

    下面是针对 “qq聊天记录文件在哪里”的攻略: 查找QQ聊天记录文件 QQ聊天记录文件的默认保存位置是在用户目录下的“我的文档”文件夹中的“Tencent Files”文件夹,具体路径为: C:\Users\你的用户名\Documents\Tencent Files 在 Tencent Files 文件夹中,可以找到和 QQ 号码相关的文件夹,每个文件夹中都…

    其他 2023年4月16日
    00
  • java基于netty NIO的简单聊天室的实现

    Java基于Netty NIO的简单聊天室实现攻略 本文将介绍使用Netty NIO框架实现一个简单的聊天室的详细过程,包括环境搭建、项目结构、代码实现等。 环境搭建 首先需要安装Java环境,推荐使用JDK 1.8版本。接着安装Maven,用于管理依赖项,可以在Maven官网(http://maven.apache.org)查看安装教程。 项目结构 创建一…

    other 2023年6月27日
    00
  • excel2013怎么插入控件?excel office2013插入窗体、日历等控件教程

    OK,下面是详细的攻略。 Excel 2013 插入控件教程 Excel 2013 提供了丰富的控件,可以在工作表中添加各种交互式元素,让工作表更加强大和易于使用。本教程将介绍如何插入控件,如窗体、文本框、标签、按钮、复选框、下拉列表框和日期选择器等,以及如何为这些控件设置属性和事件。 步骤一:打开开发者工具栏 要使用控件,首先需要打开 Excel 的开发者…

    other 2023年6月27日
    00