分类: LINUX
2009-10-08 22:55:18
不仅在lvm下可以缩小根分区的大小而不损失数据,在非lvm下也可以实现。因为分区只是对分区表进行操作,并不会影响用户数据。只要分区的大小比文件系统大就好。缩小的时候要先缩小文件系统然后再缩分区。
此次实验是在xen的环境下完成的。/dev/xvda1 为/root分区,/dev/xvda2为根分区。/dev/xvda3为swap 分区。
步骤如下:
先进入救援模式:
# fdisk -l
输出部分信息:
Units=cylinders of 16065*512=8225280 bytes
/dev/xvdb2 13 430 3277260 83 linux
# e2fsck -f /dev/xvda2 部分输出如下:
517608/819315 blocks
表示共有819315 blocks使用了517608个block
# resize2fs /dev/xvda2 517608
至此文件系统缩小成功。下面来缩小分区大小。
要改变分区大小先删掉分区,再重新建立。需要计算有多少个cylinder。
Cylinder=430-((819315-517608)*4)/(1024*8.225280)=287
# fdisk /dev/xvda
输入d
输入2
输入n
输入p
输入2
起始扇区默认
最后扇区为287
保存退出。
# fdisk -l
查看一下是否修改成功。
关机。
# virsh start why2
启动why2
# df -TH
部分输出如下:
/dev/xvdb2 ext3 2.1G 2.1G 0 100% /
实验成功。
Note:把根分区缩小到使用100%后,由于在系统运行时有些应用程序会产生临时的文件,而系统又没有空间,所以系统会报错。通常根分区都不会使用100%。所以实验后最好在将分区扩回去。