在Linux如何扩增卷组、逻辑卷以及缩减逻辑卷LVM的过程

在Linux系统中,可以使用LVM(Logical Volume Manager)来对磁盘空间进行管理,包括扩增卷组、逻辑卷以及缩减逻辑卷。以下是扩增卷组、逻辑卷以及缩减逻辑卷的具体操作步骤:

扩增卷组

要扩增卷组,首先需要新加入一块硬盘,并对其进行分区操作。然后,将分区格式化为LVM文件系统,并将其添加到卷组中。

  1. 查看当前卷组信息

可以使用vgdisplay命令查看当前系统的卷组信息:

# vgdisplay
  1. 分区并格式化新硬盘

使用fdisk命令为新硬盘进行分区,例如创建一个大小为100G的主分区:

# fdisk /dev/sdb

Command (m for help): n
Select: p
Partition number (1-4): 1
First sector (2048-1953525167, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-1953525167, default 1953525167): +100G

Command (m for help): w

创建完分区后,可以使用mkfs命令格式化为LVM文件系统:

# mkfs -t ext4 /dev/sdb1
  1. 将新硬盘添加到卷组中

可以使用pvcreate命令将新分区添加为物理卷:

# pvcreate /dev/sdb1

然后使用vgextend命令将新物理卷添加到卷组中:

# vgextend vgname /dev/sdb1

其中vgname为要添加的卷组名称。

至此,卷组的扩增操作已完成。

扩增逻辑卷

要扩增逻辑卷,可以直接扩大逻辑卷的大小并调整文件系统。以下是具体的操作步骤:

  1. 查看当前逻辑卷信息

可以使用lvdisplay命令查看当前系统的逻辑卷信息:

# lvdisplay
  1. 扩大逻辑卷

可以使用lvextend命令扩大逻辑卷的大小:

# lvextend -L +100G /dev/vgname/lvname

其中vgname为逻辑卷所在的卷组名称,lvname为要扩大的逻辑卷名称。

  1. 调整文件系统

扩大逻辑卷的大小后,需要调整文件系统以让其生效。如果是ext2/ext3/ext4文件系统,可以使用resize2fs命令进行调整:

# resize2fs /dev/vgname/lvname

而如果是xfs文件系统,则使用xfs_growfs命令进行调整:

# xfs_growfs /dev/vgname/lvname

至此,逻辑卷的扩增操作已完成。

缩减逻辑卷

要缩减逻辑卷,需要先缩小文件系统、逻辑卷以及物理卷的大小。

  1. 缩小文件系统

可以使用resize2fsxfs_growfs命令缩小文件系统的大小:

# resize2fs /dev/vgname/lvname new_size
# xfs_growfs /dev/vgname/lvname new_size

其中new_size为要调整的文件系统大小。

  1. 缩小逻辑卷

可以使用lvreduce命令缩小逻辑卷的大小,并将新的大小应用到文件系统上:

# lvreduce --resizefs -L -10G /dev/vgname/lvname

其中-10G为要缩小的大小。

  1. 缩小物理卷

最后,需要使用pvresize命令缩小物理卷的大小:

# pvresize --setphysicalvolumesize 90G /dev/sdb1

其中90G为新的物理卷大小。

至此,逻辑卷的缩减操作已完成。

示例说明:

  1. 扩增卷组

假设当前系统中有一个名为vg1的卷组,包含了两个物理卷/dev/sda1/dev/sdb1。为了扩增卷组,我们新增加一块硬盘/dev/sdc,并将其分区并格式化为LVM文件系统。以下是具体操作步骤:

# fdisk /dev/sdc
Command (m for help): n
Select: p
Partition number (1-4): 1
First sector (2048-1953525167, default 2048): 
Last sector, +sectors or +size{K,M,G,T,P} (2048-1953525167, default 1953525167): +100G
Command (m for help): w

# mkfs -t ext4 /dev/sdc1

# pvcreate /dev/sdc1

# vgextend vg1 /dev/sdc1

其中,我们将硬盘/dev/sdc分了一个100GB的主分区并格式化为了LVM文件系统,然后将其添加到了卷组vg1中。

  1. 缩减逻辑卷

假设当前系统中有一个名为vg1的卷组,包含了一个大小为30GB的逻辑卷lv1,并且使用了ext4文件系统。现在需要将其缩小为20GB。以下是具体操作步骤:

# umount /dev/vg1/lv1

# e2fsck -f /dev/vg1/lv1

# resize2fs /dev/vg1/lv1 20G

# lvreduce --resizefs -L -10G /dev/vg1/lv1

# pvresize --setphysicalvolumesize 90G /dev/sdb1

# mount /dev/vg1/lv1 /mnt/lv1

