Linux 系统盘快满了怎么办

2017-03-19 10:36:50 +08:00
 edison111cry

如题,使用的是阿里云,购买的时候是系统盘 20G ,挂载盘是 200G 。 装的 NGINX+PHP 放在,网站访问目录在:/var/www/下 里面有好几个网站: /var/www/website-1 /var/www/website-2 /var/www/website-3 .........

前两天用 df -h 查看系统盘 / 快要满了,而 /mnt 挂载盘还是空的。 各位大神这种情况该怎么办,我要整个把服务器重装一遍到挂载盘上吗?

还是要在 /mnt 下面 mkdir 很多个子文件夹,然后用软链接的方式分别链接到 /var/www/website-1/upload /var/www/website-2/upload /var/www/website-3/upload .........

用来保存网站上传的新的文件之类的。 这样工作量比较小,也能暂时解决问题,不过感觉有点挫 :(

2738 次点击
所在节点    问与答
16 条回复
mringg
2017-03-19 10:39:01 +08:00
不如把 www 都移到数据盘,然后 ln
zjqzxc
2017-03-19 10:39:03 +08:00
如果是我的的话,我选择把 nginx 的根目录改到 /mnt/www 下,然后 mv -r /var/www /mnt/www
edison111cry
2017-03-19 10:46:34 +08:00
@zjqzxc
也想过这样搞,但是当时 nginx 和 php 等很多东西都是自己源码编译的,路径都是在 /usr/local, /var 等目录了,如果我直接把 mv -r /var/www /mnt/www , 会不会有问题呢?

还是这个 www 目录只跟 nginx.conf 文件里:
server {
root /var/www;
}
这段话有关系,然后改成:
server {
root /mnt/www;
}

再重启 一下 nginx 就 行了? 其他的 PHP 什么别的都不用管,也不用重启 ?
jarlyyn
2017-03-19 10:46:53 +08:00
把 /var 目录挂到 mnt 下去……
edison111cry
2017-03-19 10:54:46 +08:00
@jarlyyn
网上搜了一下是大概如下的流程吗?
------------------------------------------------------------------------------------------------
6. 拷贝 /var 下的所有内容到新的硬盘
cp -pdr /var /storage
或在 /var 目录下执行: find . -depth -print | cpio - pldvm /temp

7. 删除当前 /var 目录下的内容
rm -rf /var/*

8. 重新挂载硬盘到 /var 目录
umount /dev/sdb1
mount /dev/sdb1 /var

9. 设置开机启动自动挂载
新创建的分区不能开机自动挂载,每次重启机器都要手动挂载。
设置开机自动挂载需要修改 /etc/fstab 文件
#vi /etc/fstab
在文件的最后增加一行
/dev/sdb1 /var ext3 defaults 1 2
------------------------------------------------------------------------------------------------

感觉有些小复杂,万一没搞成功,岂不是所有的网站都用不了,有点小怕怕 :)
solrted
2017-03-19 10:55:18 +08:00
把 nginx php ,网站数据等都放到 /mnt 分区下。
zjqzxc
2017-03-19 10:55:18 +08:00
@edison111cry web 目录只用改 nginx.conf 文件然后重启就行,如果使用了 cgi-bin 的话对应目录也要调整或者不用调整;

如果说有很多自己编译的(一般来说自己编译的软件和 web root 并没有关联,但是我不知道你是不是还用了什么不常见的东西)且实在不放心的话,就 cp 过去,/var/www 下的东西,手动删除自己知道肯定没可以删的。
jarlyyn
2017-03-19 11:06:40 +08:00
@edison111cry

是的。

确认问题前先别删除。
lun10439547
2017-03-19 11:21:18 +08:00
还不如 开一台按量的 然后镜像 顶上。。。最后慢悠悠的重装 数据迁移。。。这样可以避免乱中出错。。。。
Aliencn
2017-03-19 12:32:55 +08:00
重装一遍系统,你会发现系统盘变成 40G 了
loading
2017-03-19 12:34:09 +08:00
建议再买一台,然后挪过去再说,不要乱玩线上服务器。
edison111cry
2017-03-19 13:27:06 +08:00
感谢楼上各位的回复,不过以前编译用的东西确实比较多,还有 memcache 和 redis 等都同时在用,可能这些东西跟目录结构关系不大,不过就怕万一真的搞到 /mnt/www 目录下真出问题了那才是悲剧呢。

我就先准备用最挫的方法,软链接的方式分别链接到 /var/www 目录下有上传文件的目录吧,稍微改一下代码指向的目录结构。虽然方法比较挫,好歹完全在我的掌控之中。情非得已 :(
binghe
2017-03-19 13:36:16 +08:00
既然是阿里云,先做一份快照。然后开搞。万一出问题了恢复快照。
caola
2017-03-19 15:49:08 +08:00
先备份,关机再快照,然后重装系统(现在阿里云默认系统般都是 40G ),或者购买更大的系统盘,再恢复快照。
liyvhg
2017-03-19 17:13:03 +08:00
mount -o bind
zjqzxc
2017-03-19 17:29:45 +08:00
@edison111cry memcache,redis 这些跟 we broot 都没关系,除非把 redis 的持久化文件扔 /var/www 里了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/348571

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX