有可能在非 LVM 上扩展文件系统吗?

有可能在非 LVM 上扩展文件系统吗?

我有一个 Amazon Line AMI,其中有两个驱动器,一个用于根驱动器,一个用于数据驱动器,

8G     /
1024G  /data

数据分区几乎已满 93%/数据,我想在不擦除磁盘的情况下扩展数据分区。

是否可以更改非 LVM 分区上的现有文件系统并将其转变为 LVM 逻辑卷,而无需擦除磁盘?

答案1

不,如果不对现有非 LVM 分区进行 pvc,则无法将其更改为 LVM,从而破坏其中的数据。您必须执行以下操作:

  1. 获得一个新的1024G磁盘,并vgcrate new_vg /dev/newdisk(根据需要更换new_vg和)newdisk
  2. lvcreate -L+100%FREE -n new_lvnew_lv酌情替换)
  3. 格式化并安装在某处
  4. 移动文件(可能需要服务窗口)
  5. 当旧磁盘被复制后,你可以卸载它vgextend new_vg /dev/datadisk(当前安装在上的磁盘/data
  6. ,然后lvextend -L+100%FREE new_vg/new_lv增大 fs:resize2fs /dev/new_vg/new_lv

或者备份文件,卸载磁盘并重复 1-4(不获取新磁盘)

答案2

拍摄磁盘快照,然后从该快照创建一个新的更大卷。如果您的 AMI 使用 cloud-init,那么它将自动增长以填满它。如果是这样,请在 fdisk 中编辑分区表(使分区尽可能大),然后重新启动并使用 resize2fs 进行在线调整大小。

答案3

如果您不想采用可能耗时的 LVM 转换路径,这里还有另一种方法,但它可能适合您,也可能不适合您,具体取决于您在 下的目录布局类型/data

使用挂载点!本质上:

  • 获取一个新的 1024 GB 磁盘
  • 在其上创建一个文件系统(如果愿意的话,可以创建一个 LVM 分区)
  • 将新文件系统安装在某个临时位置,例如/data/tmp如果该位置尚不存在
  • 复制一些大的目录/data,例如 /data/bigdata/data/tmp
  • 将原件重命名/data/bigdata为其他名称,例如/data/bigdata.old
  • 创建新目录/data/bigdata
  • 卸载/data/tmp(您的新磁盘)
  • 将新磁盘安装到/data/bigdata

好吧,我承认这远非理想,但在卷管理器出现之前必须做这样的事情。彼得·H他的回答中有更好的想法,无论如何你都应该遵循这一点。

相关内容