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博客

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

每日一题《leetcode-- LCR 025.两数相加||》

https://leetcode.cn/problems/lMSNwu/ 分别把给定的两个链表翻转,然后从头开始相加。 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ //反转链表 struct ListNode* reverselist(struct ListNode*h…

虚拟现实环境下的远程教育和智能评估系统(七)

在后端代码的基础上,利用vue框架设计前端界面,至此,用户界面基本成型,后续添加其他进阶功能; 另,前后端交互相关: UsersVO.java package com.roncoo.education.user.feign.interfaces.vo;impor…

解决torch.cuda.is_available()一直为false的问题

一、检测脚本 import torchprint(torch.__version__) print(torch.cuda.is_available()) print(torch.version.cuda) 输出 二、解决排查 1、安装CUDA 根据驱动选择要安装的版本 安装网站:CUDA Toolkit Archive | NVIDIA Developer 安装成功后 2、安装cuDNN 注…

OJ1230进制的转换

答案&#xff1a; #include <bits/stdc.h> using namespace std; using lllong long; const int N10; int a[10]; char ch[]{0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}; void solve() {int n,m;cin>>n>>m;string str;cin>>str;for(int i0;i<str.size();i)…

糖果促销【百度之星】/思维

糖果促销 思维 大佬的解法&#xff1a; #include<bits/stdc.h> using namespace std; typedef long long ll; int main() {ll t;cin>>t;for(int i0;i<t;i){ll p,k;cin>>p>>k;if(k0) cout<<0<<endl;else{k-(k-1)/p;cout<<k<…

2024最新 Jenkins + Docker实战教程(七)- Jenkins实现远程传输和自动部署

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

prometheus的rules配置

说明&#xff1a;本文介绍prometheus中的规则配置&#xff1b; 规则说明 groups:- name: MySQLAlertsrules:- alert: MysqlDownexpr: mysql_up 0for: 0mlabels:severity: criticalannotations:summary: MySQL down (实例&#xff1a;{{ $labels.instance }})description: &q…

Adversarial Nibbler挑战:与多元社区持续开展开放红队测试

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

11.4 插入排序

目录 11.4 插入排序 11.4.1 算法流程 11.4.2 算法特性 11.4.3 插入排序的优势 11.4 插入排序 插入排序&#xff08;insertion sort&#xff09;是一种简单的排序算法&#xff0c;它的工作原理与手动整理一副牌的过程非常相似。 具体来说&#xff0c;我们在未排…

RTOS(ENV)串口DMA接收GPS数据并解析

RTOS&#xff08;ENV&#xff09;配置STM32串口DMA接收模式 环境&#xff1a; RTOS 4.0.3Keil5ENVSTm32l475 ENV配置 使能串口&#xff1a; 2. 使能DMA&#xff0c;并设置接收缓冲区大小&#xff1a; 创建工程 scons --targetmdk工程配置 1. 创建串口设备句柄 #define SA…

LLaMA-Factory实战推理

LLaMA-Factory官网&#xff1a;https://github.com/hiyouga/LLaMA-Factory 安装环境 git clone https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Factory/ conda create -n py310 python3.10 conda activate py310按照llama-factory要求的标准格式组织数据集&#xff…

linux tomcat版本漏洞升级

Tomcat Session 反序列化代码执行漏洞(CVE-2020-9484) Tomcat 安全限制绕过漏洞(CVE-2018-8034) Tomcat远程代码执行漏洞(CVE-2017-12615) 以上均可以升级版本处理&#xff0c;小版本升级方法 tomcat安装请查看https://blog.csdn.net/qq_42250832/article/details/139015573 1、…

数学建模 —— 人工神经网络(6)

目录 一、人工神经网络 1.1 人工神经网络结构 1.2 神经元/感知器 1.3 激活函数 1.3.1 sign函数 1.3.2 sigmoid函数&#xff08;Logistic函数&#xff09; 1.3.3 tanh双曲正切函数 1.3.4 ReLU函数 1.4 分类 二、BP人工神经网络 2.1 概述 2.2 处理过程 2.3 例题 2.…

本地安装AI大模型

使用ollmam安装llmama3等模型 1.打开ollmam下载对应系统的软件&#xff0c;安装即可 官网&#xff1a;Ollama&#xff0c; 安装直接点就就行了&#xff0c;没有其他操作 2.安装模型 在官网找到对于的模型下载命令 记录命令:ollama run llama3 打开一个cmd窗口&#xff0c;输…

272 基于matlab的形态滤波和局域值分解(LMD)的齿轮故障诊断

基于matlab的形态滤波和局域值分解&#xff08;LMD&#xff09;的齿轮故障诊断&#xff0c;GUI交互界面。通过形态滤波对一维信号进行降噪处理&#xff0c;并通过LMD局部均值分解提取故障信号&#xff0c;最后提取处故障频率。程序已调通&#xff0c;可直接运行。 272 形态滤波…

Thinkphp5响应式进销存仓库管理系统

随着企业规模的不断扩大和市场竞争的日益激烈&#xff0c;进销存管理在企业的运营中扮演着越来越重要的角色。为了提高企业的运营效率&#xff0c;降低库存成本&#xff0c;提升客户满意度&#xff0c;越来越多的企业开始引入进销存仓库管理系统。 进销存仓库管理系统是一种集…

汽车数据应用构想(二)

一直说数据价值场景&#xff0c;啥叫有价值&#xff1f;啥样的场景有价值&#xff1f;按互联网的价值观来看&#xff0c;用户的高频需求就是价值。用户也许不会付费&#xff0c;但只要他天天用&#xff0c;那就是流量&#xff0c;就是用户黏性&#xff0c;就是价值&#xff01;…

夜天之书 #98 Rust 程序库生态合作的例子

近期主要时间都在适应产品市场&#xff08;Product Marketing&#xff09;的新角色&#xff0c;不少想法还在酝酿和斟酌当中&#xff0c;于是文章输出没有太多时间来推敲和选题&#xff0c;只能保持每月发布相关的进展或一些零碎的思考。或许我可以恢复最早的模式&#xff0c;多…

kotlin1.8.10问题导致gson报错TypeToken type argument must not contain a type variable

书接上回&#xff0c;https://blog.csdn.net/jzlhll123/article/details/139302991。 之前我发现gson报错后&#xff1a; gson在2.11.0给我的kotlin项目代码报错了。 IllegalArgumentException: TypeToken type argument must not contain a type variable 上次解释原因是因为&…

String常用操作

String常用方法 构造字符串 常用的构造字符串有3种&#xff1a; 1.直接赋值String s "abcd"; 2.实例化调用构造方法String s new String("abcd"); 3.实例化传字符数组 char[] ch {a,b,c,d}; String s new String(ch);字符串比较 比较 比较的是两个…