VMware下ubuntu扩展磁盘空间的方法

近日由于虚拟机下安装软件过多,时不时弹出磁盘空间不足的问题。查找了很多资料,都没有很好的解决办法。

朋友发来一个链接,还是老外有良心。翻译出来放在这里,根据我的实际需求进行了操作,达到了预期目的。

以防万一,在操作之前将虚拟机进行了备份。

由于安装时没有自己进行分区,磁盘大小也使用了默认的20G。后来发现果然悲剧。

使用df -h命令查看具体使用情况

@ubuntu:~$ df -h
Filesystem   Size Used Avail Use% Mounted on
/dev/sda1    19G  17G 1020M 95% /
none      4.0K   0 4.0K  0% /sys/fs/cgroup
udev      745M 4.0K 745M  1% /dev
tmpfs      151M 1.3M 150M  1% /run
none      5.0M   0 5.0M  0% /run/lock
none      755M 220K 755M  1% /run/shm
none      100M  48K 100M  1% /run/user 

使用root权限 fdisk -l查看

在虚拟机的设置——>硬盘——>扩展 选项,选择需要扩展到的容量,这里我是从20G扩展到40G。

设置完成后发现依然无法使用,而是在扩展分区里。

Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000ea50f
  Device Boot   Start     End   Blocks  Id System
/dev/sda1  *    2048  39845887  19921920  83 Linux
/dev/sda2    39847934  41940991   1046529  5 Extended
/dev/sda5    39847936  41940991   1046528  82 Linux swap / Solaris 

具体思路是将分区先删除,然后再重新进行分区。注意,这里使用fdisk -l查看的信息建议记录下来,后面进行重新分区时会使用到。

使用free -m命令查看

bay@ubuntu:~$ free -m
       total    used    free   shared  buffers   cached
Mem:     1508    1065    443     5     74    419
-/+ buffers/cache:    572    936
Swap:     1021     0    1021 

我们可以看到交换分区的大小,先将交换分区关掉使用命令

root@ubuntu:# swapoff -a
root@ubuntu:# free -m
       total    used    free   shared  buffers   cached
Mem:     1508    1075    433     5     73    419
-/+ buffers/cache:    581    926
Swap:   0     0     0 

这时候可以看到swap的分区大小已经为0了。

接下来的步骤就是删除掉  /dev/sda1  和 /dev/sda2。使用fdisk /dev/sda删除分区

root@ubuntu:# fdisk /dev/sda
Command (m for help): p
Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000ea50f
  Device Boot   Start     End   Blocks  Id System
/dev/sda1  *    2048  39845887  19921920  83 Linux
/dev/sda2    39847934  41940991   1046529  5 Extended
/dev/sda5    39847936  41940991   1046528  82 Linux swap / Solaris
Command (m for help): d
Partition number (1-5): 1
Command (m for help): d
Partition number (1-5): 2
Command (m for help): p
Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000ea50f
  Device Boot   Start     End   Blocks  Id System 

删除旧的分区之后,就开始进行创建新分区了,注意这时候让之前保存的信息就派上用场了。

Command (m for help): n
Partition type:
  p  primary (0 primary, 0 extended, 4 free)
  e  extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-83886079, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-83886079, default 83886079): 82869552 

注意这是时候可能会有人疑惑,这个大小该如何设置。

这个大小是总的大小减去Swap的大小:83886080 - 1046528 = 82839552。这里的1046528 就是Swap的大小。

接着将分区的事情做完:

Command (m for help): n
Partition type:
  p  primary (1 primary, 0 extended, 3 free)
  e  extended
Select (default p): p
Partition number (1-4, default 2): 2
First sector (82839553-83886079, default 82839553):
Using default value 82839553
Last sector, +sectors or +size{K,M,G} (82839553-83886079, default 83886079):
Using default value 83886079
Command (m for help): p
Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000ea50f
  Device Boot   Start     End   Blocks  Id System
/dev/sda1      2048  82839552  41418752+ 83 Linux
/dev/sda2    82839553  83886079   523263+ 83 Linux 

这个时候分区大小是正确的了,但是ID还是同一个值。在这里我们将交换分区的ID修改为82.

Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 82
Changed system type of partition 2 to 82 (Linux swap / Solaris) 

使用w进行保存

Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks. 

将虚拟机进行重启。

交换分区使用UUID进行挂载。在创建新的分区之后,UUID将会不匹配,在reboot之后将没有交换分区可以使用。这里有两种方式进行处理

1)在 /etc/fstab 中使用新的UUID

2)在新的分区上使用旧的UUID。这里使用第二种方法。

