文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-08-19 06:25

关注

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

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

分区情况说明:

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

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

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

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

#!/bin/bash1、添加新磁盘2、fdisk -l查看磁盘被识别的名称# fdisk -l3、查看一下系统的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 MOUNTPOINTsda               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下的数据 并删除/backupmv /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-homexfs_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-homexfs_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 freeModel: ATA QEMU HARDDISK (scsi)Disk /dev/sda: 53.7GBSector size (logical/physical): 512B/512BPartition Table: msdosDisk 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://blog.csdn.net/niechel/article/details/129217219

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