zoukankan      html  css  js  c++  java
  • How to shrink disk for KVM

    如何expand虚拟机磁盘分区相对于shrink比较简单:

    1.  创建一个要扩展size大小的目标img文件

    2.  选择要扩展的分区

    3.  virt-resize --expand /dev/sda1 source.img target.img

    要保证target比source的文件大。

    shrink稍微复杂一些,因为考虑到内部文件系统的使用量,如果过度缩小会破坏文件系统。

    首先要查看确定文件系统的使用量,和将要缩小的size

    1.  virt-df source.img

    使用guestfish 读取source.img (不要加-i 自动挂载,对文件系统做操作,不要保持这个设备在使用)

    2.  guestfish -a source.img

    输入run,正式加载磁盘文件

    3.  run

    下面和bash下的操作类似,扫描分区

    4.  e2fsck-f /dev/vda1

    调整分区大小,一定要保证调整后的大小要比内部文件系统的使用量大,否则会出错。

    5.  resize2fs-size /dev/vda1 5G

    调整完成,退出

    6.  exit

    创建shrink的目标文件,因为缩小了分区,但是磁盘的大小还是原先的,占用量并没有变化。

    7.  qemu-img create -f raw target.img 5G

    使用guestfish的工具virt-resize 缩减磁盘文件的大小,原理相当于同时挂载两个镜像,然后将一个磁盘文件的全部内容和修改的部分拷贝到另一个磁盘中。(不过此方法不适用与直接缩减分区,如果有进展会将新的进度更新)

    8.  virt-resize --shrink /dev/sda1 source.img target.img

    查看新的磁盘文件的状态。

    9.  qemu-img info target.img

    查看调整后的磁盘内部文件系统的使用量。

    10.  virt-df target.img

  • 相关阅读:
    聊聊ES6中的generator
    generator-yield到底是个啥
    jquery 常用方法中那些我不知道的事
    jquery 获取textarea文本值详解
    数组去重
    五指棋人机大战之ai篇
    五指棋人机大战之ui篇
    css控制背景图像不随滚动条的滚动而滚动
    用canvas画会旋转的伞
    CSS3 实现太极图案
  • 原文地址:https://www.cnblogs.com/fengrenzw/p/3339915.html
Copyright © 2011-2022 走看看