查看UUID:

root@ubuntu:/home/bay# awk '/swap/ { print $1 }' /etc/fstab
#
UUID=990ae69c-2bbe-425f-bb8f-91200f70c9b9
[html] view plain copy
root@ubuntu:# swapoff -a
root@ubuntu:# free -m
       total    used    free   shared  buffers   cached
Mem:     1508    1171    337     6    191    424
-/+ buffers/cache:    555    953
Swap:      0     0     0
root@ubuntu:# dd if=/dev/zero of=/dev/sda2
dd: writing to ‘/dev/sda2': No space left on device
1046528+0 records in
1046527+0 records out
535821824 bytes (536 MB) copied, 1.89975 s, 282 MB/s
root@ubuntu:# mkswap -U 990ae69c-2bbe-425f-bb8f-91200f70c9b9 /dev/sda2
Setting up swapspace version 1, size = 523256 KiB
no label, UUID=990ae69c-2bbe-425f-bb8f-91200f70c9b9
root@ubuntu:# swapon -a
root@ubuntu:# free -m
       total    used    free   shared  buffers   cached
Mem:     1508    717    790     6     6    164
-/+ buffers/cache:    546    961
Swap:     510     0    510
root@ubuntu:# df -h
Filesystem   Size Used Avail Use% Mounted on
/dev/sda1    19G  17G 1023M 95% /
none      4.0K   0 4.0K  0% /sys/fs/cgroup
udev      745M  12K 745M  1% /dev
tmpfs      151M 1.3M 150M  1% /run
none      5.0M   0 5.0M  0% /run/lock
none      755M 152K 755M  1% /run/shm
none      100M  48K 100M  1% /run/user
root@ubuntu:# resize2fs /dev/sda1
resize2fs 1.42.9 (4-Feb-2014)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 3
The filesystem on /dev/sda1 is now 10354688 blocks long.
root@ubuntu:# df -h
Filesystem   Size Used Avail Use% Mounted on
/dev/sda1    39G  17G  21G 45% /
none      4.0K   0 4.0K  0% /sys/fs/cgroup
udev      745M  12K 745M  1% /dev
tmpfs      151M 1.3M 150M  1% /run
none      5.0M   0 5.0M  0% /run/lock
none      755M 152K 755M  1% /run/shm
none      100M  48K 100M  1% /run/user 

dd命令仅仅是保证在分区开始的地方没有数据。

