重新分区已安装的逻辑卷

这是我在物理CentOS机器上当前的磁盘状态:

Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_ecomwise-lv_root 50G 47G 267M 100% / tmpfs 5.8G 0 5.8G 0% /dev/shm /dev/sda1 485M 63M 397M 14% /boot /dev/mapper/vg_ecomwise-lv_home 406G 158G 227G 41% /home 

正如你所看到的,我的根分区几乎已经满了,我需要更多的空间,因为额外的日志文件不能被写入/ var目录。 在/ var / lib / mysql目录中导入一个庞大的数据库之后,这个问题就长大了。

我的逻辑卷lv_home上有足够的空间,但是我不知道如何从lv_home得到一个没有格式化和丢失任何分区数据的文件。 是否有可能或者我需要find另一种解决scheme?

这应该做的,看看手册页,如果你想了解更多的具体命令的细节;

 umount /home resize2fs /dev/mapper/vg_ecomwise-lv_home {the size you want} lvreduce -L-{the size you want} /dev/mapper/vg_ecomwise-lv_home mount /home lvextend -L +{the size you want} /dev/mapper/vg_ecomwise-lv_root resize2fs /dev/mapper/vg_ecomwise-lv_root {the size you want} 

这是可能的,使用rezise2fslvreducelvextend的组合。 这是相当危险的,我不会build议在系统上使用任何你关心的数据。 但是如果你想尝试这个过程看起来像这样:

 #Shrink the filesystem to 200G resize2fs /dev/mapper/vg_ecomwise-lv_home 200G #Use a bit larger to avoid fatal off-by-something errors lvreduce -L 210G /dev/mapper/vg_ecomwise-lv_home #Regrow the filesystem to fill the partition resize2fs /dev/mapper/vg_ecomwise-lv_home #Extend the volume by 50G lvextend -L+50G /dev/mapper/vg_ecomwise-lv_root #Grow the filesystem resize2fs /dev/mapper/vg_ecomwise-lv_root 

如果你不想因为分区/文件系统resize而丢失数据,为什么不停止MySQL,修改my.cnf的home目录,将数据库移动到/home/mysql/db或者让MySQL存储它数据在/ home下?