ubuntu – 重新分区(运行)生产服务器的最佳方法

我有一个运行Ubuntu LTS的(外部托pipe的)生产服务器。 它提供网页(rails),并有一个svn仓库可通过Apache和一个PostgreSQL数据库访问。

我有ssh访问服务器和root权限。

大多数“有趣”的东西都位于/var/ :svn仓库里面/var/svn/var/www下的网页等等。

昨天我很好奇剩下多less磁盘空间,所以我做了以下工作:

 $ df -h Filesystem Size Used Avail Use% Mounted on /dev/md1 950M 402M 500M 45% / varrun 990M 64K 990M 1% /var/run varlock 990M 0 990M 0% /var/lock udev 990M 76K 989M 1% /dev devshm 990M 0 990M 0% /dev/shm /dev/md5 4.7G 668M 4.1G 15% /usr /dev/md6 4.7G 1.4G 3.4G 29% /var /dev/md7 221G 28M 221G 1% /home none 990M 4.0K 990M 1% /tmp 

我的'var'分区,其中最有趣的部分,只有4.7G大。 另一方面,/ home /分区是221G,但大部分是未使用的。

在开始安装之前,我应该检查磁盘布局。

理想情况下,我需要/var//home/来“切换” – /home/应该是4.7G,而/var/ 221G。

有没有办法解决这个问题,而不必重新安装整个事情?

你总是可以把重要的东西从/ var(/ var / www,/ var / lib / postgres,/ var / svn等)移动到/ home,并把符号链接放回到/ var。

就像我看到的那样,你把家里的内容复制到一些Temp目录(使用rsync也许一定会得到它),而不是把家里的所有东西都删除,把rsync var删除到当前的home。 之后将主页的临时副本复制回当前的var并卸载,并将这两个分区挂载到新的位置,如果所有的东西都起作用,则更改fstab以反映更改并重新引导。 当然这会造成一些停机。 但你不必重新安装任何东西。

SideShowCoder有正确的想法。 它将需要一些杂技,并可能将一些项目从服务器或另一个驱动器,而正在洗牌。

对于未来的设置,我强烈build议查看LVM。 它使得解决这样的问题相对简单,一切都可以在没有任何停机的情况下完成。