另外,本文会用到第三方软件进行磁盘分区扩容。 背景: 实际生产中难免遇到当系统盘分区空间不足时,要想扩容的系统分区和未分配空间之间有其他分区,也就是不相邻 ,导致无法直接扩容分区,磁盘管理器界面显示 扩展卷 选项为灰色。 下图,将演示将未分配的100GB分区空间划分给系统C盘分区。接下来,我们需要用到第三方磁盘管理工具 傲梅分区助手。 选中 未分配空间 并右击,依次选择 高级操作 -> 合并分区勾选 要扩容的C分区,点击 确定点击软件左上角的黄色数字下拉箭头,可以看到具体的执行步骤分为2步,第1步将未分配空间和D分区做对调,第2步将移动后的未分配空间扩容给 在弹出的界面,点击 执行点击 是点击 确定通过磁盘管理器可以看到系统盘C分区已经成功扩容到150GB。
在虚拟机中,使用以下命令查看可用的磁盘和分区信息: sudo lsblk -fp 确定要扩展的根分区的设备名称(如 /dev/sda1)。 工具并加载 /dev/sda 设备的分区表。 在 gdisk 提示符下,输入 p 查看分区表。 记下根分区(例如 /dev/sda1)的起始扇区号,一般默认为2048。 输入 d 删除根分区。 输入 n 创建一个新的主分区。 提示输入分区号,按回车键使用默认值。 提示输入分区类型代码,输入 8e00 表示 Linux LVM 分区。 输入 w 保存更改并退出 gdisk。 运行以下命令来重新加载分区表刷新文件系统即可: partprobe # 重新加载分区表 xfs_growfs /dev/sda # 刷新文件系统 文章至此结束。
背景: 使用腾讯云云服务器时,将扩容部分的容量划分至原有分区(MBR),使用官网提供的脚本扩容时,如果分区号不是主分区1(如vdb1、vdc1时),无法使用脚本一键完成文件系统扩容 注意:做快照! 针对磁盘操作先做快照备份 示例: 分区为主分区 vdb2 时,使用脚本扩容直接报错了,提示非主分区(其实这里还是主分区,只不过不是第一个分区) root@BJ-CentOS7 ~ # lsblk NAME 备份当前分区表 3. fdisk 重建分区(扩容分区),删除原有分区,重新分区时将扩容磁盘增加的扇区增加到新建分区上,并保存配置(注意原有分区如果扇区开始位置非默认的2048,重建分区时需要注意指定原有分区的扇区开始位置 挂载校验,文件系统容量扩容成功,之前的数据也没受影响 ---- 扩容示例1:主分区,分区号不为1,扩容前分区为主分区vdb2 root@BJ-CentOS7 ~ # ls /vdb2/ 10.txt 2:逻辑分区,扩容前逻辑分区为vdb5 ?
一、背景 由于服务器运行一段时间后,项目数据和日志日积月累,导致磁盘容量不足,需要针对现有磁盘进行扩容操作。 举例: liunx根分区当前仅为40G,现需要扩容至80G乃至更大,这里只是举个例子 操作系统:Centos 7.9 1、查看当前磁盘情况 [root@localhost ~]# df -h image.png 2、查看磁盘信息 [root@localhost ~]# fdisk -l 3、删除当前分区 系统根分区是40G,在/dev/sda2中,从411648开始。 重要提示:记得提前备份哦 4、新建分区 5、重启服务器 [root@localhost ~]# init 6 6、磁盘扩容 [root@localhost ~]# df -h # 重启服务器之后发现磁盘并未变化 localhost ~]# xfs_growfs /dev/sda2 Centos 6.X系统:使用resize2fs /dev/sda2 7、再次查看磁盘情况 8、查看数据都没有丢失 至此,根分区磁盘扩容成功
查看当前系统分区情况 fdisk -l 在Disk下的是没有分区的磁盘 最后几行是已经分区的磁盘列表 分区操作 fdisk /dedcv/mmcblk0 按m获取帮助信息 帮助信息解读: a 设定硬盘启动区 b 编辑嵌套的BSD磁盘标签 c 设定dos兼容性 d 删除磁盘 F 列出可用的未分区空间 l 列出磁盘信息 n 新加磁盘 p 列出当前磁盘分区情况 t 更改分区类型 v 验证分区表 i 打印有关分区的信息 更改输出/输入单位 x 额外功能 I 从sfdisk脚本文件加载磁盘布局 O 将磁盘布局转储到sfdisk脚本文件 w 结束并写入硬盘分割区属性 q 结束不存入硬盘分割区属性 g 创建一个新的空GPT分区表 G 创建一个新的空SGI(IRIX)分区表 o 创建一个新的空DOS分区表 s 创建一个新的空Sun分区表 删除分区 创建主分区 创建扩展分区 创建逻辑分区 创建完扩展分区之后可以创建扩展分区 (注意文件类型): /dev/mmcblk0p3 fenqudemo ext4 defaults 0 0 已挂载的分区扩容 比如我要给/opt/docker扩容。
前段时间在家里的电脑上装了个ubuntu server版,当时装的时候我记得分区的时候选的是整个硬盘,今天进去一看,发现120G的硬盘,居然分区只有58G。 通过df -h可以查看分区磁盘占用情况。 可使用命令进行磁盘扩容 lvextend -L 10G /dev/mapper/ubuntu--vg-ubuntu--lv //增大或减小至10G lvextend -L +10G /dev/ /ubuntu--vg-ubuntu--lv //减小10G lvresize -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv //按百分比扩容 resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv 扩容成功
场景:mysql的数据库目录为/data随着数据量的增加,该分区不够用了,准备添加一块ssd硬盘,扩容该分区! 下面是测试环境的整个过程: 测试环境:在原有LVM卷标上添加一块50G的新硬盘对LVM进行扩容 1、将添加的新硬盘进行分区: fdisk /dev/sda WARNING: DOS-compatible 194M 27M 158M 15% /boot /dev/mapper/vg_lvmtest-LogVol01 80G 205M 75G 1% /data 该工具可以实现在线的扩容
如下图所示 lsblk查看发现根分区为非LVM类型,空间大小不是很大,由于业务数据增长,需要进行扩容 然后/home分区基本上不怎么使用,这时需要对根分区进行扩容 基本思路是: 1、/home目录下的数据先备份到根分区下某个目录下 2、/home目录对应的sda3分区与/根分区对应的sda2,合并成一个大分区 操作步骤如下 1、备份一下/home目录下的数据到/opt目录下,然后umount /home (umount /home 提示设备忙,说明是/home目录下有服务或者程序在跑的情况,使用lsof 以及fuser命令查看,并停掉相关进程) 2、fdisk /dev/sda进行重新分区操作 1)先删掉分区3和分区2 2)再创建分区 查看sda2分区大小已经扩到99G,df -PTh查看,可以看到根分区Size还是之前的大小45G 5、这时需要进行文件系统的扩容 因为是ext4格式,执行 resize2fs -p /dev/sda2 等待扩容进度完成,df -PTh可以看到根分区目前大小已经变为98G,扩容成功 (分区扩容操作有风险,请务必做好数据备份!)
以下步骤的前提为磁盘lvm分区 1、加入新硬盘 2、分区 PV(physical volume)即物理卷,就是物理磁盘,可以通过fdisk -l 查看操作系统有几块硬盘 VG(volume group PV->VG->LV-> 文件系统使用(挂载到某个目录) 新硬盘磁盘/dev/sdb进行分区 parted /dev/sdb 打印分区信息表可以看到有两个分区了。 1、创建物理卷 pvcreat /dev/sdb2 2、查看将要扩容的卷组信息 ) 4、再次查看卷组信息 vgdisplay 可扩容空间变成10G 5、将卷组中空闲空间扩展到 /data(分区) /data-lvdata 查看结果 :df -lh 扩容成功 4、删卷组物理卷 [root@xt-prod-mydb02 ~]# vgremove data Do you really want
GPT分区不能使用gropwpart进行扩容分区,需要删除源有GPT分区,再次新建分区 1、查看当前分区状态 #查看分区是否是GPT [root@master ~]# fdisk -lu Disk / System /dev/vdb1 2048 83886079 41942016 83 Linux # Disk label type 字段显示是dos,说明是MBR分区 ,需要将其修改为GPT分区 2、修改MBR至GPT分区 #当前分区已经挂载,且有数据 [root@master ~]# df -h Filesystem Size Used Avail Use d767eb758bc331212ea9654d5fd69a82a8745f6571c190c0c453614a73152b67/merged /dev/vdb1 40G 49M 38G 1% /mnt #卸载磁盘并删除分区 master ~]# mount /dev/vdb1 /mnt [root@master ~]# ls /mnt lost+found [root@master ~]# umount /dev/vdb1 3、扩容云盘
当服务器数据太多的时候,硬盘不足的时候就得考虑扩容,为了不影响业务的正常运行,一般云服务器的本地磁盘都是不支持分区的,因为业务数据通常是不能中断和移动的,无论是增加硬盘或在原有磁盘增加分区的方式扩容,势必会存在卸载 即使能分区,也最好不要分区,以免以后扩容麻烦。 以下用虚拟机看一下对未分区磁盘扩容的效果 [root@k8s-node01 sdd_test]# df -h Filesystem Size Used Avail Use% sdd_test [root@k8s-node01 sdd_test]# ls test.txt [root@k8s-node01 sdd_test]# 可以看到,/dev/sdd这块硬盘没有进行分区 现对sdd进行扩容到40G,关闭虚拟机,虚拟机设置里面可对指定磁盘进行扩容(真实服务器或云服务器扩容一般是不需要关机的) 再次开启虚拟机后查看磁盘信息 [root@k8s-node01 ~]# df -
ubuntu 根分区剩余空间不足,影响工作,因此通过lvm工具对根文件系统进行扩容 系统版本:ubuntu-14.04 LTS 1. 使用新硬盘扩展根文件系统 2. 那么可以通过空闲扇区新建分区来进行扩展。 # 对已经使用但是没有完全使用的分区进行lvm扩容。 # 比如,有vda,总容量为500G,但是只有两个分区:vda1和vda2且只用了10G。 命令参考和自动化脚本 fdisk 命令新建好分区后,扩展根文件系统的相关命令以及自动化脚本。 fdisk /dev/sde # 新建分区完成后,需要重读分区表。 # 如果重读分区表命令不可行,可以reboot重启系统。 Ubuntu根分区使用Lvm扩容 — Welcome to Sitian’s Blog 1.0 documentation https://gtcsq.readthedocs.io/en/latest/
所以本章节以风险更小的parted方式来扩容磁盘。 并且上一小节只考虑了标准分区,未考虑lvm的情况,所以本小节将基于标准分区和lvm分区分别演示扩容磁盘。 标准分区 网上大部分的攻略,都是直接使用parted命令扩容,只会告警,但是并不影响扩容。 在centos7的系统里面测试均无法直接使用,而是会直接提示磁盘正在被使用,如果非系统分区,则可以umount以后再操作;但是如果是根分区则无法卸载。 尝试使用使用非光盘启动的救援模式,提示是没有parted命令,所以下面的操作是基于光盘启动的救援模式来实现的。 #使用parted进入磁盘分区界面 parted #执行print 打印分区情况 print #选择分区2执行扩容操作,具体以现场为准 resizepart 2 #根据磁盘大小选择 #也可以使用
刚装完的ubuntu系统,逻辑分区容量远小于分配的磁盘容量,ubuntu逻辑分区只有200G,实际硬盘1T。可以通过下面的操作使得ubuntu逻辑分区占满整个磁盘。 1、执行命令lvdisplay查看系统逻辑分区信息 2、执行命令fdisk -l查看磁盘信息 从上图可以看出磁盘大小(1T)远大于系统逻辑分区大小(200G),知道了现在磁盘完全可以提升利用率,就可以直接进行扩容 ,不需要额外增加硬盘 3、执行命令lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv,注意后面的逻辑分区名字使用lvdisplay命令获取到的 4、执行 命令resize2fs
问题 在安装centos7系统时,假若不进行任何的分区操作,默认会分为两个区,一个根分区,一个/home分区,如下所示: ? 但是问题是,我们不想要/home目录那么大的空间,所以如何去做,将/home分区的空间降低,并把减少的空间扩容至根分区,下面是具体操作 步骤 1、卸载/home分区 cp -r /home /tmp/ umount /home 2、将/dev/mapper/centos-home的空间降低(降低多少,就在后面扩容多少) lvreduce -L -100G /dev/mapper/centos-home 3、重新格式化这个分区 mkfs.xfs /dev/mapper/centos-home -f 4、进行挂载/home分区 mount /dev/mapper/centos-home /home 挂载完成之后 ,使用df -hT查看下是否已经减少 5、扩容根分区 lvextend -L +100G /dev/mapper/centos-root 6、使修改生效 xfs_growfs /dev/mapper/centos-root
512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 创建分区与格式化 #新建分区 [root@centos002 ~]# fdisk /dev/sdb Command (m for help): n Command action e extended p #格式化分区 [root@centos002 ~]# mkfs.ext4 /dev/sdb1 mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type /vg_centos002/lv_root Insufficient free space: 2670 extents needed, but only 2558 available #报错说明扩容的空间不足 重设分区大小 #重设根分区大小 [root@centos002 ~]# resize2fs /dev/vg_centos002/lv_root resize2fs 1.41.12 (17-May-2010
这个笔记只适用于同一块硬盘扩容 为了不让服务器遭遇到毁灭级的打击,我还是开了台测试用的服务器先试试水,不然的话,万一狗带了,那什么都没了。 这就填写上一步看到的磁盘空间(Disk /dev/vda: 129GB) 129GB,这个应该是换算出了问题,最后再输入 q (quit) 退出 由于我是系统盘,这个 /dev/vda2 是活动中的分区 退出之后,用 df -h 命令看发现没有任何改变,但是使用 lsblk 命令会发现已经扩容成功了,因为这只是 block device 容量变大了,还没有反映到 file system 中 需要使用 resize2fs 完结 以上就是Ubuntu 为主分区扩容的内容,欢迎小伙伴们交流讨论。
给根分区/dev/mapper/cl-root扩容20G空间 1、先创建一个分区,并把其调整为8e LVM存储卷格式 # 重读分区表或重启服务器 [root@rsq-8-163 ~]# partprobe # 格式化新分区之前先查看根分区是什么文件系统 [root@rsq-8-163 ~]# mount | grep /dev/mapper/cl-root /dev/mapper/ cl-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota) # 格式化新分区 [root@rsq-8-163 ~]# mkfs.xfs 其后有两个选项: 选项 说明 -L 指定逻辑卷的大小,单位为kKmMgGtT字节,也就是Size -l 指定逻辑卷的大小,单位为PE数 2、上边的操作只是卷扩容,还需要对文件系统实现真正的扩容 # CentOS 由于使用的是 XFS,所以要用 xfs_growfs /dev/mapper/cl-root # CentOS 6 下面 要用 resize2fs /dev/mapper/cl-root 查看磁盘空间,检查扩容是否成功
---#sudo growpart /dev/vda 1 # 扩容分区: grow [ɡrəʊ] 扩大 ; part [pɑːt] 部分,分区sudo #再次查看容量#--- ubuntu 扩容ntfs 分区 ---#sudo apt-get install gparted # 图形化软件操作# chkdsk 格式扩容文件系统xfs_growfs / # 扩展根分区报错,xfs_growfs 提示is not a mounted XFS filesystem 直接扩容到根目录df -hT # 再次查看文件分区大小。 # 相关链接linux/windows 磁盘分区扩容:ext4 xfs NTFS 磁盘扩容: http://ddoss.cn/read-581-1.htmlparted 磁盘分区-挂载-删除-shell
LVM简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制。 LVM将一个或多个磁盘分区(PV)虚拟为一个卷组(VG),相当于一个大的硬盘,我们可以在上面划分一些逻辑卷(LV)。当卷组的空间不够使用时,可以将新的磁盘分区加入进来。 PE / Size 51200 / 200.00 GiB VG UUID oIgyce-IO2t-FegU-Kgvb-n2Us-6K3u-rbJCdy 扩容已有分区 下面是对现有分区进行逻辑卷扩容,我们这里根分区为40G,我们准备扩容根分区 查看根分区的LV路径 # df -h Filesystem Size Used Avail extsz=4096 blocks=0, rtextents=0 data blocks changed from 9697280 to 62126080 最后查看下根分区的大小是否扩容成功