【Linux】磁盘分区扩容到原有目录(LVM)

news2024/11/16 12:01:47

一、LVM基本组成

LVM(Logical Volume Manager,逻辑卷管理)逻辑卷管理器是负责管理物理卷、卷组和逻辑卷的软件层。它提供了创建、调整和管理这些组件的命令和工具,使得用户能够灵活地调整和管理磁盘空间。

1.物理卷(PV,Physical Volume)

物理卷是LVM识别和管理的基本单位,它通常是硬盘分区或整个硬盘。物理卷可以是硬盘、SSD、RAID组等。

2.卷组(VG,Volume Group)

卷组是由一个或多个物理卷组成的逻辑磁盘。它可以跨越多个物理卷,通过添加或移除物理卷来扩展或缩小卷组的容量。卷组是LVM中的基本管理单元。

3.逻辑卷(LV,Logical Volume)

逻辑卷是在卷组中创建的逻辑磁盘分区。逻辑卷的大小可以根据需要进行调整,并且可以动态地进行快照和迁移。用户可以将逻辑卷格式化并挂载到系统的目录中以使用存储空间。

LVM在Linux的磁盘管理下的位置图如下:

 依次为:disk(磁盘) -> partition(分区) -> PV物理卷 -> VG卷组 -> LV逻辑卷 -> fs(文件系统)

二、磁盘分区

在Linux中,磁盘是通过分区来使用的。分区是将一个硬盘划分成几个逻辑部分来使用,在每个分区中可以存储不同的文件系统。因此,在挂载磁盘之前,我们需要先对磁盘进行分区。磁盘分区的过程可以通过命令行工具或图形界面工具来完成。

常用的磁盘分区工具有:

    cfdisk:命令行工具,适用于创建主分区和扩展分区,支持MBR和GPT分区表。

    fdisk:命令行工具,适用于创建主分区和扩展分区,支持MBR分区表。

    gdisk:命令行工具,适用于创建主分区、扩展分区和逻辑分区,支持GPT分区表。

    gparted:图形界面工具,适用于创建主分区、扩展分区和逻辑分区,支持MBR和GPT分区表。

分区的目的是将一个硬盘划分成多个逻辑部分,每个部分可以单独使用和管理。当然,分区并不是必需的,我们也可以直接将整个硬盘作为一个单一的分区进行挂载。

三、文件系统

在Linux中,文件系统是挂载磁盘的重要概念。文件系统是指一种组织数据的方式,可以帮助我们在磁盘上存储和管理文件。常见的Linux文件系统有ext2、ext3、ext4、XFS等。

(1)ext2(第二扩展文件系统):是 Linux 最早引入的日志文件系统之一。它使用索引节点(inode)来管理文件和目录,并使用位图来管理磁盘块的分配。然而,ext2 没有日志功能,这使得在发生意外掉电或系统崩溃时恢复文件系统变得较慢。

(2)ext3(第三扩展文件系统):是 ext2 文件系统的升级版本。它引入了日志功能,使用日志记录(journaling)来跟踪文件系统操作。这样,在系统异常关机后可以更快地进行恢复,减少数据丢失的风险。与 ext2 相比,ext3 提供了更好的可靠性和性能。

(3)ext4(第四扩展文件系统):是 ext3 文件系统的进一步改进和扩展。它增强了文件系统的大小和性能,并支持更大的文件和分区。ext4 引入了多块分配、延迟分配和其他改进,以提高文件系统的性能和可靠性。它是目前最常用的 Linux 文件系统之一。

(4)XFS:是一个高性能的日志文件系统,最初由 SGI 开发。它设计用于处理大型文件和大容量存储,并针对高吞吐量的工作负载进行了优化。XFS 支持快速分配和回收磁盘空间,并具有出色的可扩展性和鲁棒性。它被广泛用于服务器环境和高性能计算领域。

在挂载磁盘之前,我们需要先在磁盘上创建文件系统。创建文件系统的命令为mkfs。

四、实操

