Linux服务器扩容及磁盘分区(LVM和非LVM)

2024-06-03 06:52

本文主要是介绍Linux服务器扩容及磁盘分区(LVM和非LVM),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Linux扩容及磁盘分区(LVM和非LVM)

      本文主要介绍了阿里云服务器centos的扩容方法:非LVM分区扩容方法(系统盘),以及磁盘改LVM并分区(数据盘)。主要是ext4文件系统及xfs磁盘scsi  MBR分区。

根目录为系统盘分区。

由于系统盘分区方式为非LVM, 难以跨磁盘或跨分区扩容,只能扩容原有分区。

但可以拆分根目录下的子目录,挂载到数据盘,将数据盘进行LVM分区,便于后续跨磁盘、跨分区扩容。

一、系统盘(非LVM),直接扩容

set -eu# 1. 安装growpart工具type growpart || yum install -y cloud-utils-growpart## 2. 扩容分区:运行命令 growpart /dev/vda 1LC_ALL=en_US.UTF-8 growpart /dev/vda 1# 扩容文件系统:文件系统为ext4,因此运行resize2fs命令resize2fs /dev/vda1

Df -Th

可见根目录有扩大

二、数据盘(LVM分区)准备工作:查看挂载和磁盘使用情况

1、安装lvm工具

sudo yum install lvm2

2、查看磁盘挂载情况

lsblk

3、查看磁盘容量和挂载情况

df -TH

4、查看磁盘数据盘

sudo fdisk -lu

获取数据盘的设备名称。

运行结果如下所示,表示当前ECS实例有两块云盘,/dev/vda是系统盘,/dev/vdb是新增数据盘,有100G,微分区

5、查找大文件目录,确定要分区挂载的目录 

du -h --max-depth=1 /

打算预计:

/usr  扩容至20G

/var 扩容至 50G

/data 扩容至 15G

三、LVM扩容

数据盘/dev/vdb

改为lvm

1、分区

sudo fdisk -u /dev/vdb
n  #创建分区p  #主分区p;扩展分区e2  #分区号  2-4起止扇区起止扇区P  #检测是否分区完成W  # 如分区正常w保存;否正q退出不保存
查看分区fdisk -lu /dev/vdb

创建成功

/dev/vdb1 15G

/dev/vdb2 20G

/dev/vdb3 50G

#将磁盘分区表变化信息通知内核,请求操作系统重新加载分区表partprobe /dev/vdb

2、初始化分区和文件系统

sudo mkfs -t ext4 /dev/vdb1sudo mkfs -t ext4 /dev/vdb2sudo mkfs -t ext4 /dev/vdb3

3、创建物理卷并查看

# 查看可以使用的物理设备(分区/磁盘)parted -l

# 将物理设备 创建物理卷pvcreate /dev/vdb1 /dev/vdb2 /dev/vdb3

(

如果你要擦除现有的文件系统以创建新的 ext4 文件系统,并且确定分区上没有重要数据或者已经备份,可以按 'y' 键。

如果分区上有重要数据,或者你不确定是否要擦除,应该选择 'n' 并考虑备份数据,或者先进行数据恢复工作。

)

# partprobe #如果创建时报错磁盘不存在,执行partprobecat /proc/partitions

# 查看物理卷pvdisplay

4、创建物理卷组

# 创建物理卷组vgcreate vgdata /dev/vdb1 vgcreate vgusr /dev/vdb2vgcreate vgvar /dev/vdb3

5、创建逻辑卷

也可以物理卷合并成一个逻辑卷

lvcreate -n lvdata -l 5119 vgdata lvcreate -n lvusr -l 5119 vgusrlvcreate -n lvvar -l 5119 vgvar 

查看逻辑卷

lvdisplay

6、格式化逻辑卷

sudo mkfs -t ext4 /dev/mapper/vgdata-lvdata sudo mkfs -t ext4 /dev/mapper/vgvar-lvvar sudo mkfs -t ext4 /dev/mapper/vgusr-lvusr 

