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

这篇具有很好参考价值的文章主要介绍了linux磁盘扩容:新增磁盘、原磁盘扩容、home/root分区扩容。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、背景

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

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

分区情况说明:

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

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

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

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

#!/bin/bash
1、添加新磁盘
2、fdisk -l查看磁盘被识别的名称
# fdisk -l
3、查看一下系统的CPU数量:
# grep 'processor' /proc/cpuinfo
如果需要两个线程的CPU数量时:
# mkfs.xfs -f -d agcount=2 /dev/sdb1  #agcount=2 CPU个数
# ls /sys/class/scsi_host/
# echo "- - -" > /sys/class/scsi_host/host0/scan
# echo "- - -" > /sys/class/scsi_host/host1/scan
# echo "- - -" > /sys/class/scsi_host/host2/scan

刷新磁盘容量
# ls /sys/class/scsi_device/
0:0:0:0  0:0:1:0  3:0:0:0
# echo 1 > /sys/class/scsi_device/0\:0\:0\:0/device/rescan
# echo 1 > /sys/class/scsi_device/0\:0\:1\:0/device/rescan
# echo 1 > /sys/class/scsi_device/3\:0\:0\:0/device/rescan
[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分区

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

  1. 先备份/home下文件
  2. 卸载(umount) /home (注意:卸载不掉时,请将所有使用/home的进程关闭  参考http://t.csdn.cn/cbViW)
  3. 从逻辑卷中删除(lvremove)  home 分区
  4. 扩展:将腾出的空间扩展(lvextend)到 centos-root分区下
  5. 使扩展生效(xfs_growfs
  6. 注释掉fstab中的启动挂载项
  7. 恢复备份数据到/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

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

  1. 查看磁盘情况(lsblk、fdisk -l、pvdisplay)
  2. 创建物理卷(pvcreate
  3. 将磁盘扩展到卷组(vgextend
  4. 扩展逻辑分区(lvextend
  5. 使扩展生效(xfs_growfs
  6. 查看(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进行分区,操作步骤与场景二基本一样,多了一步分区

  1. 查看磁盘情况(lsblk、fdisk -l、pvdisplay)
  2. 创建分区(fdisk 磁盘名称)
  3. 创建物理卷(pvcreate
  4. 将磁盘扩展到卷组(vgextend
  5. 扩展逻辑分区(lvextend
  6. 使扩展生效(xfs_growfs
  7. 查看(df -H

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

  1. 查看磁盘情况(parted /dev/sda  print free)
  2. 分配剩余的可用空间(parted /dev/sda resizepart 2 100%
  3. 刷新物理卷(pvresize /dev/sda2
  4. 扩展逻辑分区(lvextend
  5. 使扩展生效(xfs_growfs
  6. 查看(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

三、总结

        自己在工作中遇到磁盘扩容的问题进行了汇总。按照我的命令可以一步一步执行,如果还想进行了解更深,需要了解什么是物理卷(pv)、逻辑卷、逻辑分组、逻辑分区等等。
       文章来源地址https://www.toymoban.com/news/detail-522787.html

到了这里,关于linux磁盘扩容:新增磁盘、原磁盘扩容、home/root分区扩容的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • centos linux lvm分区 标准分区 磁盘扩容

    选择磁盘分区 选择分区方式: 自动分区最省力,选择后点击done,就完成分区配置了; 手动分区需要配置,一般会预留”/boot”(引导启动),”/swap”(内存扩展)、“/” 根目录 看手动分区,可以LVM分区,也可以用标准分区 “Standard Partition”, 以LVM为例,选择I will conf

    2024年02月04日
    浏览(32)
  • linux磁盘存储空间不足磁盘扩容 LVM扩容逻辑卷扩容详细教程

    一、介绍 当linux内存不够用时就涉及到磁盘扩容,只有使用LVM逻辑卷才支持扩容,该教程教你如何扩容。 系统版本为centOS 7 目标将/dev/mapper/centos-root容量大小由18G扩容到23G 增加5G容量 二、查看操作系统当前磁盘信息 首先使用fdisk -l查看当前机器所挂硬盘个数及分区情况,可知

    2024年02月02日
    浏览(27)
  • 熟练掌握Linux中增加磁盘与分区

    1.1 分区的作用 优化I/O(读写)性能 实现磁盘空间配额限制 提高修复速度 隔离系统和程序 安装多个OS 采用不同文件系统 1.2 mbr分区 MBR 分区 只可以对2T 以下的硬盘进行分区 一个扇区 512 字节(前 446 是引导程序,后面64字节中有4个16字节的分区表,还有2字节作为标记位) 1

    2024年02月03日
    浏览(27)
  • 【VMware环境下Linux磁盘空间(LVM)扩容方法】

    最近在安装Oracle ASM的过程中,解压文件被迫终止,提示可用空间不足。下面简单描述磁盘扩容的步骤。 环境 :VMware Workstation 16 PRO下的虚拟机 系统 :Oracle Linux Server 7.9 (Redhat 7系列可参考) 内核 :Linux 5.4.17-2102.201.3.el7uek.x86_64 文件系统类型 :LVM 安装系统时分配磁盘空间共

    2024年02月06日
    浏览(32)
  • VMware 虚拟机中 Linux 系统Centos7磁盘空间扩容(亲测)

    例如之前虚拟机磁盘空间为30G,现要将磁盘容量设置为50G 打开虚拟机(必须处于关机状态),点击【编辑虚拟机设置】,然后点击【磁盘】,接着点击【扩展】,输入修改后的最大磁盘容量50G,具体操作时最大容量根据自己的需求设置即可。 输入完成最大磁盘容量后,点击

    2024年02月12日
    浏览(43)
  • Ubuntu扩容 增加磁盘容量

    建议使用此工具扩容,更安全、稳定,使用系统工具直接扩容可能导致系统错误,另外建议使用:sudo apt install gparted 或者在软件列表中点击图标运行

    2024年04月13日
    浏览(23)
  • Ubuntu双系统扩大/home磁盘空间大小,gparted移动磁盘位置及大小

    前言:   笔者之前试过挂载磁盘的方法,后开觉得不方便,于是决定用U盘启动盘来扩大空间,花了几个小时终于搞清楚了整个流程,其中在gparted移动磁盘位置的地方卡了很长时间,相关的教程也较少,所以汇总了一个全面的Ubuntu双系统扩大/home磁盘空间大小的方法,希望能

    2023年04月10日
    浏览(25)
  • 阿里云服务器ECS中扩容云盘后磁盘容量没有增加的解决方法

    ECS中扩容云盘后磁盘容量没有增加。 ECS控制台操作扩容只是扩大云盘的存储容量,不会扩容ECS实例的文件系统。还需要登录实例,然后进行扩容文件系统的操作。 •如果对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。 •如果对实例

    2024年01月21日
    浏览(32)
  • windows10+ubuntu20.04双系统中,ubuntu系统显示home空间不足的扩容方法

    实际上网上有两种扩容方法,除了本文的方法外,另一种是在使用启动U盘打开试用ubuntu,应该涉及到nvidia显卡驱动问题故未采用。另一种即本文。 最开始安装双系统时内存分配没有分配好,给ubuntu系统分配的空间较小,导致了后来的的问题,所以在这里强烈建议安装双系统的

    2024年03月23日
    浏览(38)
  • 【aws】| 04 | AWS EC2 实例磁盘空间扩容

    进入控制台,选择 EBS - Volumes -Action - Modify Volume 首先使用lsblk可以查看附加到实例上的所有存储卷的真实size以及分区情况 注: 挂载在根目录上的是EBS存储卷上的分区而不是这个卷,而且卷被扩容但是分区大小不变依旧不能扩容。 xvda是一个存储卷,xvda1是存储卷上的一个分区

    2024年02月11日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包