把/var/log 链接到 U 盘上会存在什么问题吗

2022-06-18 13:53:53 +08:00
 LxnChan

x86 NAS ,因为一部分程序疯狂往 syslog 里面写日志,因此想把 /var/log 整个 ln 到 u 盘上,不知道会不会有什么问题。


问题是指比如长写入对 U 盘不好、可能会发生的错误一类的

2431 次点击
所在节点    Linux
9 条回复
eason1874
2022-06-18 14:23:25 +08:00
怎么处理写日志的异常,这得看程序本身代码,盲猜不到

你可以先检查 syslog 日志级别,可能是默认级别太低才导致疯狂写日志。如果是 info 或者 debug ,可以先调高到 notice 看看
flynaj
2022-06-18 14:24:48 +08:00
USB 接口不稳定,会掉盘。
cev2
2022-06-18 14:38:21 +08:00
我不理解,NAS 不就是用来存文件的嘛,为啥要单独把 log 存 U 盘?如果是担心频繁读写导致机械硬盘无法休眠 /寿命损伤,那也应该是创建一个 tmpfs 把 log 文件写入到内存中,然后固定大小 /时间把 tmpfs 里的 log 备份到硬盘上然后清空,循环往复。
geekvcn
2022-06-18 15:27:04 +08:00
主流做法是写到 zram 里,如果需要看日志就写个定时脚本定时打包日志到硬盘持久化
kkbblzq
2022-06-18 16:59:02 +08:00
你把 U 盘也是用闪存的,同固态,也是有擦写次数上限的
Lax
2022-06-18 17:31:23 +08:00
配一配 logrotate 吧
Xusually
2022-06-18 17:32:55 +08:00
logrotate
然后 archive 你想怎么搬走就怎么搬走
ragnaroks
2022-06-20 09:26:26 +08:00
不用动脑子的办法,用容器并设置 --log-drive none
libook
2022-06-20 18:18:42 +08:00
我有一块 U 盘这么写废过。

U 盘是基于低频读写的场景设计的,每次写入都会减少一些寿命,等写废了 U 盘会进入保护模式,只允许读不允许写。

后来我的策略是找到所有写日志的程序,把日志分为三个等级:
1. 平时不看,有故障可以临时记录日志再看有啥问题;这种日志可以直接关闭;
2. 需要看日志的时候系统正常工作,而且仅需要看短时间范围内的日志;把日志路径改到 /tmp 下(或任何挂载到内存的目录下),并设置 logrotate 限制日志文件大小和时间,防止把内存写满;
3. 出问题的时候系统会不可访问,或者需要翻旧账;这种先用 folder2ram ,先写入内存再择机自动写入 U 盘,以此降低写入频率,并配置 logrotate 限制日志文件大小和时间,防止把 U 盘写满。

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

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

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

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

© 2021 V2EX