Vmware虚拟机centos扩展硬盘空间

news/2025/1/15 23:56:26 标签: centos, linux, 运维

一,调整硬盘大小

关闭虚拟机后才可以调整,否则  扩展  按钮是灰色的

扩展后,会弹出如下提示:

二,系统内部扩展

1. 知识铺垫

如果熟悉 Part(分区)、PV(物理卷)、VG(卷组)、LV(逻辑卷)、文件系统、挂载点等概念的,可跳过。

对于linux系统,硬盘的管理与windows有很大差别,不弄清楚这些概念,照抄一些命令也是稀里糊涂的,所以先搞清楚基本知识才能更好的操作。

linux没有盘符(C盘、D盘等)的概念,是通过目录来实现存储到不同的空间:

比如将硬盘的某块空间挂载到/opt 目录,另一块空间挂载到/var 目录, 这样当你向 /opt内存储是就存到了前一块空间,向/var目录存储,就存到了后一块空间中。

1. linux 有两类管理方式,一是通过LVM, 二是不通过LVM。

1.1 LVM

优点:可动态调整空间大小,能挂多分区、多硬盘

能实现一个挂载点(一个目录)容量的动态调整,比如哪天你的/opt目录空间不够了,你可以新加一块硬盘来扩展/opt目录的空间,这样你存储到/opt时,它自动分配到多块硬盘中,对用户而言还是在使用一块硬盘。

缺点:使用较为复杂

1.2 不通过LVM

优点:使用简单

缺点:直接和分区绑定,不能动态调整空间大小

2.  LVM 讲解

LVM 

挂载点: 就是一个目录,最终这片硬盘空间面向用户是,以目录的方式给用户使用。

文件系统:可以理解成一套API,在格式化的时候,就是在安装这套API,文件系统有非常多种,比如ext4、xfs , 它去和硬件驱动打交道完成硬盘读写。在LVM中,文件系统安装在LV(逻辑卷)上, 在对LV(逻辑卷)进行格式化时,就是在安装文件系统。

查看文件系统的类型,可以使用如下命令:

lsblk -f

一个挂载点 只能和一个 文件系统绑定(当然还有一些其他骚操作能间接实现多绑,但都是间接),查看他俩绑定关系:

也就是说,你操作哪个目录,实际上就是在操作哪个文件系统。

硬盘在linux系统中依次是 sda 、sdb 、sdc 这样命名。

硬盘先要进行分区,比如图上对sda分区产生 sda1 和 sda2 两个分区。

为每个分区创建物理卷(PV), 一个分区只能创建一个物理卷,物理卷(PV) 可以加入到某个 卷组(VG)中。

逻辑卷(LV) 可以跨多个PV, 例如图中LV1 使用了PV1 + PV2 + 部分PV3。

注意:

a, 逻辑卷只能使用一个卷组内的PV, 不能跨卷组,这就是卷组(VG)存在的意义吧

b, LV1 和 LV2共同使用了PV3, 但是它们使用的空间不会有重叠。

LVM实现动态扩容,就是通过 逻辑卷(LV)实现的, 即动态调整它的 PV 个数或者大小。

文件系统 就是 安装在 逻辑卷 LV  上(一个逻辑卷只能安装一个文件系统), 再把文件系统挂到某个目录,操作目录时,最终就是操作到了 文件系统---->逻辑卷---->物理卷----->硬盘。

2. 调整

2.1 查看

使用 lsblk 查看,硬盘sda 一共50G,两个分区sda1 和 sda2 共20G, 因此刚才扩展的30G在这里还看不到,属于空闲空间

使用 sudo parted /dev/sda print free 可查看到空闲空间,这里空间可能是按 1000M = 1G计算的所以看起来是32.2G

2.2 建分区

对上面的空闲区域建立分区, 由于它属于sda这块硬盘,所有设备都在/dev下,因此/dev/sda就代表了sda这块硬盘

