如何调整常规(非LVM)分区的大小?

对不起,我的英文不好,我希望你能理解我。

一个月前,我build立了一个500GB硬盘的Ubuntu服务器,在安装系统时我创build了常规的非LVM分区 – 这是他们的布局。

 root @ skysquad:〜#fdisk -l

磁盘/ dev / sda:500.1 GB,500107862016字节
 255个磁头,63个扇区/磁道,60801个磁道
单位= 16065 * 512 = 8225280字节的柱面
磁盘标识符:0x000c9f61

   设备引导启动结束块Id系统
 / dev / sda1 * 1 10942 87891583+ 83 Linux
 / dev / sda2 10943 60801 400492417+ 5扩展
 / dev / sda5 12159 60801 390724866 83 Linux
 / dev / sda6 10943 12158 9767457 82 Linux swap / Solaris

分区表项不是磁盘顺序

基本上是这样;

sda1(90GB)for OS(ext4)
(〜370GB)/ home(我会稍后解释)(ext4)
sda6(10GB)用于SWAP

后来我意识到,当sda5(385GB for / home)将会满的时候,我想通过增加一个新的硬盘来增加它的大小,所以我使得sda5成为一个LVM分区。

 root @ skysquad:〜#pvdisplay
   ---体积---
   PV名称/ dev / sda5
   VG名称vg1
  光伏尺寸372.62 GB /不可用3.25 MB
   Allocatable是(但是已满)
   PE尺寸(KByte)4096
  总计PE 95391
  免费PE 0
  分配PE 95391
   PV UUID lewQnp-NdvK-Ac0N-sCgE-NGOH-K2cX-WxJ2tL

 root @ skysquad:〜#vgdisplay
   ---卷组---
   VG名称vg1
  系统ID
  格式lvm2
  元数据领域1
  元数据序列号3
   VG访问读/写
   VG状态可resize
   MAX LV 0
   Cur LV 1
  打开LV 1
  最大PV 0
   Cur PV 1
  法PV 1
   VG尺寸372.62 GB
   PE大小4.00 MB
  总计PE 95391
   Alloc PE /尺寸95391 / 372.62 GB
  免费的PE / Size 0/0
   VG UUID yRkcP7-zvZ0-DjIR-xDWS-Ia6V-InSu-6Hwvpe

 root @ skysquad:〜#lvdisplay
   ---逻辑卷---
   LV名称/ dev / vg1 / home
   VG名称vg1
   LV UUID jXCi37-iWmp-xVd7-9TsL-56pg-6x9m-73flLT
   LV写入访问读/写
   LV状态可用
   #打开1
   LV尺寸372.62 GB
  目前LE 95391
  细分市场1
  分配inheritance
  预读行业汽车
   - 目前设置为256
  块设备252:0

现在我的sda5(LVM)已满(见下文),但是我的钱包不是,我不能只买另一个硬盘。

 root @ skysquad:〜#df
文件系统1K块已用可用使用%挂载
 / dev / sda1 86511612 3829536 78287500 5%/
 tmpfs 1677788 0 1677788 0%/ lib / init / rw
 varrun 1677788 520 1677268 1%/ var / run
 varlock 1677788 0 1677788 0%/ var / lock
 udev 1677788 144 1677644 1%/ dev
 tmpfs 1677788 84 1677704 1%/ dev / shm
 lrm 1677788 2192 1675596 1%/lib/modules/2.6.28-15-generic/volatile
 / dev / mapper / vg1-home 384590900 332537772 32517052 92%/ home

正如你所看到的,我只使用/(sda1)的5%(当我为90GB设置/时,我不知道我在想什么)。

所以最后是我的问题 – 有没有安全的方式来调整非LVM分区的大小(即将sda1的大小减less60GB,从90GB减less到30GB,将60GB从370GB减less到430GB),然后在sda5增加LVM 60GB?

谢谢,
Lulaz

从理论上讲,可以减小sda1的大小,增加扩展分区的大小,将扩展分区的内容向下移动,然后增加扩展分区上PV的大小,你就有了额外的空间。 然而,那里可能出现的错误的数量只是天文数字,所以我build议要么购买第二个硬盘驱动器(并且可能将所有东西都转移到更合理的布局上,然后再对目前的驱动器进行重新分区),或者只是制作一些绑定的各种各样的零碎/home / /home进入/释放一点点的空间。

简单捷径:

如果你是盒子的根目录,看起来就像是在“/”上build立一个目录,即sda1。 对于这个例子,我们称之为“/ data / overflow”。 然后在你的主目录中,取一些过大的目录,将数据移动到/ data / overflow,并使用符号链接指向它。

示例命令:

 # make directory on empty partition mkdir -p /data/overflow chown username /data/overflow # move data to empty disk cd /home/username mv bigdir /data/overflow # put the link in, so your old names match ln -s /data/overflow/bigdir bigdir 

GParted Live可让您调整非LVM分区的大小,理论上不会丢失数据,但是1.在这段时间内,您将无法使用您的服务器。2.像womble说的那样,极有可能出现问题。