写在前面的一些小废话

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

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

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





但是当我们启动系统,使用命令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. GitHub合并(merge)代码时冲突解决

    1.手动merge-->消除冲突-->然后commit,push 2.每次合并代码之前需要从远程主分支上拉取代码, 3.使用git命令行解决冲突. 新手可参考一些博客https://www ...

  2. 5.Hystrix-服务降级

    所谓降级,就是当某个服务出现异常之后,服务器将不再被调用,此时服务端可以自己准备一个本地的fallback回调,返回一个缺省值. 这样做,虽然服务水平下降,但好歹可用,比直接挂掉要强,当然这也要看适合 ...

  3. 端口与进程-----Window cmd命令

    ********************  windows 篇 ********************** cmd命令: services.msc    打开本地服务页面 一.查看windows系统 ...

  4. Ubuntu 开启SSH服务以及有关设置:安装,指定端口号、免密登录、远程拷贝

    本文所用系统为 Ubuntu 18.04   什么是SSH?     简单说,SSH是一种网络协议,用于计算机之间的加密登录.全名为:安全外壳协议.为Secure Shell的缩写.SSH为建立在应用 ...

  5. UEditor js动态创建和textarea中渲染【原】

    UEditor动态创建和textarea中渲染 http://ueditor.baidu.com/website/examples/textareaDemo.html <!DOCTYPE> ...

  6. windows 使用 php 的exif 问题 Call to undefined function exif_imagetype()

    保证 extension=php_mbstring.dll 在 extension=php_exif.dll 之前

  7. 043、data-packed volume container (2019-03-06 周三)

    参考https://www.cnblogs.com/CloudMan6/p/7203285.html     volume container 的数据归根到底还是在host上,我们能不能把数据完全放到 ...

  8. Delegate与Event关系

    1.Delegate是类型,Event是成员(本质为成员方法),Event成员类型派生于Delegate.仅此! 2.大概就好比说委托是C++里一个方法的模板,而event是这个模板具体的实现

  9. adb.exe已停止工作

    提示adb.exe错误,我电脑上没有安装豌豆荚,也没运行其它应用,最后发现是360杀毒软件导致的,进程中关掉360Mobile即可.

  10. CoreText实现图文混排

    CoreText的介绍 Core Text 是基于 iOS 3.2+ 和 OSX 10.5+ 的一种能够对文本格式和文本布局进行精细控制的文本引擎.它良好的结合了 UIKit 和 Core Graph ...