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

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

抱歉我的英语不好,希望你能理解我。

一个月前,我建立了一个带有 500GB 硬盘的 Ubuntu 服务器,在安装系统时我创建了常规的非 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 交换 / Solaris

分区表条目不按磁盘顺序排列

基本上是;

sda1 (90GB) 用于操作系统 (ext4)
sda5 (~370GB) 用于 /home (我稍后会解释) (ext4)
sda6 (10GB) 用于 SWAP

后来我意识到当 sda5(/home 为 385GB)满了的时候,我想通过添加新的硬盘来增加它的大小,所以我将 sda5 创建为一个 LVM 分区,如下所示;

root@skysquad:~# pvdisplay
  --- 物理体积 ---
  PV 名称 /dev/sda5
  VG 名称 vg1
  PV 大小 372.62 GB / 不可用 3.25 MB
  可分配是(但已满)
  PE大小(KB)4096
  总市盈率 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 状态可调整大小
  最高等级 0
  当前 LV 1
  打开 LV 1
  最大 PV 0
  电流 PV 1
  幕 PV 1
  VG 大小 372.62 GB
  大小 4.00 MB
  总市盈率 95391
  分配 PE / 大小 95391 / 372.62 GB
  免费 PE / 尺寸 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
  分配继承
  自动预读扇区
  - 目前设置为 256
  块设备 252:0

现在我的 sda5(LVM)已满(见下文),但我的钱包还没有满,而且我不能再买另一个 HDD。

root@skysquad:~# df
文件系统 1K 块已使用可用使用率% 已安装于
/dev/sda1 86511612 3829536 78287500 5% /
tmpfs 1677788 0 1677788 0%/lib/init/rw
varrun 1677788 520 1677268 1% /var/运行
varlock 1677788 0 1677788 0%/var/锁
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 大小减少 60GB,从 90GB 减少到 30GB,并将 sda5 的大小从这 60GB 增加到从 ~370GB 到 ~430GB),然后将 sda5 的 LVM 增加到这 60GB?

谢谢你,
Lulaz

答案1

理论上,您可以减小 的大小sda1,增加扩展分区的大小,将扩展分区的内容向下移动,然后增加扩展分区上的 PV 的大小,这样您就会有额外的空间。但是,可能出错的事情数量简直是天文数字,所以我建议要么购买第二块硬盘(并可能以更合理的布局将所有内容转移到该硬盘上,然后更好地重新分区您当前的硬盘),要么只是将各种零碎的东西从 中绑定到 中/home/释放更多空间。

答案2

简易捷径:

如果您是该机器的 root 用户(看起来您是 root 用户),请在“/”上创建一个目录,即 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

答案3

GParted 直播将允许您调整非 LVM 分区的大小,理论上不会丢失数据,但是 1. 在此期间您将无法使用您的服务器,并且 2. 就像 womble 所说的那样,很有可能出现问题。

答案4

创建 Ubuntu Live USB 棒,启动它,然后运行 ​​GParted 以完成重新配置。我发现它可以完美地创建、移动、复制和调整常规分区的大小。

相关内容