写在前面的一些小废话

有时候,虚拟机随着使用,会导致存储不够,这时就需要给虚拟机扩容。

扩容的前提是,此虚拟机没有快照。

扩容时,需要编辑虚拟机设置。为了形成对比,第一张图片是扩容前,第二张图片是扩容成功之后。





但是当我们启动系统,使用命令df -h查看磁盘大小时,发现容量还是20G,没有将我们扩展的10G添加进去,是因为我们还没有将它格式化,挂载上去。

进入正文

接下来的步骤讲一讲,如何将自己新加的硬盘挂载到虚拟机中。

增加的磁盘为/dev/sda

运行以下命令:

fdisk /dev/sda
p       查看已分区数量
n       新增加一个分区
p       分区类型我们选择为主分区
分区号选3(选择默认即可,它会有所提示)
回车      默认(起始扇区)
回车      默认(结束扇区)
t       修改分区类型
选分区3
8e      修改为LVM(8e就是LVM)
w      保存刚才创建的分区
q      完成,退出fdisk命令(有时这条命令不用输入)

害怕有的小伙伴不敢操作,所以我在这里将我做的原图贴出来,如果是高手,这张图片略过即可。



操作完上述命令后,使用partprobe 命令或者重启机器(reboot),这是为了将分区信息记录到分区表中

完成上述命令之后,进行格式化分区

mkfs.ext3 /dev/sda3



然后添加新LVM组到已有的LVM组,实现扩容:

lvm    进入lvm管理
lvm>pvcreate /dev/sda3   这是初始化刚才的分区,必须的
lvm>vgextend cl /dev/sda3 将初始化过的分区加入到虚拟卷组centos (卷和卷组的命令可以通过 vgdisplay )
lvm>vgdisplay -v
lvm>lvextend -l+21556 /dev/mapper/cl-root  扩展已有卷的容量(21556 是通过vgdisplay查看的free的大小)
lvm>pvdisplay 查看卷容量,这时你会看到一个很大的卷了
lvm>quit 退出

在这里需要注意一点,在命令lvm>vgextend cl /dev/sda3和lvm>lvextend -l+21556 /dev/mapper/cl-root中,不是每个虚拟机命令都是cl,这个具体要看你的虚拟机文件系统配置,如果是cl-root,可以直接使用命令,否则需要按照自己的文件系统进行一些修改



接下来将添加的硬盘,添加至根分区:

lvextend -l +100%FREE /dev/cl/root



此时,可以看到已经成功添加新的硬盘。

以上只是完成了卷扩容,还需要对文件系统扩容进行操作,一条命令即可:

xfs_growfs /dev/mapper/cl-root

同样,命令中的cl-root要注意自己的文件系统

到此,虚拟机扩展存储空间步骤完毕。如果不放心,可以使用df -h命令,查看磁盘空间,我们可以看到已经将磁盘空间,由原来的20G成功扩展到30G



虚拟机存储空间扩容至此结束。

如果是给虚拟机扩展CPU和内存,直接关机,对虚拟机进行修改,然后开机即可。

倒腾了存储空间扩容之后,发现还是扩展CPU和内存简单。

感谢您的阅读~

