首页 > 后端技术 > 虚拟机磁盘空间已满的发现和解决
2014
01-10

虚拟机磁盘空间已满的发现和解决

问题描述:

现在做产品也好,做项目也好,做实验也好,用得最多的是虚拟机。做实验的时候,通常我们在设置虚拟机的时候不会给虚拟机很大的磁盘空间。但是一旦磁盘空间满了,则会造成虚拟机上的数据库服务启动不起来,导致整个服务挂掉。

故而,一般而言服务启动失败,首先应该调查是否是虚拟机空间已满(df -h)。若是,则应扩展磁盘空间,或删去无用文件。

问题发现:

调查磁盘空间使用率

[root@robin]# df -h

文件系统                                                      容量  已用 可用已用%    挂载点

/dev/mapper/VolGroup00-robin_root  16G   16G  0G  100%  /

/dev/sda1                                                    99M   14M   80M  15% /boot

tmpfs                                                             872M     0  872M   0% /dev/shm

none                                                               872M   40K  872M   1% /var/lib/xenstored

可见使用率已为100%,磁盘空间已满。必须扩展

 

扩展空间:

1.首先扩展虚拟机空间

虚拟机,设置–磁盘–实用程序–扩展容量

注意: 这里可扩展容量虚拟机所在目录的实际磁盘空间大小。

————————————————–

2.扩展前调查虚拟机的磁盘空间和分区情况

[root@weblogic ~]# fdisk -l

Disk /dev/sda: 42.9 GB, 42949672960 bytes

255 heads, 63 sectors/track, 5221 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

磁盘名称                  Start    End      Blocks        Id         System

/dev/sda1   *           1          13      104391         83         Linux

/dev/sda2              14        2610    20860402+  8e       Linux LVM

[root@weblogic ~]#

————————————————–

3.新建磁盘分区

[root@weblogic dev]# fdisk /dev/sda  对该硬盘进行操作

 

The number of cylinders for this disk is set to 5221.

There is nothing wrong with that, but this is larger than 1024,

and could in certain setups cause problems with:

1) software that runs at boot time (e.g., old versions of LILO)

2) booting and partitioning software from other OSs

(e.g., DOS FDISK, OS/2 FDISK)

 

Command (m for help): n         新建分区

Command action

e   extended

p   primary partition (1-4)

p       主分区

Selected partition 3          默认的分区编号
w 保存

重启系统

 

重启后,确认新的分区

[root@weblogic ~]# fdisk -l

 

Disk /dev/sda: 42.9 GB, 42949672960 bytes

255 heads, 63 sectors/track, 5221 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1          13      104391   83  Linux

/dev/sda2              14        2610    20860402+  8e  Linux LVM

/dev/sda3            2611        5221    20972857+  83  Linux

————————————————–

4.将新建磁盘分区作为文件系统的扩展

 

扩展LVM

创建物理卷(pv):在刚刚创建的磁盘分区上创建pv

[root@weblogic dev]# pvcreate /dev/sda3

Physical volume “/dev/sda3” successfully created

扩展卷组(vg): 把刚刚创建的Pv加载到卷组上

[root@weblogic dev]# vgextend /dev/mapper/VolGroup00 /dev/sda3

Volume group “VolGroup00” successfully extended

扩展逻辑卷(lv):将卷组上的逻辑卷扩容

[root@weblogic dev]# lvextend -L +20G /dev/mapper/VolGroup00-LogVol00

Extending logical volume LogVol00 to 37.91 GB

Logical volume LogVol00 successfully resized

扩展文件系统:刷新逻辑卷上的文件系统可用空间大小

[root@weblogic dev]# resize2fs /dev/mapper/VolGroup00-LogVol00

resize2fs 1.39 (29-May-2006)

Filesystem at /dev/mapper/VolGroup00-LogVol00 is mounted on /; on-line resizing required

Performing an on-line resize of /dev/mapper/VolGroup00-LogVol00 to 9936896 (4k) blocks.

The filesystem on /dev/mapper/VolGroup00-LogVol00 is now 9936896 blocks long.

————————————————–

5. 核实磁盘空间是否增大

[root@weblogic dev]# df -h

文件系统              容量                              已用      可用         已用%  挂载点

/dev/mapper/VolGroup00-LogVol00   37G   15G   21G    42%  /

/dev/sda1                                                   99M   14M   80M  15% /boot

tmpfs                                                           872M     0    872M   0% /dev/shm

none                                                             872M  104K  872M   1% /var/lib/xenstored


虚拟机磁盘空间已满的发现和解决》有 1 条评论

  1. Pingback 引用通告: 肉牛

留下一个回复

你的email不会被公开。