admin管理员组

文章数量:1530085

Linux 挂载磁盘和扩展现有分区大小(无需格式化、无需关机)

  • 前言
  • 一、磁盘挂载
  • 二、分区扩容
  • 总结


前言

Centos、Ubuntu、Debian,xfs 和 ext 文件系统都可以,我全都在虚拟机试过一遍,先讲挂载磁盘,因为扩容也需要挂载的前几步操作。


一、磁盘挂载

如果是虚拟机,先在虚拟机设置里面增加磁盘,点右边扩展,然后输入的最大磁盘大小,原本20G,输入40G,也就是扩容20G,完成后开启虚拟机,在系统里继续配置。

进入系统以后,输入df -lh查看现有分区挂载状态,再输入fdisk -l查看所拥有的的磁盘,我只有一个磁盘,就是 /dev/sda,现在是42.9G,可以看到磁盘容量已经增加了(之前是22G)

如果我们要挂载这块磁盘到一个新的文件夹叫 /new,我们这样操作

输入fdisk /dev/sda回车,(/dev/sda换成你的磁盘名)

会提示你一些信息,输入 “p”查看分区表信息,输入“n”创建分区,慢点回车,一直到看见 分区 * 已设置为 Linux 类型,大小设为 * GiB (有些系统这个提示是英文的),就输入 wq ,回车

提示:如果不想把这块磁盘的空间全部分区,就在“Last 扇区”那里,不要直接回车,输入数字修改大小再回车

再次输入 fdisk -l你会发现下面比之前多了一个 sda4(你们的可能不叫sda4哈,反正就是多了一个),就是刚刚新建的分区

如果要把这个新分区挂载到文件夹的话就输入 mount /dev/sda4 /new,后面的 /new 是你要挂载的文件夹,再运行vi /etc/fstab,设置开机自动挂载,然后vi /etc/fstab在文件里添加以下内容/dev/sdb /data ext4 defaults 0 0,完成

如果是扩容就不需要上面那一步操作了,直接进行下一步


二、分区扩容

运行 vgdisplay,显示卷组信息,查看VG Name,下面要用,这时 Free PE 为0

运行partprobe 来使分区表生效(截图里我输入错误了,不用管)

然后运行pvcreate /dev/sda4 将刚才的分区初始化为物理卷,以便被 LVM 使用

运行vgextend centos /dev/sda4, 扩展卷组(上面的VG Name换成你自己的,我的叫centos,你们自己换一下)

再次运行vgdisplay查看卷组信息,发现Free PE有空间了


然后开始扩容啦,有两种写法,百分比和直接指定扩容大小(下面有图)

指定扩展大小:
lvextend -L+9.9G /dev/mapper/centos-root /dev/sda4
意思是为 /dev/mapper/centos-root 增加10G空间,这个 /dev/mapper/centos-root 是 df -lh 那一步你要扩容的分区名称,你们自己改一下,直接写10G系统会判定超出磁盘大小,所以写9.9G,建议下面那种写100%不浪费空间


按照百分比扩展:
lvextend -l +100%FREE /dev/mapper/centos-root /dev/sda4
意思是把 /dev/sda4 的全部空间扩容给 /dev/mapper/centos-root ,注意命令大小写


最后一步,看一下你的分区文件系统,运行cat /etc/fstab,我的是 xfs

如果是ext文件系统:resize2fs /dev/mapper/centos-root
如果是XFS文件系统:xfs_growfs /dev/mapper/centos-root

然后df -lh发现扩容成功


总结

本文标签: 磁盘分区大小Linux