写在前面的一些小废话

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

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

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





但是当我们启动系统,使用命令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. Rancher之Pipeline JAVA demo

    Rancher Pipeline Pipeline,简单来说,就是一套运行于Rancher上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂发布流程. Ranc ...

  2. MyBatis-SqlSessionFactory的创建

    Main 方法,mybatis 版本为 3.5.0 解析配置文件的所有信息,保存在 Configuration 中,返回包含 Configuration 的 DefaultSqlSession Map ...

  3. logging 模块 与 logging 固定模块

    import logging # 1. 控制日志级别# 2. 控制日志格式# 3. 控制输出的目标为文件logging.basicConfig(filename='access.log', forma ...

  4. java内部类的作用

    java内部类的作用 定义: 放在一个类的内部的类我们就叫内部类. 二. 作用: 1.内部类可以很好的实现隐藏 一般的非内部类,是不允许有 private 与protected权限的,但内部类可以 2 ...

  5. lua基于oopclass的属性节点类 和 集合类

    --[[---------------------------------------------------------------------------- --@ Descrption: 属性节 ...

  6. Javaweb学习笔记——(二十)——————Javaweb监听器、国际化

    Javaweb监听器     三大组件         *Servlet         *Listener         *Filter Listener:监听器         1.初次相见:A ...

  7. 利用PHP访问数据库——实现分页功能与多条件查询功能

    1.实现分页功能 <body><table width="100%" border="1">  <thead>    < ...

  8. Ubuntu中安装NVIDIA显卡驱动

    1.参考: https://blog.csdn.net/xunan003/article/details/81665835 https://www.cnblogs.com/luofeel/p/8654 ...

  9. python中的PEP是什么?怎么理解?(转)

    PEP是什么? PEP的全称是Python Enhancement Proposals,其中Enhancement是增强改进的意思,Proposals则可译为提案或建议书,所以合起来,比较常见的翻译是 ...

  10. SqlServer 左右内连接