以上所述是小编给大家介绍的VMware下ubuntu扩展磁盘空间的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • VMware Workstation12安装Ubuntu和VMware Tools教程

    之前我通过百度经验上的过程来安装Ubuntu16,但是每次安装的时候没有什么问题,就是安装好了Tools,也设置好了共享文件夹,但是在路径:/mnt/hgfs 下每次都找不到共享文件夹.后来我研究了好久,应该是安装的时候出了问题.下面是正确可行的安装方法: 一.下载Ubuntu镜像: Ubuntu官网下载地址 二.创建虚拟机 打开VMware Workstation,点击创建新的虚拟机 选择自定义,点下一步,如下图所示: 点下一步,如下图所示: 选择稍后安装操作系统,如下图所示: 选择Linux

  • VMWare12 下Ubuntu虚拟机没法通过长按方向键连续移动光标的解决办法

    最近突然发现在虚拟机下没法通过长按方向键快速移动光标了,之前做的操作是升级了虚拟机从11至12,一开始就怀疑是不是虚拟机设置问题: 1, 经检查,虚拟机设置没有问题 2, 排除虚拟机设置问题后,开始排查虚拟机安装系统问题,由于自己在该虚拟机下分别安装有Ubuntu系统和xp系统.对比发现,XP系统下,光标可以连续快速移动,当长按某一个方向键时.于是问题锁定到Ubuntu系统本身. 首先想到的就是键盘设置,打开设置对话框,首先看到的就是"重复键"选项前边的勾没有选上.终于找到问题的根源.

  • VMware Tools(ubuntu系统)安装图文教程

    前一段时间博主在VMware虚拟机上安装了Ubuntu系统,如果还没有安装的同学可以参考博主上一篇文章:VMware Ubuntu安装详细过程. 猿友们都知道linux不太好用,如果你想将你主机Windows上的文件或安装包放到虚拟机上,VMware Tools是必不可少的工具. 欢迎关注,相互学习讨论,后续还会有更多linux搭建java开发环境和框架相关博客. 下面小宝鸽附上VMware Tools安装的详细流程. 1.打开虚拟机VMware Workstation,启动Ubuntu系统,菜

  • 详解VMware12使用三台虚拟机Ubuntu16.04系统搭建hadoop-2.7.1+hbase-1.2.4(完全分布式)

    初衷 首先说明一下既然网上有那么多教程为什么要还要写这样一个安装教程呢?网上教程虽然多,但是有些教程比较老,许多教程忽略许多安装过程中的细节,比如添加用户的权限,文件权限,小编在安装过程遇到许多这样的问题所以想写一篇完整的教程,希望对初学Hadoop的人有一个直观的了解,我们接触真集群的机会比较少,虚拟机是个不错的选择,可以基本完全模拟真实的情况,前提是你的电脑要配置相对较好不然跑起来都想死,废话不多说. 环境说明 本文使用VMware® Workstation 12 Pro虚拟机创建并安装三台

  • 在Ubuntu上面安装VMware Workstation教程

    VMware Workstation是一款"第二类(Type-2)"商用虚拟化软件.被称为"第二类"是因为它是运行在现有的操作系统之上的,而正在运行的计算机则成为其宿主机. 你可以使用VMware Workstation在宿主机上同时运行各自具有独立操作系统的多个客户机.客户机可以是32位或者64位的操作系统.VMware Workstation支持Windows,Mac OS X,Solaris和许多其他系统. 这篇简短的教程将会教你怎么在Ubuntu上面安装VM

  • Vmware虚拟机安装Ubuntu 16.04 LTS(长期支持)版本+VMware tools安装的图文教程

    今天用VMware虚拟机安装了Ubuntu 16.04,过程用点繁琐,顺便又安装了VMware tools,这样就可以全屏显示Ubuntu系统了,下面是具体的安装过程! 第一步:准备工作 1.下载Ubuntu,网址是http://cn.ubuntu.com/download/ 我选择下面这个版本的64位 2.创建安装目录 我选择在F:\虚拟机\ubuntu目录下创建系统和硬盘两个子目录(后面会用到) 第二步:创建Ubuntu虚拟机 (没有特别声明的就直接默认就好了) 这样就创建好一个Ubuntu

  • VMware Ubuntu安装图文教程

    不是每一个程序员都必须玩过linux,只是博主觉得现在的很多服务器都是linux系统的,而自己属于那种前端也搞,后台也搞,对框架搭建也感兴趣,但是很多生产上的框架和工具都是安装在服务器上的,而且有不少大公司都要求熟悉在linux上开发,因此从个人职业发展有必要去多了解一下linux. (博主网上查了一下,现在大部分服务器安装的系统主要有:ubuntu server.centos.suse linux enterprise, redhat linux等) 于是今天博主就在虚拟机上安装了Ubuntu

  • Ubuntu VMware出现提示No 3D support is available的解决方法

    像我这样的Ubuntu脑残粉,电脑上只安装了Ubuntu,但是有时又必须得使用Windows,于是就装了一个Windows虚拟机,使用的是VMware,问题出在默认设置下启动虚拟机无法启动3D硬件加速,下面看看如何解决. 通常情况下,你会看到下面这个图 解决方法 查看驱动是否正确安装,使用sudo lshw -C display ,如果能够正常识别显卡,说明驱动没有问题.尝试修改虚拟机的 *.vmx 文件,在文件的最后添加mks.gl.allowBlacklistedDrivers = "TRU

  • 在VMWare上安装ubuntu及VMWare Tools详细教程

    一.摘要 该文主要介绍了如何在虚拟机上安装ubuntu,和安装VMWare Tools设置共享文件夹,最后对ubuntu做了简单的介绍. 二.实验平台 1.VMware Workstation 2.Ubuntu10.04 三.在VMWare上安装ubuntu vmware10安装ubuntu13.10的详细步骤:http://www.jb51.net/os/Ubuntu/160480.html 四.初识ubuntu 1.ubuntu终端 打开终端: Applications-->Accessor

  • VMware中ubuntu虚拟机与windows的端口映射共享一个IP地址的设置教程(图文教程)

    在ubuntu虚拟机中,运行了meteor的后台程序,需要终端进行连接,需要进行ubuntu虚拟机与windows的端口映射(虚拟机与主机共享IP地址). 下面为设置步骤: 1.点击编译,虚拟网络编辑器 2.在虚拟网络编辑器界面,点击下方的更改设置,获取管理员权限 3.选择"NAT模式",在下方VMnet信息中,点击"NAT设置(s)..." 4.点击添加,添加一条端口转发信息 5.第4步,点击添加按钮之后,跳出映射传入端口,输入相关信息,主机端口,类型,虚拟机IP

随机推荐