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

我有一个亚马逊线AMI与两个驱动器,一个为根和一个数据,

8G / 1024G /data 

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

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

不,不可能将现有的非LVM分区转换为LVM,而不对其进行破坏,破坏那里的数据。 你将不得不做一些事情:

  1. 获取一个新的1024G磁盘,并vgcrate new_vg /dev/newdisk (根据需要replacenew_vgnewdisk
  2. lvcreate -L+100%FREE -n new_lv (根据需要replacenew_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(没有获得新的磁盘)

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

如果您不想采用可能耗时的LVM转换path,则可以使用另一种可能适用于您的方法,也可能不适用于您,具体取决于您在/data下的目录布局。

使用挂载点! 在本质上:

  • 获取一个新的1024 GB的磁盘
  • 创build一个文件系统(一个LVM分区,如果你愿意的话)就可以了
  • 把你的新文件系统安装在临时的地方,比如/data/tmp如果这个文件不存在的话
  • 复制/data一些大目录,例如/data/bigdata/data/tmp
  • 将原始/data/bigdata重命名为其他名称,例如/data/bigdata.old
  • 创build一个新的目录/data/bigdata
  • 卸载/data/tmp (你的新磁盘)
  • 将你的新磁盘安装在/data/bigdata

好吧,我承认这是远远不够理想的,但是这样的事情必须在销售经理出现之前完成。 Petter H的回答中有一个更好的主意,无论如何你应该也可以跟着。