装好了virtualizor,准备测试Xen的虚机环境

结果发现杯具了,Xen的模板只能用于lvm环境,分区的时候只分了/和swap,空间全用掉了,没有建lvm的地方了。

没办法,只能缩小/ ext4分区

步骤如下:

查看分区是什么文件类型

file -sL /dev/sd*  
/dev/sda:  x86 boot sector; GRand Unified Bootloader, stage1 version 0x3, boot drive 0x80, 1st sector stage2 0x2044148, GRUB version 0.94; partition 1: ID=0x82, starthead 32, startsector 2048, 8388608 sectors; partition 2: ID=0x83, active, starthead 75, startsector 8390656, 411039744 sectors, code offset 0x48
/dev/sda1: Linux/i386 swap file (new style) 1 (4K pages) size 1048575 pages
/dev/sda2: Linux rev 1.0 ext4 filesystem data (needs journal recovery) (extents) (large files) (huge files)

看出来要缩的分区是/dev/sda2,文件类型是ext4

ok,由于这台机器是kvm的虚机,所以修改一下,加个iso进入rescue模式

virsh edit xxx  
把boot顺序从hd改成cdrom
...
    <boot dev='hd'/>
    <boot dev='cdrom'/>
...
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/export/kvm/iso/CentOS-7-x86_64-NetInstall-1708.iso'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='1' target='0' unit='0'/>
    </disk>
...

系统启动,进入cdrom安装,选择Troubleshooting

选择Rescue

因为要对磁盘操作,所以不能选1把硬盘mount到/mnt/sysimage,选择3,不mount硬盘,直接进入一个shell

检查磁盘,缩减/dev/sda2到5G空间

e2fsck -f /dev/sda2  
resize2fs /dev/sda2 5G  

注意,现在只做了一半,文件是被集中到/dev/sda2的前5G空间里面去了。但是,硬盘分区还没有更改呢

接着来,用parted来修改分区

parted /dev/sda  
print  
查看后发现前2096是swap分区,2是/dev/sda2
删除/dev/sda2
rm 2  
重建
mkpart  
... primary
... 2096
... 7096

注意,新建的/dev/sda2起点是2096,分区终点是2096+5000=7096

最后再运行一下磁盘检查和重建

e2fsck -f /dev/sda2  
resize2fs /dev/sda2 5G  

重启搞定!

comments powered by Disqus