Linux的虚拟分区

某日碰上某企业的服务器i间歇性崩溃,一番检查后发现/分区才30GB [1],而且已经被撑满,最后连tab键的命令提示都在报错。进一步定位问题后发现/var/log/占了25GB [2]。

既然是log,又没有什么关键信息,那就想办法把其他分区挂载到/var/log/上去吧。但是很可惜,所有物理分区和逻辑分区都已被挂载并且已经被使用,又没有其他主机可以用来挂载NFS,怎么办?好在其他几个分区都相对较大(几百GB),而且都很空。于是就想到了这招:虚拟分区。

做法很简单,第一步是在某个比较空的分区上新建一个大文件

fallocate -l 100G /data/log.img

这会在/data/下创建一个100GB的文件log.img。这条命令瞬间就完成了,这是因为它只是申领了一块硬盘空间,并没有去格式化它,也没有把它的内容清零。

第二步是格式化它

mkfs -t ext4 /data/log.img

第三步,停掉那些会在/var/log/里写日志的服务(这一步问题比较大,我不知道怎么做到零宕机转移日志),然后把那些日志该删的删,该备份的备份。

第四步,把刚刚创建出来的/data/log.img挂载到/var/log

mount /data/log.img /var/log

最后一步,让这个改动永久化。先找到/data/log.img的UUID

blkid /data/log.img

然后在/etc/fstab里加一行

UUID=xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx /var/log ext4 defaults 0 2

完工。

[1] df -h
[2] du -sh /var/log/

转载于:https://my.oschina.net/u/3390582/blog/1358917

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值