Linux 磁盘扩容
一、概述
1. win10磁盘扩容
win10磁盘扩容主要有以下步骤:
假设将D磁盘的部分空间扩容给C盘:
(1)D盘右键,压缩卷(如果要将D盘全部扩容给C盘,则直接删除卷),设置好参数后进行压缩,压缩/删除以后,会多出一个未分配的分区;
(2)在C盘右键,点击扩展卷,然后设置参数,点击下一步直到完成就可以了。
2.linux磁盘扩容
LVM(逻辑卷管理, Logical Volume Manage)将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。
LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。我们如果新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性!
PE:物理拓展
PV: 物理卷(物理的磁盘分区);
VG: 卷组,由一个或多个PV组成,可以在卷组上创建一个或多个LV;
LV:逻辑卷,逻辑卷建立在VG之上,在LV之上可以建立文件系统(比如/home或者/usr等);
工作原理:
(1)物理磁盘被格式化为PV,空间被划分为一个个的PE
(2)不同的PV加入到同一个VG中,不同PV的PE全部进入到了VG的PE池内
(3)LV基于PE创建,大小为PE的整数倍,组成LV的PE可能来自不同的物理磁盘
(4)LV现在就直接可以格式化后挂载使用了
(5)LV的扩充缩减实际上就是增加或减少组成该LV的PE数量,其过程不会丢失原始数据
扩展逻辑卷的步骤:
(1) 在硬盘上创建一个新分区;
(2) 将刚创建好的新分区添加为物理卷;
(3) 将该物理卷添加为卷组;
(4) 将空间从卷组分配到逻辑卷;
(5) 调整文件系统的大小;
磁盘与文件系统之间的关系:
映射关系:扇区→物理块→逻辑块→文件系统
dfisk: 物理块,查看和管理磁盘分区信息。
lsblk:逻辑块 ,查看磁盘和分区信息,block device, 也就是逻辑磁盘大小。
df: 文件系统,查看分区和挂载对应信息,查看的是file system, 也就是文件系统层的磁盘大小。
二、步骤
1. 选择扩容方式
首先,你应该查看你要扩容的磁盘是否是采用LVM进行逻辑卷管理的,如果是那就简单了,可直接采用LVM的方式进行磁盘扩容,如果不是那你则需要采用非LVM的方式进行磁盘扩容。
如上图,查看磁盘使用时发现/dev/sda2使用率已经很高了,我们需要对其扩容,而且根目录上挂载的是/dev/sda2这个分区。
查看磁盘分区情况可知,/dev/sda2分区的id为83,因此不可以采用LVM的方式进行逻辑卷管理(扩容),如果为8e,则说明可以采用LVM的方式进行扩容。
2. 非LVM磁盘扩容
2.1 先在VMware中增加centos的大小
2.2 列出设备块信息
从如下信息可知,sda已经增加了容量(原来为20G,现在变为了50G了),但是这个容量变没有增加到了/dev/sda2中。
如上,sda2挂载在根目录下,但sda2不是最后一个分区,下面还有一个sda3分区,下面新增的空间只有跟sda2是连续的,后面选择start和end的时候,才能连接上,这是成功的必备条件。(当然,如果有其他的解决办法的话,请告诉本博主一声)
如果不是最后一个分区挂载在根目录下,这个就比较麻烦,需要进一步研究。建议新建虚拟机的时候,选择用LVM来管理分区,这样就好好解决以上的问题了。
既然如此,那我就先把/dev/sda3删了,至于有没有后遗症等以后再说。
删除完以后,使用lsblk查看,如果还存在,那么使用reboot命令重先一下就OK了,如下:
2.3 扩容:删除原分区,在创建一个和原分区一样的分区
使用reboot命令重启。
2.4 刷新文件系统容量
查看sda2的文件格式:
如图,sda2的格式为ext4。
如果格式是xfs的,则使用xfs_growfs命令进行刷新文件系统容量, eg: xfs_growfs /dev/sda2;
如果是ext的,则使用resize2fs命令进行刷新文件系统容量,eg: resize2fs /dev/sda2;
扩容成功了。
3. LVM方式磁盘扩容
此方式很简单,等用到了在接着写,如果你用到了,可以参考以下几篇博客,随便一篇都可以成功。
参考:
How to Extend Linux LVM Logical Volume