扩充虚拟机磁盘

virtualBox虚拟机安装的应用多了,导致根目录空间不足,有没有办法可以将根目录空间进行扩充呢?
经过搜集各各资料,顺利解决问题,把服务器的空间由8G扩成200G。现将执行全过程总结如下,以供分享。

首先,介绍下大体的解决思路,要想扩充,必须要有一块新的空间来供使用。而对于virtualBox虚拟机,我们只需要使用virtualBox自带的工具扩充下磁盘大小。
扩充磁盘,只意味着硬件条件得到满足。接下来就需要对新的磁盘空格进行合理的操作,来扩充我们需要的分区。
值得注意的是,这里我们基于LVM来操作的。如果您的环境不是LVM的,可以考虑改成LVM的,否则后文无需再读。具体执行过程将细细道来。

第一步、使用virtualBox工具扩容分配的硬盘空间

  • 1、virtualBox提供一个功能,在虚拟机配置里面硬盘中可以扩展,点击【管理】→【虚拟介质管理】,按照提示操作。


    选择磁盘调整大小
  • 2、我们重启虚拟机后,发现虚拟机的硬盘是变成 200GB 了,但进入 linux 系统后,用 "df -h"查看发现硬盘空间还是原先那么大。 虽然已经扩大了磁盘,但是由于还没有经过分区,指定文件系统,所以 linux 操作系统无法识别。其实就相当于你的硬盘虽然大了,但是你并没有对其进行分区是一个道理。

第二步、使用Linux下的fdisk工具进行分区

  • 首先,需要以root身份登录系统。

  • fdisk 命令: fdisk -l : 打印当前的磁盘分区表,这时我们可以看到磁盘的总量的确增加到200GB 了,但是分区只有以前的那几个原有的分区。

  • 键入命令: fdisk /dev/sda “sda 就是经过扩容的硬盘,为 SCSI 硬盘, IDE 类型硬盘对应为 hda ,是对该硬盘进行操作 ”
    键入 : m “ 列出 fdisk 的帮助 ”
    我们在这里是要添加一个新分区,即将扩容出来的那部分做成一个新分区,这样才能被操作系统挂载识别。
    键入: n ” 命令 n 用于添加新分区 "
    此时, fdisk 会让你选择添加为逻辑分区呢(编号从 5 开始)还是主分区(编号 1 到 4 )。

  • 选择主分区吧,则键入 p ;选择逻辑分区键入 l 。
    我们选择主分区于是:
    键入: p " 选择创建主分区 "

  • 此时, fdisk 会让你选择主分区的编号,如果已经有了主分区 sda1 , sda2 ,那么编号就选3 ,即要创建的该分区为 sda3.
    键入: 3
    此时, fdisk 又会让你选择该分区的开始值这个就是分区的 Start 值( start cylinder );这里最好直接按回车, 如果您输入了一个非默认的数字,可能会造成空间浪费;
    对于分区的 End 值(end cylinder),同样直接按回车。这时候会显示出你新建分区的柱面范围和空间大小。

  • 此时键入: w 表示" 保存所有并退出,分区划分完毕 "

我们的新建分区/dev/sda3,却不是LVM的。所以,接下来使用fdisk将其改成LVM的。

[root@CNGI-SIP6-BUPT ~]# fdisk /dev/sda
Command (m for help): m
Command (m for help): t //改变分区系统id
Partition number (1-4): 3 //指定分区号
Hex code (type L to list codes): 8e //指定要改成的id号,8e代表LVM。
Command (m for help): w

我们现在还不能用这个分区 , 因为我们没格式化。这时要重启系统就能够在 dev 下面看到 sda3 ,如果不重启不能进行下面操作。

重启后,在此查看fdisk -l
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 12582911 5778432 8e Linux LVM
/dev/sda3 12582912 16777215 2097152 8e Linux LVM

可以看到/dev/sda3已支持LVM。

第三步,使用工具partprobe让kernel读取分区信息

[root@CentOS7 ~]# partprobe
使用fdisk工具只是将分区信息写到磁盘,如果需要mkfs磁盘分区则需要重启系统,
而使用partprobe则可以使kernel重新读取分区 信息,从而避免重启系统

第四步、格式化该新添加的分区

[root@CentOS7 ~]#键入:
mkfs -t xfs /dev/sda3 :注意我的系统是CENTOS,使用的是XFS格式(也可以是ext3),最好与原有的保持格式一样。
或者
mkfs.xfs /dev/sda3

来格式化指定的分区,依次类推,现在的系统大部分都是 xfs格式,如果你需要其它的,可以查看mkfs 的帮助。

到此为止,我们就新建了一个分区/dev/sda3,此时我们已经可以通过挂载,来使用这个新的空间。但是对于我,这并不能满足我的需求,因为服务器的服务程序是在根目录上的,目前根目录空间已经使用完毕,所以能把新建的分区使用在更目录上,分担根目录的空间,才能解决问题。

下面用到的理论是基于LVM的,如果不知道的话,建议稍微查些资料有助于理解。当然,一步步的跟我做,应该也没有问题。

第五步、扩充根分区

接着,使用vgextend 命令加到lvm组里面去,做如下操作:

[root@CentOS7 ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
root centos_centos7 -wi-ao---- 6.90g (我已经扩容后的显示的,原显示在4.9)
swap centos_centos7 -wi-ao---- 616.00m
[root@CentOS7 ~]# pvcreate /dev/sda3 (删除使用:pvremove)
Physical volume "/dev/sda3" successfully created
[root@CentOS7 ~]# vgextend centos_centos7 /dev/sda3 (其中centos_centos7 是当前需要扩充的lvm组名可以根据自己的习惯命名,可以通过df -h查看,例如我的是: /dev/mapper/centos_centos7-root)

Volume group "centos_centos7" successfully extended

[root@CentOS7 ~]# vgdisplay

--- Volume group ---
VG Name centos_centos7
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 7
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 7.50 GiB
PE Size 4.00 MiB
Total PE 1921
Alloc PE / Size 1921 / 7.50 GiB
Free PE / Size 0 / 0
VG UUID zGtlQ0-Fh5X-Sblw-GSdw-qbmg-pc8X-SeJde4

第六步、扩充逻辑分区

下一步是扩展逻辑卷(Logic Volume)到新的卷上,先用“lvdisplay”指令看看目前已有的逻辑卷(Logic Volume)的情况

--- Logical Volume ---
LV Path /dev/centos_centos7/swap
LV Name swap
VG Name centos_centos7
LV UUID bHrQHE-Vm07-o0NZ-VUbv-c0nN-QM0L-R4IAF3

......
......

--- Logical Volume ---
LV Path /dev/centos_centos7/root
LV Name root
VG Name centos_centos7
LV UUID TS0f36-DuAH-y3XE-RLPW-7N39-EDAu-yzmpYK
......

可以看到我的硬盘目前只有2个逻辑卷,swap分区当然不用扩展

[root@CentOS7 ~]# lvextend /dev/centos_centos7/root /dev/sda3

第七步、扩充逻辑分区

最后将文件系统resize到新的逻辑卷上来,执行

xfs_growfs /dev/centos_centos7/root (注意:CentOS和其他操作系统不一样,其他操作系统是resize2fs

然后reboot系统,用fdisk -l /dev/sda就能看到扩展的分区。

参考资料

https://blog.csdn.net/juemodanqing/article/details/83066106

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343