稍旧的系统,大约2岁。 运行CentOS
我注意到我有/var使用了很多空间,这都是好东西…所以删除空间不是答案。
有没有任何简单/安全的方法将/var移动到新安装的磁盘而不烘烤操作系统? 我知道如何添加磁盘并正确格式化,只是从来没有尝试过将/var移动到新的目的地。
我已经阅读了关于服务器故障和其他网站的文章,但是对于如何去做这件事,他们却很模糊。 他们通常build议停止进程等,但不要详细说明如何安全地执行此操作,也不要在移动数据和安装所有内容之前确保正确地停止所有操作。
检查了这一个:
将/ var移动到新的一组磁盘
不想做一些严重破坏MySQL的事情。 谢谢!
# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_centos6-centos6_root 47G 41G 4.0G 92% / tmpfs 3.9G 500K 3.9G 1% /dev/shm /dev/vda1 276M 199M 64M 76% /boot /dev/vdb1 197G 119G 68G 64% /home /dev/vdd1 197G 95G 93G 51% /home2 /dev/vde1 99G 8.1G 86G 9% /home3 /usr/tmpDSK 2.0G 40M 1.8G 3% /tmp
# cat /etc/fstab /dev/vg_centos6/centos6_root / ext4 usrjquota=quota.user,jqfmt=vfsv0 1 1 /dev/vda1 /boot ext3 defaults 1 2 /dev/vdb1 /home ext4 usrjquota=quota.user,jqfmt=vfsv0 0 0 /dev/vdd1 /home2 ext4 usrjquota=quota.user,jqfmt=vfsv0 0 0 /dev/vde1 /home3 ext4 usrjquota=quota.user,jqfmt=vfsv0 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/mapper/vg_centos6-lv_swap swap swap defaults 0 0 /usr/tmpDSK /tmp ext3 defaults,noauto 0 0
从我可以看到, /var绝对是在根分区上。 我希望改变这一点。
一件好事是你的系统可能是一个虚拟机,可以通过设备文件节点名称(例如/dev/vdb )来知道,这将通过排除使用任何专用工具(例如, iscsi-initiator-utils )如果它来自iSCSI存储。
CentOS提供了一个最小化的安装媒体,包括我们的目的rsync的最重要的工具。 如果您使用的是CentOS 6并使用64位系统,那么您可以通过select您所select的镜像来下载最小的CD ISO映像。 然后,你可以从这里下载最小的ISO尺寸小于400 MB。 附加步骤指南如下:
准备备用磁盘 。 将新磁盘连接到虚拟机,并照常格式化。 你已经写了,你知道如何做到这一点。
启动进入救援模式 。 优雅地closures虚拟机并引导最小的ISO。 提供的安装选项之一是Rescue安装系统 。 select它将允许我们从CD启动,而无需任何进程写入您的/var目录。 这将为我们提供一个安全的环境来将数据从旧磁盘传输到新磁盘。 有几个菜单在被引入到shell提示符之前必须导航。 括号内的项目是对我最有意义的项目。 请select你认为合适的。
传输数据 。 让我们说新磁盘上的设备节点,它将存储新的/var数据是/dev/vdc1和旧的根分区,其中/var目录是/dev/vda2 。 创build临时挂载点并复制数据:
mkdir /mnt/var /mnt/var_old mount /dev/vda2 /mnt/var_old mount /dev/vdc1 /mnt/var rsync -a /mnt/var_old/ /mnt/var/
移动旧/ var 。 移动旧的/var目录并创build一个新的空的挂载点:
mv /mnt/var_old/var /mnt/var_old/var.old mkdir /mnt/var_old/var
编辑fstab 。 安装/etc/fstab以便新磁盘上的文件系统安装在/var 。 给定上面的设备节点,将如下所示的条目添加到/mnt/var_old/etc/fstab :
/dev/vdc1 /var ext4 defaults 1 2
重新启动 。 在shell提示符下inputexit并select重启虚拟机。 然后启动到您的常规操作系统安装,而不是最小的CD。
如果一切正常,那么你的旧/var数据将出现在/var.old , /var将包含所有这些数据并准备好使用。 如果您愿意的话,您可以在正常操作的几天后删除/var.old 。
在/mnt下安装新的分区,然后在那个rsync --progress /var /mnt ,当这个已经完成的时候,在rsync --progress /var /mnt编辑你的/etc/fstab ,
我真的很喜欢pdp的答案,但在Centos 7上使用LVM,我想为那些不知道的人添加这些步骤:
启动应急媒体。 逃到壳。
扫描卷组: lvm vgscan -v
激活所有卷组: lvm vgchange -ay
列出逻辑卷: lvm lvs –all
有了这些信息和激活的卷,您应该可以装载卷: mount /dev/volumegroup/logicalvolume /mountpoint
这是http://jim-zimmerman.com/?p=587上的说明的副本
并要小心rsync如何创build目标目录。 将/ var / var复制到/ new / var created / new / var / var,这让我很头痛,因为我不得不重新构build我的新var,所以CentOS会很高兴:)