我在创build一个基于XenServer的Linux虚拟机时犯了一个错误。 我创build了一个单独的交换(好)和一个大的单独的/主目录(坏),而实际上它应该是一个大的单独的/ var目录。
既然/ var几乎已经饱和了根磁盘,我想重新将其归入根分区,删除旧的921GB / home分区,然后将根分区增长到921GB,而不改变/ swap分区。
目前:
[root@ /]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 50G 43G 4.0G 92% / tmpfs 3.9G 0 3.9G 0% /dev/shm /dev/xvda1 485M 72M 388M 16% /boot /dev/mapper/VolGroup-lv_home 921G 200M 874G 1% /home
更清楚的是,我需要知道如何将/ home移动到根分区(/ dev / mapper / VolGroup-lv_root),并让Linux将其识别为操作系统的主目录,删除/ dev / mapper / VolGroup- lv_home分区,然后增大/ dev / mapper / VolGroup-lv_root分区以占用额外的921GB可用空间。
如果可能,我愿意交换/ home和/ var的位置,但这是一个生产服务器。 虽然我可以随时做快照,所以有些深夜实验是可能的! ;)
谢谢!
这是相当直接的,作为根:
mkdir /home2 mv /home/* /home2/ umount -fl /home lvremove /dev/VolGroup/lv_home mv /home2 /home
如果您的根文件系统是可resize的(例如ext4),这个过程将工作。
你也可以做到这一点,而不需要通过交换挂载点来增加分区:
卸载主分区:
umount /home
将它挂载到其他地方,例如/ mnt:
mount /dev/mapper/VolGroup-lv_home /mnt
将所有内容从分区移动到您的主目录(现在位于根分区上):
mv /mnt/* /home/
将数据从/ var目录移动到分区:
mv /var/* /mnt/
将你的分区重新挂载到/ var:
umount /mnt
mount /dev/mapper/VolGroup-lv_home /var
请确保相应地更改/etc/fstab的内容。