1.创建分区

(1)使用lsblk命令查看新加入的磁盘信息

 上述中我们可以看到vda磁盘挂载的是根目录并且已经有了一个分区为vda1,而vdb磁盘暂时还没有挂载任何目录并且没有分区信息,所以vdb就是系统新增的磁盘。

(2)fdisk -l命令查看系统中磁盘分区详细信息

包括磁盘设备名称、分区表类型、起始扇区、结束扇区、总扇区数等。

(3)使用fdisk分区新磁盘,并将分区标记为Linux文件系统类型(8e)

命令:sudo fdisk /dev/vdb 

说明:在此对新增的磁盘500GB做了两个分区第一个是300GB,第二个是200GB.

Command (m for help): n  

Partition type

   p   primary (0 primary, 0 extended, 4 free)

   e   extended (container for logical partitions)

Select (default p): p  

Partition number (1-4, default 1): 1

First sector (2048-209715199, default 2048):   

Last sector, +sectors or +size{K,M,G,T,P} (2048-209715199, default 209715199):   +300G

Created a new partition 1 of type 'Linux' and of size 300 GiB.

Command (m for help): n

Partition type

   p   primary (1 primary, 0 extended, 3 free)

   e   extended (container for logical partitions)

Select (default p):

Using default response p.

Partition number (2-4, default 2):

First sector (629147648-1048575999, default 629147648):

Last sector, +sectors or +size{K,M,G,T,P} (629147648-1048575999, default 1048575999):

Created a new partition 2 of type 'Linux' and of size 200 GiB.

 磁盘分区类型:

说明:

n: 创建新分区。出现选择分区类型的提示时,默认选择主分区(primary)。

p: 选择分区类型为 "p",即主分区。

1: 输入分区号码为 "1",表示创建第一个分区,如果不选默认就是1。

First sector: 输入第一个扇区的起始位置,默认值为 2048。你可以保持默认值(按 Enter 键),这样分区将从第一个可用扇区开始。

Last sector: 输入最后一个扇区的位置,可以输入结束位置或者分区大小。默认值为设备的最大扇区数(2048-209715199)。你可以输入具体的扇区数或者可选的单位表示分区大小(如 "100G" 表示 100GB)。根据你的输入,分区大小将为 100 GiB。

t: 更改分区类型。选择分区编号为 1 的分区。

8e: 设置分区类型为 8e,表示 LVM 文件系统类型。

w: 保存并写入分区表更改。

(4)查看分区情况

fdisk -l /dev/vdb

 

 2.物理卷(PV)

(1)列出可作为PV的设备

命令:lvmdiskscan

从上图可以看到只有/dev/vdb1、/dev/vdb2可以用于创建PV,所以下面我们可以对/dev/vdb1、/dev/vdb2创建PV。

(2)使用pvcreate创建pv

语法:pvcreate 磁盘分区1 磁盘分区2

pvcreate /dev/vdb1 /dev/vdb2

(3)查看当前所有pv分区信息

可以通过pvs、pvscan、pvdisplay这三个命令查看pv信息。

 3.卷组(VG)

(1)创建卷组

语法:vgcreate 卷组名称 磁盘分区

如:vgcreate vg_dizuo_ll /dev/vdb1

创建卷组vg_dizuo_ll,并把物理卷 /dev/vdb1加入该卷组。

(2)查看卷组信息

vgs、vgscan、vgdisplay

 4.逻辑卷(LV)

(1)创建逻辑卷

语法:lvcreate -l +100%FREE  <vg_name> -n <lv_name>

比如:将在卷组 "vg_dizuo_ll" 中创建一个名为 "lv_dizuo_1" 的逻辑卷,并使用卷组中的所有可用空闲空间。

lvcreate -l +100%FREE vg_dizuo_ll -n lv_dizuo_1

(2)查看逻辑卷

lvs、lvscan、lvdisplay

 5.格式化并挂载逻辑卷

(1)查看磁盘信息

lsblk