fdisk /dev/sda

依次按照如下操作

输入 n 创建新分区
选择分区类型(主分区或扩展分区),通常选择主分区(p)。
分区号:默认即可(如 3)。
起始扇区:默认即可(直接按回车)。
结束扇区:默认即可(使用所有未分配空间)。

设置分区类型为 LVM:
输入 t 更改分区类型
选择分区号(如 3)
输入 8e(Linux LVM 的类型代码)。
输入 w 保存更改并退出。

刷新分区列表:

partprobe /dev/sda

这样就是创建了一个叫 sda3 的分区。

2.3 创建物理卷PV

针对上面创建的 sda3 分区创建物理卷

sudo pvcreate /dev/sda3

2.4 物理卷添加到卷组

将上面创建的 PV(物理卷) 添加到卷组

因为咱们是要扩展挂载点 根目录 / 的空间,所以要先看一下 根目录 所属的卷组是哪一个

下图中,挂载点 / 对应的文件系统为/dev/mapper/centos-root

这个名称的格式为:/dev/mapper/<卷组名>-<逻辑卷名>

所以,当前 /  所属的 VG(卷组) 名称是 centos , LV(逻辑卷)名称是 root

通过 vgs 命令可以看到所有的卷组:

现在,将新创建的 PV(物理卷)/dev/sda3   加入到名称为 centos 的 VG(卷组)中:

sudo vgextend centos /dev/sda3

查看该 卷组 centos 的空间情况:

Alloc 是已分配的20G, Free是空闲的 30G

2.4 调整LV(逻辑卷)大小

上面的命令中,已经知道根目录 使用的 卷组  是centos , 逻辑卷 是 root, 现在就是要将 卷组内100%的空闲空间分配给名称为root 的 LV:

sudo lvextend -l +100%FREE /dev/centos/root

查看调整后的逻辑卷大小:

sudo lvdisplay /dev/centos/root

注意:这个名为centos的 LV(逻辑卷),是之前就有的,所以它上面已经 有了文件系统,就不要再格式化(安装文件系统)了,如果你是新创建的逻辑卷, 此处应该对逻辑卷进行格式化。

2.5 刷新文件系统大小

LV的大小调整后,文件系统的大小不会自动变化,需要手动刷新一下:

对于ext4的文件系统使用命令:

sudo resize2fs /dev/centos/root

对于xfs的文件系统使用命令:

sudo xfs_growfs /dev/centos/root

怎么查看LV的文件系统是什么呢?

 lsblk -f 

执行上面的命令,看到卷 centos-root 的FSTYPE(文件系统类型) 列是xfs, 因此执行上面的xfs命令进行刷新

2.6 验证结果

查看文件系统的大小:

df -h

三,题外话

上面是使用LVM扩展了 / 目录, 如果咱们不扩展 / , 就新建一个 /xxx 目录,然后将 这片空闲空间挂到 /xxx 目录呢?

3.1 创建分区

也是针对硬盘 /dev/sda 进行分区

fdisk /dev/sda

依次按照如下操作

输入 n 创建新分区
选择分区类型(主分区或扩展分区),通常选择主分区(p)。
分区号:默认即可(如 3)。
起始扇区:默认即可(直接按回车)。
结束扇区:默认即可(使用所有未分配空间)。

设置分区类型为xfs:
输入 t 更改分区类型
选择分区号(如 3)
输入 83(Linux 原生文件系统,包括xfs 和 ext系列等)。
输入 w 保存更改并退出。

3.2 格式化分区

如果要格式化成ext4的,执行:

sudo mkfs.ext4 /dev/sda3

如果要格式化成xfs的,执行: 

sudo mkfs.xfs /dev/sda3

ext4 和 xfs 的对比如下:

3.3 挂载分区

mkdir /xxx
sudo mount /dev/sda3 /xxx

3.4 设置自动挂载

