服务器日志空间解决方案-外挂磁盘
最近 PHP 项目和 JAVA 项目放置在同一台服务器,但是 tomcat 日志过大导致空间爆满; PHP 项目用户数量比较大,每天早上用户6点准时开单,这个时候突然登录不了了,我登录服务器发现日志已经占满了空间;
本身 Tomcat 项目已经做了切割日志,日志按天输出,但是有些 JAVA 开发人员,为了定位问题将大批量 SQL 写在日志上,缺忘了删除,导致某天的日志突然间过大, 达到了 15G 以上;
方案:
在删除日志之后,进过商量考虑到的解决方案有两个:
使用 logrotate 对日志进行压缩限制; 这个方案觉得不合理,因为日志每天都要用来定位问题,如果压缩日志显得非常不方便,这个方案排除;
外挂磁盘,将日志导出到磁盘,这样磁盘满了也不影响应用; 外挂磁盘,然后日志目录建立软链接,指向外挂磁盘,这样日志满了,也不影响应用,只是无法继续生成日志而已,另一方面也方便定位日志;
步骤:
一、购买外挂磁盘,登录 Ubuntu 服务器,然后查看:
1
|
|
目前这样看不到磁盘,因为还没挂载;
二、查看磁盘:
1 2 3 4 5 |
|
可以看到有另外的 100G 磁盘 /dev/vdb;
三、建立新分区:
1
|
|
- n = 创建新分区
- 1 = 成为磁盘上的首个分区
- P = 直接创建主分区 (e是扩展分区,扩展分区无法直接用,需要在新建逻辑分区)
我们选择 P PS:如果之前是重新建立分区,要先 unmount 磁盘,然后对磁盘删除,选择 d,然后再创建主分区;
可以选择创建多少个分区,根据提示填写相应数字即可;
四、格式化分区:
创建完分区 /dev/vdb 之后 mkfs.ext4 直接格式话新建的分区就行
1
|
|
五、挂载:
将磁盘挂载到 /opt 目录下,原有/opt 下的内容将会看不见,因为被覆盖住了,需要 unmount 才能看到;
1
|
|
最后查看挂载磁盘
1
|
|
六、创建软链接:
已经挂载上了,我们在这里建立一个 tomcat-logs/ 目录,然后到 tomcat 下,把原有 logs/ 目录删除, 建立软链接 logs/ 指向 tomcat-logs/
1 2 |
|