当我们租了服务器之后,肯定会需要到磁盘扩容的。

一、背景

linux使用中经常遇到磁盘空间不足,需要对磁盘进行扩容。根据自己的经验进行归纳整理,多种场景,帮助需要者和备查

本文执行的命令,均在centos7 环境下运行的,其他环境思路和相似,命令基本一致。

分区情况说明:

sda是单独的一块磁盘总大小50G,sda1、sda2是两个分区,sda2下面有三个逻辑分区centos-root 、centos-home、centos-swap (df命令时可以看到的挂载点);

centos-root 对应的挂载点是 根目录

centos-home对应的挂载点是 /home

卷组名称为centos (通过pvdisplay查看)

[root@vm-210 templates]# lsblk

NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda               8:0    0   50G  0 disk

├─sda1            8:1    0    1G  0 part /boot

└─sda2            8:2    0   49G  0 part

├─centos-root 253:0    0   40G  0 lvm  /

├─centos-home 253:1    0    7G  0 lvm  /home

└─centos-swap 253:2    0    2G  0 lvm  [SWAP]

[root@vm-210 templates]# pvdisplay

--- Physical volume ---

PV Name               /dev/sda2

#卷组名称

VG Name               centos

PV Size               <49.00 GiB / not usable 3.00 MiB

Allocatable           yes

PE Size               4.00 MiB

Total PE              12543

Free PE               1

Allocated PE          12542

PV UUID               1Fpioh-HkxD-f4Pd-78An-on4A-vGS1-B9UXr4

二、场景

出现以下问题参考文章:http://t.csdn.cn/cbViW

扩容磁盘不显示扩容后的磁盘或者磁盘大小两种情况:

情况一:修改原来磁盘大小

情况二:新增磁盘

场景一:将centos-home分区移动到根分区centos-root

由于分区时,centos-home分区空间非常大,centos-root分区非常小,需要删除centos-home分区,扩容到centos-root分区

操作思路(括号中是用到的命令):

先备份/home下文件