编辑  /etc/fstab 文件, 加入下面的内容

/dev/sda3  /xxx  xfs  defaults  0  2

参数说明:

第1列:设备名或 UUID(例如 /dev/sdb1 或 UUID=xxxx-xxxx-xxxx)。
第2列:挂载点(例如 /xxx)。
第3列:文件系统类型(例如 xfs 或 ext4)。
第4列:挂载选项(例如 defaults)。
第5列:是否备份(0 表示不备份,1 表示备份)。
第6列:是否检查文件系统(0 表示不检查,1 表示优先检查,2 表示次优先检查)

3.5 验证

df -h

能看到 /xxx 和 它的大小即可。


http://www.niftyadmin.cn/n/5824472.html

相关文章

C# 配置文件:app.config 和 web.config

一、引言 在 C# 的应用开发中&#xff0c;配置文件就像是幕后的大管家&#xff0c;默默管理着应用程序的各种设置。今天&#xff0c;我们就来深入探索一下 C# 中极为重要的两个配置文件&#xff1a;app.config 和 web.config。无论是开发 Windows 应用程序&#xff0c;还是构建…

【Rust自学】12.2. 读取文件

12.2.0. 写在正文之前 第12章要做一个实例的项目——一个命令行程序。这个程序是一个grep(Global Regular Expression Print)&#xff0c;是一个全局正则搜索和输出的工具。它的功能是在指定的文件中搜索出指定的文字。 这个项目分为这么几步&#xff1a; 接收命令行参数读…

CVPR 2024 3D方向总汇包含(3DGS、三维重建、深度补全、深度估计、全景定位、表面重建和特征匹配等)

1、3D方向 Rapid 3D Model Generation with Intuitive 3D InputInstantaneous Perception of Moving Objects in 3DNEAT: Distilling 3D Wireframes from Neural Attraction Fields ⭐codeSculpting Holistic 3D Representation in Contrastive Language-Image-3D Pre-trainin…

python识别图片中指定颜色的图案并保存为图片

示例代码&#xff1a; def chuli(color):import cv2import numpy as np# 定义颜色名称到HSV阈值范围的映射color_thresholds {red: ([0, 100, 100], [10, 255, 255], [160, 100, 100], [180, 255, 255]),yellow: ([20, 100, 100], [30, 255, 255]),blue: ([90, 100, 100], [1…

安装软件缺少msvcp110.dll怎么办?出现dll丢失的解决方法

在日常使用电脑安装各类软件的过程中&#xff0c;相信不少朋友都遇到过 “缺少 msvcp110.dll” 的报错提示 。下面就来深入聊聊这个 msvcp110.dll 文件&#xff0c;以及当它缺失时&#xff0c;我们该如何巧妙应对。 一、msvcp110.dll 文件介绍 1.1 定义与功能 msvcp110.dll 是…

Transformer架构和Transformers 库和Hugging Face

Transformer架构 和 Hugging Face 之间的关系非常紧密&#xff0c;Hugging Face 是推动 Transformer 架构普及和应用的重要力量。以下是两者的关系及其具体联系&#xff1a; 1. Transformer 架构 背景: Transformer 是由 Google 在 2017 年提出的革命性架构&#xff0c;基于自…

nvm use使用nodejs版本时报错

文章目录 报错原因分析解决方法 报错 nvm use报错出现乱码&#xff1a; 比如nvm use 22.12.0&#xff0c;出现下面报错&#xff1a; exit status 1: ‘D:\Program’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&…

如何给即将满的 C 盘添加磁盘空间

您是否发现您的 C 盘空间经常不足&#xff1f;好消息是&#xff0c;您可以向 C 盘添加未分配的空间以增加其存储容量。未分配空间 是磁盘上未分配给任何分区的可用空间。 通过将其与您的 C 盘合并&#xff0c;您可以创建更流畅的用户体验并避免存储问题。在本指南中&#xff0…