7、挂载逻辑卷到目录

mount /dev/vgdata/lvdata /data/mount /dev/vgvar/lvvar /var/mount /dev/vgusr/lvusr /usr/

四、后续逻辑卷扩容

Eg:/data目录扩容  ==>对应逻辑卷:/dev/mapper/vgdata-lvdata

对vdb进行分区(同第三步)/dev/vdb4

1、查看是否有空闲的物理卷或逻辑卷

# 查看是否有空闲的物理卷或逻辑卷vgspvs

2、扩展物理卷组

#扩展物理卷组:将空闲物理卷加入/data对应卷组

vgextend vgdata /dev/vdb4

# 是否加入成功

vgdisplay

3、扩展逻辑卷组

# 扩展逻辑卷组

lvextend -l +5119 /dev/vgdata/lvdata

4、更新文件系统

# 更新文件系统

resize2fs /dev/mapper/vgdata-lvdata

5、查看验证

# 查看验证

lvs

vgs

df -lh

五、收缩大小

对于ext4文件系统可以收缩大小

1、卸载逻辑卷

#卸载逻辑卷

unmount /dev/vdb1

2、更新文件系统

#更新文件系统

resize2fs  /dev/mapper/vgdata-lvdata 10G

3、收缩逻辑卷

#收缩逻辑卷

lvreduce /dev/vgdata/lvdata

4、重新挂载逻辑卷

#重新挂载逻辑卷

mount /dev/vgdata/lvdata /data/

六、小结

1、LVM分区概念:

物理卷PV==>物理卷组PG==>逻辑卷LV==>逻辑卷组VG==>文件系统

2、LVM常用命令

序号功能PV 物理卷命令VG 卷组命令LV 逻辑卷命令
01扫描功能pvscanvgscanlvscan
02建⽴功能pvcreatevgcreatelvcreate
03查询功能pvdisplayvgdisplaylvdisplay
04删除功能pvremovevgremovelvremove
05扩容功能vgextendlvextend
06缩容功能vgreducelvreduce

主要参考文件:

Linux磁盘分区与LVM详解_linux标准分区和lvm分区-CSDN博客

这篇关于Linux服务器扩容及磁盘分区(LVM和非LVM)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1026264

相关文章

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

JavaWeb-WebSocket浏览器服务器双向通信方式

《JavaWeb-WebSocket浏览器服务器双向通信方式》文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配... 目录一、概述二、入门2.1 POM依赖2.2 编写配置类2.3 编写WebSocket服务2.4 浏

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

Linux环境变量&&进程地址空间详解

《Linux环境变量&&进程地址空间详解》本文介绍了Linux环境变量、命令行参数、进程地址空间以及Linux内核进程调度队列的相关知识,环境变量是系统运行环境的参数,命令行参数用于传递给程序的参数,... 目录一、初步认识环境变量1.1常见的环境变量1.2环境变量的基本概念二、命令行参数2.1通过命令编程

Linux之进程状态&&进程优先级详解

《Linux之进程状态&&进程优先级详解》文章介绍了操作系统中进程的状态,包括运行状态、阻塞状态和挂起状态,并详细解释了Linux下进程的具体状态及其管理,此外,文章还讨论了进程的优先级、查看和修改进... 目录一、操作系统的进程状态1.1运行状态1.2阻塞状态1.3挂起二、linux下具体的状态三、进程的

Linux编译器--gcc/g++使用方式

《Linux编译器--gcc/g++使用方式》文章主要介绍了C/C++程序的编译过程,包括预编译、编译、汇编和链接四个阶段,并详细解释了每个阶段的作用和具体操作,同时,还介绍了调试和发布版本的概念... 目录一、预编译指令1.1预处理功能1.2指令1.3问题扩展二、编译(生成汇编)三、汇编(生成二进制机器语