卸载(umount) /home (注意:卸载不掉时,请将所有使用/home的进程关闭  参考http://t.csdn.cn/cbViW)

从逻辑卷中删除(lvremove)  home 分区

扩展:将腾出的空间扩展(lvextend)到 centos-root分区下

使扩展生效(xfs_growfs)

注释掉fstab中的启动挂载项

恢复备份数据到/home 下

详细代码如下:

#!/bin/bash

#【功能】 将centos-home分区的空间移动到根centos-root分区下

#1.先备份 /home下文件: 将/home下的所有内容备份到/backup下,下面的命令自动创建/backup目录

mkdir /backup && mv /home/*  /backup

# 2.卸载 centos-home

umount /home

##  如提示失败则用下面的命令终止/home 分区下的进程 再进行卸载

##  fuser 安装方法  yum install -y psmisc

##  fuser -m -v -i -k /home

##  判断是哪个进程占用了此目录,请kill掉那个进程也可以

# 3.从逻辑卷中删除(lvremove)  centos-home 分区

echo y|lvremove /dev/mapper/centos-home

# 4.扩展:将腾出的空间扩展(lvextend)到 centos-root分区下

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

# 5.使扩展生效(xfs_growfs)

xfs_growfs /dev/mapper/centos-root

# 6.注释掉fstab中的启动挂载项

sed -i 's;/dev/mapper/centos-home;#/dev/mapper/centos-home;g' /etc/fstab

# 7.恢复 原来home下的数据 并删除/backup

mv /backup/* /home  && rm -rf /backup

# 8.查看

df -H

说明:

思路是一样的,如果是其他分区,请修改里面的分区目录即可

场景二:新增磁盘扩容到根目录或者home下

磁盘空间不足,新增加了一块硬盘的场景。此处举例新增的一块磁盘名称为/dev/sdb

操作思路(括号中是用到的命令):

查看磁盘情况(lsblk、fdisk -l、pvdisplay)

创建物理卷(pvcreate)

将磁盘扩展到卷组(vgextend)

扩展逻辑分区(lvextend)

使扩展生效(xfs_growfs)

查看(df -H)

# 1.查看磁盘情况(lsblk、fdisk -l、pvdisplay)

lsblk

# 2.创建物理卷(pvcreate)

pvcreate /dev/sdb

# 3.将磁盘扩展到卷组(vgextend)

vgextend centos /dev/sdb

# 4.扩展逻辑分区(lvextend)

#   根据自己的情况选择扩容到centos-root

#                      还是centos-home逻辑分区,请修改注释

# 100%是将所有的磁盘空间扩容到指定分区,也可以根据需要进行调整比例

#      也支持指定大小比如10G等等(指定固定值时参数-l需要修改为-L)

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

#lvextend -l+100%FREE /dev/mapper/centos-home

# 5.使扩展生效(xfs_growfs)根据扩容的分区进行选择使用

# xfs_growfs /dev/mapper/centos-home

xfs_growfs /dev/mapper/centos-root

# 6.查看(df -H)

df -H

场景三:在原始磁盘上增加空间(常在虚拟化环境中)

虚拟化或者超融合环境中、或者VMware虚拟机中;磁盘空间不足,增加了已有磁盘的大小的场景,把增加的空间扩容到根目录或者centos-home下。

操作思路(括号中是用到的命令):

方法一:fdisk进行分区,操作步骤与场景二基本一样,多了一步分区

查看磁盘情况(lsblk、fdisk -l、pvdisplay)

创建分区(fdisk 磁盘名称)

创建物理卷(pvcreate)

将磁盘扩展到卷组(vgextend)

扩展逻辑分区(lvextend)

使扩展生效(xfs_growfs)

查看(df -H)

方法二:用parted命令调整大小

查看磁盘情况(parted /dev/sda  print free)

分配剩余的可用空间(parted /dev/sda resizepart 2 100%)

刷新物理卷(pvresize /dev/sda2)

扩展逻辑分区(lvextend)

使扩展生效(xfs_growfs)

查看(df -H)

方法一:fdisk进行分区,操作步骤与场景二基本一样,多了一步分区

# 1.创建分区(fdisk)

fdisk  /dev/sda

#在进入命令环境中,按n键  一路按回车,最后一步按w键保存,最后按q键退出

# 2.创建物理卷(pvcreate) sda3根据第一步中创建的分区名称进行替换

pvcreate /dev/sda3

# 3.将磁盘扩展到卷组(vgextend)  sda3根据第一步中创建的分区名称进行替换

vgextend centos /dev/sda3

# 4.扩展逻辑分区(lvextend)

#   根据自己的情况选择扩容到centos-root

#                      还是centos-home逻辑分区,请修改注释

# 100%是将所有的磁盘空间扩容到指定分区,也可以根据需要进行调整比例

#      也支持指定大小比如10G等等(指定固定值时参数-l需要修改为-L)

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

#lvextend -l+100%FREE /dev/mapper/centos-home

# 5.使扩展生效(xfs_growfs)根据扩容的分区进行选择使用

# xfs_growfs /dev/mapper/centos-home

xfs_growfs /dev/mapper/centos-root

# 6.查看(df -H)

df -H

方法二:用parted命令调整大小

举例:系统只有一个磁盘,2个分区:需要将新扩容的磁盘空间扩容到分区2上,下图中number 为2的,实际上对应的是/dev/sda2

[root@vm-210 templates]# parted /dev/sda  print free

Model: ATA QEMU HARDDISK (scsi)

Disk /dev/sda: 53.7GB

Sector size (logical/physical): 512B/512B

Partition Table: msdos

Disk Flags:

Number  Start   End     Size    Type     File system  Flags

32.3kB  1049kB  1016kB           Free Space

1      1049kB  1075MB  1074MB  primary  xfs          boot

2      1075MB  53.7GB  52.6GB  primary               lvm

方法二:用parted命令进行操作

#1. 查看磁盘情况:打印可用空间

parted /dev/sda  print free

#2.分配剩余的可用空间

#将剩余的可用空间分配到 /dev/sda2,根据实际修改磁盘

# resizepart 中的2 只的是第二个分区即:/dev/sda2

#             100% 将所有的空闲空间分配给/dev/sda2,也可以用单位和百分比

parted /dev/sda resizepart 2 100%

# 3.刷新物理卷

#分区的空间修改了,也要刷新一下pv物理卷的大小,这样pv才能识别变动的空间

pvresize /dev/sda2

# 4.查看物理卷是否变化

#查看pv中free 项中是否显示了可用的空间

pvdisplay

# 5.扩展逻辑分区

#开始增加到逻辑卷中

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

# 6.使扩展生效(xfs_growfs)

xfs_growfs /dev/mapper/centos-root

# 7.查看(df -H)

df -H

linux磁盘扩容大全相关推荐

  1. 日常问题解决:Linux磁盘扩容

    linux磁盘扩容 1.用fdisk /dev/sda命令,选择'n'创建新分区,主分区,逻辑分区对这个例子来说都可以,'w'保存. 重启机器生效. 2.接下来创建sda3分区 建为物理卷 (pvcr ...

  2. linux磁盘扩容方案

    linux磁盘扩容方案 一.分区方式扩容 二.逻辑卷方式扩容(推荐) 一.分区方式扩容 df -h命令可以查看磁盘的存储情况,查到其中有一个分区使用率如下 Filesystem Size Used A ...

  3. Linux 磁盘扩容

    一.查看系统磁盘 1.使用df -hl ,查看系统的磁盘使用情况 二.linux磁盘扩容 当LVM分区空间不足的时候,可以进行扩容,主要的扩容方法有: 1.通过空余的磁盘进行扩容,这个方法比较简单,不 ...

  4. linux 磁盘扩容_当LINUX服务器磁盘空间不够时如何进行磁盘扩容?

    概述 最近不知道写啥,就分享下之前生产环境装oracle rac环境的时候做的一个磁盘扩容案例吧,整理了一下,按照流程下来基本没问题的,主要是作为备忘. 平滑扩容 基础环境检查 fdisk -l df ...

  5. linux磁盘扩容_超详尽!Linux云服务器存储扩容实操

    导语 | 随着业务的发展,业务数据不停的增长,原有的磁盘空间可能会出现磁盘空间不够用的情况,因此,需要对磁盘空间进行扩容,以满足业务数据增长的需求.本文总结了Linux环境下云服务器存储扩容的三种方式 ...

  6. linux磁盘扩容:新增磁盘、原磁盘扩容、home/root分区扩容

    ​ 一.背景 linux使用中经常遇到磁盘空间不足,需要对磁盘进行扩容.根据自己的经验进行归纳整理,多种场景,帮助需要者和备查 本文执行的命令,均在centos7 环境下运行的,其他环境思路和相似,命 ...

  7. Linux 磁盘扩容及挂载新盘

    前言 在使用虚拟机的时候默认创建的磁盘大小是20G,有时候需要更大的磁盘空间,在虚拟机设置调整之后,还要手动在Linux的里面扩容或者添加新盘 一.磁盘扩容 1.修改虚拟机的硬盘大小 ​ 2.查看磁盘 ...

  8. linux 磁盘扩容(做逻辑卷)

    项目背景: 最近有个项目 ,原计划要求客户提供2T的数据盘 但是客户只给了350G,迫于无奈,我把另一块MBR已分区200G的磁盘合并做个逻辑卷勉强先把业务部署起来了 (运维可真是动不动就得奶孩子!! ...

  9. Linux磁盘扩容的操作

    逻辑分区扩容(lvm) Lsblk , fdisk -l ,pvdisplay(查看卷组名) 1.创建分区(fdisk) fdisk /dev/sda #在进入命令环境中,按n键 一路按回车,最后一步 ...

最新文章

  1. webkit内核 css,纯CSS改变webkit内核浏览器的滚动条样式
  2. Linus Torvalds 谈居家办公:不要在家中重新搞一个办公室
  3. 10. http 的一些说明及分析工具
  4. 构造函数和析构函数能不能是虚函数
  5. 【公开课预告】百度语言与知识最新技术成果详解
  6. 动态数组,数组初始化,数组内存释放,向数组中添加一个元素,向数组中添加多个元素,数组打印,顺序查找,二分查找,查找数组并返回地址,冒泡排序,改变数组中某个元素的值,删除一个数值,删除所有,查找含有
  7. [Innost]Android深入浅出之Binder机制
  8. qt按钮禁用和激活禁用_为什么试探法只是经验法则:禁用按钮的情况
  9. 信息学奥赛一本通(1009:带余除法)
  10. 手机滤镜怎么移植到ps上_一分钟教你电脑端Lr、Ps滤镜预设/手机端Lr预设如何导入【图文教程】...
  11. 【转载】Python tips: 什么是*args和**kwargs?
  12. 什么是TOGAF?TOGAF初学者指南
  13. php dth网络节点,基于 DHT 网络的磁力链接和BT种子的搜索引擎架构
  14. (十四)商品详情页实现
  15. 国内云服务地域选择和测速
  16. 安卓按键精灵手机助手(功能:安卓版抓抓、命令库、制作电脑UI界面)
  17. Charles抓包工具使用介绍
  18. vue实例和组件的区别
  19. session和token鉴权
  20. 如何开展数据安全风险评估(参考)

热门文章

  1. node脚手架搭建快速入门
  2. AR项目总结之ER图
  3. Web Design-网页制作尺寸和网页广告尺寸
  4. 使用git在码云(gitee)发布项目
  5. 让自己的勤奋真正有用
  6. freenas-nfs
  7. 新媒体运营晋升空间大吗
  8. 数据库及SQL----常用知识点总结
  9. Python语言的优点和缺点
  10. iPad有触控笔是哪几款?触控笔十大品牌