Insufficient free space: 25 extents needed, but only 0 available

Posted zmycoco2

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Insufficient free space: 25 extents needed, but only 0 available相关的知识,希望对你有一定的参考价值。

问题:想要扩充lv容量lvcreate时报错:

Insufficient free space: 25 extents needed, but only 0 available

原因:划定vg时已经固定了容量lv容量从vg扩充第一次已经将vg的空间全部划给lv所以无法扩充。需扩充vg但扩充vg需先扩pv扩pv需新建分区。此文是扩充的具体步骤转载自“lvextend遇到的问题 - Smallke's 杂货铺 - 博客频道 - CSDN.NET http://t.cn/zWxlZZ2”,感谢分享!


前几天要在DELL2950上搭建web环境这台服务器预装RHEL5。但是只划分了很小的几个分区还有几百个G没有使用。 /usr/local分区也只划分了8G所以决定要扩充逻辑卷。但是在使用lvextend命令时遇到了些问题。

在网上搜索了些资料做了下总结。

由于当时没有记录下操作过程所以这里借bemperor 兄弟的帖子说明下问题。内容如下:

[root@localhost   ~]#   df 
文件系统                               1K-块                 已用           可用           已用%   挂载点 
/dev/mapper/VolGroup00-LogVol00 
                                              2920216       2479008         290476     90%   
/dev/sda1                               101086           11785           84082     13%   /boot 
tmpfs                                       257760                           257760       0%   /dev/shm 

 

[root@localhost   ~]#   fdisk   -l 

Disk   /dev/sda:   10.7   GB,   10737418240   bytes 
255   heads,   63   sectors/track,   1305   cylinders 
Units     cylinders   of   16065     512     8225280   bytes 

      Device   Boot             Start                   End             Blocks       Id     System 
/dev/sda1                                                 13             104391       83     Linux 
/dev/sda2                             14                   522           4088542+     8e     Linux   LVM 

 

[root@localhost   ~]#   lvextend   -L   +2G   /dev/VolGroup00/LogVol00 
    Extending   logical   volume   LogVol00   to   4.88   GB 
    Insufficient   free   space:   64   extents   needed,   but   only     available 

    上面的这个例子可以看出sda这个设备至少还有一多半的空间没有使用。因为sda2分区是从14-522柱面而整个硬盘一共有1305个柱面523-1305都是自由空间。

    但是直接用extend命令扩展分区是不行的会提示没有剩余空间。只是因为当初划分磁盘空间的时候逻辑卷组VolGroup00的大小已经固定了。卷组的大小确定后是不能更改的。只有通过往卷组中添加物理卷来扩大卷组的空间。而物理卷要由新的分区/磁盘 来创建。

   因为概念比较多所以听起来有些乱。总结一下思路:

   利用剩下的自由空间创建一个物理分区-->将这个物理分区装换为物理卷-->把这个物理卷添加到要扩展的卷组中-->然后才能用extend命令扩展此卷组中的逻辑卷 。。。还是有些乱。。。

结合上面的例子的具体操作步骤为:

 
1.首先要再创建一个物理分区  

(使用fdisk   /dev/sda选择n来创建一个新的分区比如sda3主分区还是逻辑分区对此例子无所谓)

     完成后需要重新启动。

可以用fdisk -l命令来查看已有分区

 

[root@localhost   ~]#   fdisk   -l 

Disk   /dev/sda:   10.7   GB,   10737418240   bytes 
255   heads,   63   sectors/track,   1305   cylinders 
Units     cylinders   of   16065     512     8225280   bytes 

      Device   Boot             Start                   End             Blocks       Id     System 
/dev/sda1                                                 13             104391       83     Linux 
/dev/sda2                             14                   522           4088542+     8e     Linux   LVM 

用fdisk  /dev/sda命令选择‘n’创建新分区主分区逻辑分区对这个例子来说都可以‘w’保存。

重启机器生效。


2.接下来创建sda3分区   建为物理卷   (pvcreate   /dev/sda3)

/dev/sda3这个路径可以参照 pvdisplay这个命令中sda1的路径一般都是在dev下。


3.为卷组VolGroup00添加新的物理卷sda3来增大卷组的容量   (vgextend   VolGroup00   /dev/sda3)

用vgdisplay来查看卷组名称。


4.现在才能扩展逻辑卷的大小   (lvextend   -L   +2G   /dev/VolGroup00/LogVol00)

用lvdisplay查看逻辑卷绝对路径


*5.最后要使用resizefs2命令重新加载逻辑卷的大小才能生效。   (resize2fs   /dev/VolGroup00/LogVol00)


如果不用这个命令的话你会发现用df -h命令查看扩展的逻辑卷大小还是原来的值没有发生变化。即使重启也不会变所以一定要执行 resize2fs命令。

以上是关于Insufficient free space: 25 extents needed, but only 0 available的主要内容,如果未能解决你的问题,请参考以下文章

Insufficient space for shared memory file 内存文件空间不足

Java HotSpot(TM) 64-Bit Server VM warning: Insufficient space for shared memory file...

Linux LVM学习总结——Insufficient Free Extents for a Logical Volume

错误:Java HotSpot(TM) 64-Bit Server VM warning: Insufficient space for shared memory file

关于Java HotSpot(TM) 64-Bit Server VM warning: Insufficient space for shared memory file: 11043的解决办

Jenkins - Free Swap Space 0