可以看见逻辑卷已经成功在磁盘上创建。

(2)格式化逻辑卷

mkfs -t ext4 /dev/vg_dizuo_ll/lv_dizuo_1

mkfs.ext4 /dev/vg_dizuo_ll/lv_dizuo_1

·  mkfs:表示创建文件系统的意思。

·  -t ext4:指定要创建的文件系统类型为 ext4。

 

(3)挂载逻辑分区

mkdir /datanew

mount /dev/vg_dizuo_ll/lv_dizuo_1 /datanew

注意:不能挂载当前目录下已经存在数据的目录,一定要是空目录,否则可能会导致已存在目录下的文件和子目录被隐藏。

(4)验证挂载是否成功,使用df -h命令查看所有文件系统的储存器使用情况

 df -h

出现如下图所示:即成功的将/dev/vg_dizuo_ll/lv_dizuo_1的逻辑分区挂载到/datanew目录下

 

五、将逻辑卷挂载到原有/data目录

1.拷贝/data目录到新硬盘/datenew目录

cp -a /data/* /datanew

2.取消磁盘挂载

umount /dev/vg_dizuo_ll/lv_dizuo_1

3.备份/data

mv /data /dataold

确定后续服务没问题之后,可以将/dataold目录删除。

4.重新挂载

mkdir /data

mount /dev/vg_dizuo_ll/lv_dizuo_1 /data

5.验证是否挂载成功

df -h

6.永久挂载(重启不失效)

永久挂载:通过修改  /etc/fstab文件,实现永久挂载。防止重启的时候挂在的目录失效。

vim /etc/fstab

添加如下一行:

/dev/vg_dizuo_ll/lv_dizuo_1 /data ext4 defaults 1 0

说明:

·  /dev/vg_dizuo_ll/lv_dizuo_1 指定了待挂载的源设备或逻辑卷。在此例中,它指向名为lv_dizuo_1的逻辑卷,该逻辑卷属于名为vg_dizuo_ll的卷组。

·  /data: 这是指定的挂载点,也就是将设备挂载到文件系统中的哪个目录下。

·   ext4: 这是设备的文件系统类型,表示该设备采用 ext4 文件系统格式。

·   defaults: 这里列出了用于挂载的选项。defaults 表示使用默认的挂载选项,包括读写权限等。

·  第五字段(dump备份标志):

  • 非零正整数:通常设为1或更大数值,表示应该使用dump命令定期备份这个文件系统。数值越大,表示备份的优先级相对较低。具体的备份频率和计划通常由系统管理员在备份脚本或计划任务中设定,与/etc/fstab中的数值对应。

    注意:现代Linux系统中,使用dump进行备份的情况已经较少见,许多管理员转而使用其他更现代、功能更丰富的备份工具(如rsynctar配合cron,或者专用的备份软件)。因此,这一字段在很多环境中可能被设置为0,表示不使用dump进行备份。

·  第六字段(检查顺序):

  • 非零正整数:用于指定在系统启动时,fsck(文件系统一致性检查)工具检查文件系统的优先级。较小的数字表示较高的检查优先级。通常,根文件系统(/)会被赋予最小的非零值(如1),以确保其首先被检查,因为它是系统启动过程中最重要的文件系统。其他非根文件系统则可以根据其重要性和数据敏感性设置适当的优先级。

    举例来说,如果系统中有三个需要检查的文件系统,它们在/etc/fstab中的第六字段可能会分别设置为123,表示检查顺序依次为:根文件系统、第二个重要文件系统、第三个重要文件系统。

    注意:对于大多数现代Linux发行版,如果文件系统使用的是日志型文件系统(如ext4XFS等),它们通常在系统运行过程中就能自我修复,因此在启动时通常不需要进行fsck检查。对于这些文件系统,第六字段通常设置为0

参考:Linux下的磁盘管理之LVM详解及lvm的常用磁盘操作命令_lvm命令-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1595364.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Springcloud可视化项目:智慧工地可视化大数据云平台源码

目录 技术架构 智慧工地系统在实际推行过程中遇到的问题 智慧工地接纳程度较低 基础设施条件有待完善 智慧工地整体生态尚未完善 智慧工地平台各功能模块 施工过程工信程息信管息理管模理块 人员管理模块 生产管理模块 技术管理模块 质量管理模块 安全管理模块 绿…

免费的 ChatGPT 网站(六个)

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f3a5;系列专栏&#xff1a;《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 文章目录 一、insCode二、讯飞星火三、豆包四、文心一言五、通义千问六、360智脑 现在智能…

关于GDAL计算图像坐标的几个问题

关于GDAL计算图像坐标的几个问题_gdal读取菱形四角点坐标-CSDN博客 这篇文章写的很好&#xff0c;讲清楚了图像行列号与图像点坐标&#xff08;x,y&#xff09;对应关系&#xff0c;以及图像行列号如何转为地理坐标的&#xff0c;转载一下做个备份。 1.关于GDAL计算图像坐标的…

【Python】使用OPC UA创建数据服务器

目录 准备工作服务器设置创建或获取节点设置节点值启动服务器查看服务器客户端总结 在工业自动化和物联网&#xff08;IoT&#xff09;领域&#xff0c;OPC UA&#xff08;开放平台通信统一架构&#xff09;已经成为一种广泛采用的数据交换标准。它提供了一种安全、可靠且独立于…

51单片机-独立按键模块

1. 独立按键控制LED状态 轻触按键实现原理&#xff1a;按下时&#xff0c;接通&#xff0c;通过金属弹片受力弹动来实现接通和断开。 松开按键 按下之后&#xff1a;就会被连接 同时按下K1和K2时&#xff0c;P2_0,接口所连LED灯才亮。 #include <REGX52.H> void ma…

【opencv】示例-travelsalesman.cpp 使用模拟退火算法求解旅行商问题

// 载入 OpenCV 的核心头文件 #include <opencv2/core.hpp> // 载入 OpenCV 的图像处理头文件 #include <opencv2/imgproc.hpp> // 载入 OpenCV 的高层GUI(图形用户界面)头文件 #include <opencv2/highgui.hpp> // 载入 OpenCV 的机器学习模块头文件 #includ…

Devin AI: The World’s First AI Software Engineer

Devin AI是Cognition AI团队推出的一款名为Devin的人工智能软件工程师&#xff0c;它被誉为世界上第一个完全自主的AI软件工程师。Devin AI在2024年3月12日发布&#xff0c;并在SWE-bench编码基准测试中设立了新的技术标杆。 Devin AI具备多项强大的能力&#xff0c;包括学习如…

简述OSI七层模型及每层的功能任务和协议

文章目录 一、OSI七层模型的功能和任务1.物理层2.数据链路层3.网络层4.传输层5.会话层6.表示层7. 应用层 二、OSI七层模型每层的协议 开放系统互连参考模型&#xff08;Open System Interconnect&#xff0c;简称OSI&#xff09;是国际标准化组织(ISO)和国际电报电话咨询委员会…

openstack安装dashboard后登录网页显示404错误

1. 2.进入该目录vim /etc/httpd/conf.d/openstack-dashboard.conf 增加这一行 WSGIApplicationGroup %{GLOBAL} 重启httpd后就可以访问了

SpringBoot+FreeMaker

目录 1.FreeMarker说明2.SpringBootFreeMarker快速搭建Pom文件application.properties文件Controller文件目录结构 3.FreeMarker数据类型3.1.布尔类型3.2.数值类型3.3.字符串类型3.4.日期类型3.5.空值类型3.6.sequence类型3.7.hash类型 4.FreeMarker指令assign自定义变量指令if…

[大模型]DeepSeek-7B-chat FastApi 部署调用

DeepSeek-7B-chat FastApi 部署调用 DeepSpeek 介绍 由70亿个参数组成的高级语言模型 DeepSeek LLM。它是在一个包含2万亿个英文和中文代币的庞大数据集上从零开始训练的。为了促进研究&#xff0c;DeepSeek 已经为研究社区开放了DeepSeek LLM 7B/67B Base 和 DeepSeek LLM 7…

软考129-上午题-【软件工程】-McCabe度量法+白盒测试真题

一、真题 真题1&#xff1a; 简单路径&#xff1a; 简单路径是指在一个图中&#xff0c;从一个顶点出发&#xff0c;经过一系列不同的顶点&#xff0c;最终到达另一个顶点&#xff0c;且在整个过程中&#xff0c;除了起点和终点外&#xff0c;每个顶点只被访问一次的路径。在简…

Linux 目录结构与基础查看命令

介绍 目录结构如下 /bin&#xff1a;存放着用户最经常使用的二进制可执行命令&#xff0c;如cp、ls、cat等。这些命令是系统管理员和普通用户进行日常操作所必需的。 /boot&#xff1a;存放启动系统使用的一些核心文件&#xff0c;如引导加载器&#xff08;bootstrap loader…

商业银行业务与管理

商业银行业务与管理 资产负债表恒等式中国商业银行的资产负债表商业银行的业务种类银行运行管理的案例银行管理的基本准则流动性管理资产和负债管理资本充足管理 资产负债表恒等式 &#xff08;一般&#xff09;资产负债所有者权益 一个公司的资产是由负债和所有者权益所构成…

飞驰云联入选金融信创生态实验室「金融信创优秀解决方案」

近日&#xff0c;由中国人民银行领导、中国金融电子化集团有限公司牵头组建的金融信创生态实验室发布了第三期金融信创优秀解决方案&#xff0c;Ftrans飞驰云联“文件数据传输解决方案”成功入选&#xff01; 本次金融信创优秀解决方案遴选经方案征集、方案初审、专家评审等多环…

【MATLAB源码-第188期】基于matlab的64QAM系统相位偏移估计EOS算法仿真,对比补偿前后的星座图误码率。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 1. 引言 M-QAM调制技术的重要性 现代通信系统追求的是更高的数据传输速率和更有效的频谱利用率。M-QAM调制技术&#xff0c;作为一种高效的调制方案&#xff0c;能够通过在相同的带宽条件下传输更多的数据位来满足这一需求…

《自动机理论、语言和计算导论》阅读笔记:p172-p224

《自动机理论、语言和计算导论》学习第 8 天&#xff0c;p172-p224总结&#xff0c;总计 53 页。 一、技术总结 1.Context-Free Grammar(CFG) 2.parse tree (1)定义 p183&#xff0c;But perhaps more importantly, the tree, known as a “parse tree”, when used in a …

【Java】新手一步一步安装 Java 语言开发环境

文章目录 一、Windows 10 系统 安装 JDK8二、 Mac 系统 安装 JDK8三、IDEA安装 一、Windows 10 系统 安装 JDK8 &#xff08;1&#xff09;打开 JDK下载网站&#xff0c;根据系统配置选择版本&#xff0c;这里选择windows 64位的版本&#xff0c;点击下载&#xff08;这里需要…

考试酷基本功修炼课学习历程_FPGA成长篇

本文为明德扬原创文章&#xff0c;转载请注明出处&#xff01;作者&#xff1a;明德扬学员&#xff1a;考试酷账号&#xff1a;11167760 我是硬件工程师&#xff0c;日常工作中主要跟数字电路、模拟电路、嵌入式系统打交道&#xff0c;当然也会涉及到FPGA&#xff0c;但是苦于…

学习笔记之——3DGS-SLAM系列代码解读

最近对一系列基于3D Gaussian Splatting&#xff08;3DGS&#xff09;SLAM的工作的源码进行了测试与解读。为此写下本博客mark一下所有的源码解读以及对应的代码配置与测试记录~ 其中工作1~5的原理解读见博客&#xff1a; 学习笔记之——3D Gaussian Splatting及其在SLAM与自动…