【CentOS7.0】虚拟机如何实现扩展存储空间的更多相关文章

  1. VM安装Linux Centos7.0虚拟机

    一.准备工作 1.安装VMware 官网https://www.vmware.com/cn.html 2.准备centos7的镜像文件 官网下载链接:http://isoredirect.centos ...

  2. Win10下轻松安装centos7.0(推荐)

    Windows10下安装centos7.0虚拟机环境 Windows10自带了一个类似Vmware虚拟化产品Hyper-V管理器 如果没有找到这个的小伙伴可以从菜单中的windows管理工具找到如图: ...

  3. Linux_服务器_06_VMware虚拟机下安装CentOS7.0图文教程

    二.参考资料 1.VMware虚拟机下安装CentOS7.0图文教程

  4. Linux服务器上搭建Centos7.0+Apache+php+Mysql网站

    一.安装Linux系统 1.1虚拟机搭建Linux Centos7.0版本,搭建过程省略. 二. 安装apache.php.mysql.php-gd等组件. 2.1安装Apache服务程序(apach ...

  5. CentOS7.0关于libguestfs的bug

    libguestfs,libguestfs-tools是用来在不启动虚拟机的情况下,快速简单访问虚拟机磁盘的工具. 今天在CentOS7.0系统上通过guestmount命令去mount虚拟机磁盘的时 ...

  6. 解决g++:command not found(centos7.0)

    问题背景,因为装了虚拟机,系统为centos7.0,由于是纯净版,没有gcc,使用命令yum install gcc安装了gcc,但是没安装g++,导致g++:command not found问题. ...

  7. YARN环境搭建 之 一:CentOS7.0系统配置

    一.我缘何选择CentOS7.0 14年7月7日17:39:42发布了CentOS 7.0.1406正式版,我曾使用过多款Linux,对于Hadoop2.X/YARN的环境配置缘何选择CentOS7. ...

  8. CentOS7.0分布式安装HADOOP 2.6.0笔记-转载的

    三台虚拟机,IP地址通过路由器静态DHCP分配 (这样就无需设置host了). 三台机器信息如下 -      1. hadoop-a: 192.168.0.20  #master     2. ha ...

  9. window 远程在Linux(centOS7.0)上安装JDK以及配置环境变量

    本人是在windows 7 上安装了虚拟机,虚拟机安装的是linux(centOS7.0)系统现在在Windows 上安装SecureCRT 远程虚拟机的linux系统,安装JDK以及配置环境变量. ...

随机推荐

  1. python OrderDict

    # encoding: utf-8 import csv import collections d = {'banana':3,'apple':4,'pear':1,'orange':2} print ...

  2. jmeter每10个停一会实现方案

    foreach控制器中加个if控制器,if控制器条件${__groovy("${__counter(TRUE,)}".toInteger() % 10 == 0,)},再往if控制 ...

  3. Spring下redis的配置

    这个项目用到redis,所以学了一下怎样在Spring框架下配置redis. 1.首先是在web.xml中添加Spring的配置文件. <web-app version="3.0&qu ...

  4. Java Web之JSP

    什么是JSP? JSP就是一个可以写Java代码的HTML页面 JSP是什么? JSP是Servlet,JSP的本质就是Servlet Tomcat的web.xml文件下有这样几段代码: 看到下面的通 ...

  5. MyBatis-Cache

    一.一级缓存 /** * 一级缓存(本地缓存):SqlSession 级别.一级缓存是默认开启的,为 SqlSession 级别的一个Map * 与数据库同一次会话期间查询到的数据会放在本地缓存中,以 ...

  6. Linux记录-shell获取hdfs used使用

    #!/bin/bash export JAVA_HOME=/app/jdk/jdk1.8.0_92 export HADOOP_HOME=/app/hadoop export HADOOP_CONF_ ...

  7. SQL-数据库刷题

    因是个人总结,只列出对自己有用的或较难的: 下面这道题,第一次拿到,我尝试用 开窗函数 ROW_NUMBER()OVER() 编号,但是发现不能够处理好连续的问题, 上网查找了别人的解法记录下来,其实 ...

  8. ajax、fetch、axios — 请求数据

    jquery ajax jq 的ajax是对原生XHR的封装,除此以外还增添了对JSONP的支持.用起来非常方便 用法: $.ajax({ url:发送请求的地址, data:数据的拼接,//发送到服 ...

  9. 六.HashMap HashTable HashSet区别剖析总结

    HashMap.HashSet.HashTable之间的区别是Java程序员的一个常见面试题目,在此仅以此博客记录,并深入源代码进行分析: 在分析之前,先将其区别列于下面: 1.HashSet底层采用 ...

  10. aspx页面控件id上自动加前缀

    公司的一个.net项目,使用的传统aspx页面开发,每个控件上自动加了前缀,最初以为是extjs.net自带的功能,后来研究发现,主要是因为内部使用了母版页.<asp:Content ID=&q ...