解决虚拟机空间不足
搭建cdh时发现虚拟机空间不足了,于是有了此文
LVM的产生是因为传统的分区一旦分区好后就无法在线扩充空间,也存在一些工具能实现在线扩充空间但是还是会面临数据损坏的风险;传统的分区当分区 空间时,一般的解决办法是再创建一个更大的分区将原分区卸载然后将数据拷贝到新分区,但是在企业的生产系统往往不允许停机或者允许停机的时间很短,LVM就能很好的解决在线扩充空间的问题,而且不会对数据造成影响。
PE(Physical Extend):卷的最小单位,默认4M大小,就像我们的数据是以页的形式存储一样,卷就是以PE的形式存储。
PV(Physical Volume):物理卷,如果要使用逻辑卷,首先第一步操作就是将磁盘格式化成PV
VG(Volume Group):卷组,VG就是将很多PE组合在一起生成一个卷组,当然这里的PE是可以跨磁盘的,如果当前服务器磁盘空间不足就可以增加一个新磁盘对当前系统不会产生任何影响。
LV(Logical Volume):逻辑卷,逻辑卷最终是给用户使用的,前面几个都是为创建逻辑卷做的准备,创建逻辑卷的大小只要不超过VG剩余空间就可以。具体步骤如下:
一、向虚拟机中添加新的虚拟硬盘
点击创建。
然后就可以启动虚拟机了。
二、磁盘分区
1、查看新硬盘,fdisk -l
2、开始对sdb硬盘进行分区
(1) 输入n进行分区
(2)输入p 选择分区类型
p: 主分区, linux上主分区最多能有4个 ,编号从1到4.
e: 扩展分区, linux上扩展分区只能有1个,扩展分区创建后不能直接使用,还要在扩展分区上创建逻辑分区。
这里我选择的 p ,创建主分区。 (3)选择分区 ID ,由于我是第一次进行分区,创建 1 号主分区,所以我选择 1.(4)设置柱面起止位置,柱面越多,创建的主分区容量越大。默认起始位置为1,可直接回车。
接着选择终止位置,由于我们不知道每个柱面的单位是多少,所以不好直接填数字。我们可以在数字后面加单位,表示我们要创建多大的分区。 比如我要创建的 1 号分区,大小为 1G ,就可以直接填 +1G 。(5)输入w,写入分区表,进行分区
(6)分区结束后,查看/dev目录 ,可以看到sdb和sdb1,分别表示sdb磁盘和sdb磁盘的1号主分区。
(7)格式化分区 ,将新分区格式化为ext4文件系统
mkfs -t ext4 /dev/sdb1
三、扩容
1) 将初始化的分区加入到卷组里
vgextend VolGroup /dev/sdb1
新增31GB容量给逻辑卷
lvextend -L +31G /dev/mapper/VolGroup-lv_root
重新设定该分区的大小
resize2fs -p /dev/mapper/VolGroup-lv_root
查看: df -h
扩容成功