写在前面的一些小废话

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

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

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





但是当我们启动系统,使用命令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. 【优秀的设计绘图软件】Affinity Designer Beta for Mac 1.7

        [简介] Affinity Designer 1.7 beta 中文版本,具有全新的UI界面和功能,支持最新的 macOS Mojave 10.14 系统,Affinity Designer是 ...

  2. Arduino、bootloader、BadUSB、及其相关硬件知识入门学习

    内容中包含 base64string 图片造成字符过多,拒绝显示

  3. 5、MyBatis-parameterType 入参封装 Map 流程

    以如下入参为例,MyBatis 版本为 3.5.0 public MyUser selectMyUserIdAndAge(Integer id, @Param("user") My ...

  4. python 计算机发展史,线程Process使用 for循环创建 2种传参方式 jion方法 __main__的解释

    ########################总结################## #一 操作系统的作用: 1:隐藏丑陋复杂的硬件接口,提供良好的抽象接口 2:管理.调度进程,并且将多个进程对硬 ...

  5. Dubbo服务端结合maven打jar包

    <build>        <finalName>odao-weixin-user</finalName>        <resources>   ...

  6. C#设计模式(9)——代理模式

    1.代理模式介绍 在软件开发中有时会遇到不能直接使用对象的问题,如我们要使用的对象在进程外,甚至在远程的机器上,但是我们要使用这个对象的功能怎么办呢?代理模式就可以用来解决这个问题.举一个生活中的例子 ...

  7. KMP算法的next[]数组通俗解释

    原文:https://blog.csdn.net/yearn520/article/details/6729426 我们在一个母字符串中查找一个子字符串有很多方法.KMP是一种最常见的改进算法,它可以 ...

  8. UVA - 11732 "strcmp()" Anyone? (trie)

    https://vjudge.net/problem/UVA-11732 题意 给定n个字符串,问用strcmp函数比较这些字符串共用多少次比较. strcmp函数的实现 int strcmp(cha ...

  9. HDU 1050(搬椅子 数学)

    题意是在一个有 400 个房间的走廊中搬动房间里的椅子,如果两次的路线重叠,就要分两次搬动,如果不重叠,就可以一次搬动. 开始的时候直接当成求线段重叠条数的题,发现这种思路完全是错的,比如 1 - 3 ...

  10. 【概括】C++11/14特性

    c++11 c++14