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

yizhihongxing

在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日

相关文章

  • Android socket实现原理详解 服务端和客户端如何搭建

    关于“Android socket实现原理详解 服务端和客户端如何搭建”的攻略,我会给你一个完整的解释和示例。 什么是Socket? Socket是一个抽象概念,它通常被用来指代一个网络连接的端点,它是计算机之间进行通信的一种方式。在Socket通信中,通常分为服务端和客户端两部分,服务端负责监听并处理客户端的请求,而客户端则负责连接并发送请求给服务端。 A…

    other 2023年6月25日
    00
  • Android 更改 Toast 的默认位置方法

    当我们在Android应用中使用Toast时,默认情况下,Toast会在屏幕的底部居中位置显示。但是,有时候我们可能希望将Toast显示在其他位置,比如屏幕的顶部或者中间位置。下面是更改Toast默认位置的方法的详细攻略: 使用setGravity()方法:Android的Toast类提供了setGravity()方法,可以用来设置Toast的位置。该方法接…

    other 2023年9月6日
    00
  • c/c++之qt正则表达式

    c/c++之Qt正则表达式 在c/c++程序开发中,正则表达式是一个十分重要的应用技巧。Qt作为一款友好的GUI开发框架,它内置的正则表达式模块提供了一些非常方便的功能。 正则表达式的定义和作用 正则表达式是描述字符串集合的一个公式。它使我们对字符串进行匹配、查找和替换等操作更加灵活和高效。正则表达式可以用于验证输入的格式是否正确,或者从大量文本中提取数据。…

    其他 2023年3月28日
    00
  • androidwi-fidisplay(miracast)介绍

    Android Wi-Fi Display(Miracast)介绍 Android Wi-Fi Display,也称为Miracast,是一种通过Wi-Fi Direct技术无线传输视频和音频的标准。它允许您将Android设备的屏幕投射到同样支持Miracast的接收器上,例如电视或显示器。在这篇文章中,我们将介绍Miracast的工作原理,以及如何使用它…

    其他 2023年3月28日
    00
  • ehcart设置雷达图尺寸

    以下是ECharts设置雷达图尺寸的完整攻略: ECharts设置雷达图尺寸 ECharts是一款开源的JavaScript图表库,可以用于创建各种类型的交互式图表。以下是设置雷达图尺寸的步骤: 创建雷达图。 在ECharts中,您可以使用radar组件创建雷达图。以下是一个基本的雷达图示例: javascript option = { radar: { i…

    other 2023年5月7日
    00
  • 新买的硬盘怎么使用?安装到电脑上系统里不显示怎么办?

    新买的硬盘使用前需要进行分区、格式化等操作,才能在电脑上正常使用。如果硬盘安装到电脑上后系统里不显示,可能是没分区、格式化、没有驱动等原因造成的。下面是详细的操作攻略: 1. 连接硬盘 首先需要将硬盘连接到电脑上,可以通过SATA、USB等方式连接。连接后电脑会自动识别硬盘并弹出一个提示框,询问如何处理这个新硬盘,此时需要点击“初始化磁盘”按钮,进行磁盘初始…

    other 2023年6月27日
    00
  • 基于React封装组件的实现步骤

    基于React封装组件的实现步骤可以分为以下几步: 1.确定组件的功能和需求:在封装组件之前,需要明确组件的功能和需求,以便于后续的设计和开发。 2.设计组件的API和属性:在确定组件的功能和需求后,需要设计组件的API和属性,例如组件的使用方式、接受的参数以及传递给子组件的属性等。 3.编写组件的代码:根据组件的设计和API,编写组件的代码,并设置初始状态…

    other 2023年6月25日
    00
  • JS 加载性能Tree Shaking优化详解

    下面是关于JS加载性能Tree Shaking优化的详细攻略。 一、什么是Tree Shaking Tree Shaking是指编译器在打包时去除无用的代码,使打包出来的文件更小更易于传输。在JavaScript中,Tree Shaking通常用于移除未被使用的模块中的导出(export)。 Tree Shaking利用了ES6的模块化规范中所有的导入(im…

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