其中,我们先卸载了逻辑卷的挂载点,然后进行文件系统检查,并使用resize2fs命令调整文件系统大小。接着,我们使用lvreduce命令缩小逻辑卷的大小,并将新的大小应用到文件系统上,最后使用pvresize命令调整物理卷的大小。最后,我们将逻辑卷重新挂载。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在Linux如何扩增卷组、逻辑卷以及缩减逻辑卷LVM的过程 - Python技术站

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

相关文章

  • Spring IOC原理补充说明(循环依赖、Bean作用域等)

    下面我会详细讲解Spring IOC原理补充说明,包括循环依赖和Bean的作用域。 Spring IOC原理 Spring IOC(Inversion of Control)是Spring框架的核心模块,也是最基础的模块,用来管理对象的生命周期和对象之间的依赖关系。在Spring IOC容器中,Bean是容器的基本构建块,而容器负责创建、配置、管理和销毁Be…

    other 2023年6月27日
    00
  • 存储单位的换算(kb mb gb)

    存储单位的换算(kb mb gb) 在计算机存储中,单位的选择起着至关重要的作用。在不同的场景下,我们需要使用不同的存储单位来表示数据的大小。常见的存储单位有kb、mb、gb等。下面将对这些存储单位进行详细的介绍,以及它们之间的转换。 存储单位的定义 kb(kilo byte),1kb等于1024个字节。 mb(mega byte),1mb等于1024kb,…

    其他 2023年3月28日
    00
  • 配置f5负载均衡(转)

    配置f5负载均衡(转) 负载均衡是一种用于优化网站性能和可靠性的技术。F5是负载均衡市场中的佼佼者之一,它提供了一套全面的解决方案,包括硬件、软件和云负载均衡产品。 在本篇文章中,我们将介绍如何在F5设备上配置负载均衡,以提高网站性能和可靠性。 步骤一:创建Pool 在F5设备上,您需要首先创建一个Pool对象。一个Pool是一组Web服务器,它们被视为单个…

    其他 2023年3月28日
    00
  • windows11怎么显示文件后缀名? win11显示后缀名的两种方法

    在Windows 11中,你可以通过以下两种方法来显示文件的后缀名: 方法一:使用文件资源管理器 打开文件资源管理器。你可以通过点击任务栏上的文件夹图标或者按下Win + E快捷键来打开。 在文件资源管理器中,点击顶部菜单栏的\”查看\”选项。 在\”查看\”选项卡中,找到\”文件名扩展名\”这一栏。 确保\”文件名扩展名\”的复选框是选中状态。如果没有选中…

    other 2023年8月5日
    00
  • jQuery实现购物车

    jQuery实现购物车攻略 介绍 在本攻略中,我们将使用jQuery来实现一个简单的购物车功能。购物车是电子商务网站中常见的功能,它允许用户将商品添加到购物车中,并在结账时查看和管理所选商品。 步骤 步骤一:HTML结构 首先,我们需要创建一个基本的HTML结构来容纳购物车。以下是一个简单的示例: <div id=\"cart\"&…

    other 2023年9月7日
    00
  • C++中结构体的类型定义和初始化以及变量引用

    下面是关于C++中结构体的类型定义、初始化和变量引用的详细攻略。 结构体的类型定义 在C++中,结构体是一种用户自定义的数据类型,可以将多个不同类型的变量组合在一起形成一个新的数据类型,一般用于表示复杂的数据结构。 结构体的定义方式为: struct 结构体名称 { 类型1 变量名称1; 类型2 变量名称2; … 类型n 变量名称n; }; 其中,结构体名称…

    other 2023年6月20日
    00
  • 谈谈Java中自定义注解及使用场景

    接下来我将为您详细讲解Java中自定义注解及使用场景的攻略。 什么是自定义注解 Java中的注解(Annotation)是一种描述程序元素的一种标记,常用于代码的编译、运行和解析。而自定义注解,即程序员自己定义的注解类型,可以用来为代码元素添加额外的元信息,包括作者、版本、参数等信息。自定义注解需要使用Java的注解元素(Annotation Element…

    other 2023年6月25日
    00
  • 一文理解Python命名机制

    一文理解Python命名机制 Python是一种高级编程语言,具有灵活的命名机制。理解Python的命名机制对于编写清晰、可维护的代码至关重要。本文将详细介绍Python的命名机制,并提供两个示例来说明其工作原理。 1. 命名规则 Python的命名规则如下: 变量名必须以字母或下划线开头,后面可以跟字母、数字或下划线。 变量名区分大小写,例如myVaria…

    other 2023年8月15日
    00
合作推广
合作推广
分享本页
返回顶部