作者小头像 Lv.3
269 成长值

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

暂无数据
个人勋章
TA还没获得勋章~
成长雷达
260
9
0
0
0

个人资料

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

暂无数据

达成规则

发布时间 2026/10/23 10:48:10 最后回复 yd_220055865 2026/11/15 13:07:03 版块 开发者空间
785 97 0
他的回复:
先说结论:df 和 du 的口径本来就不一样,差出来的空间一般不是“丢了”,而是被 du 没算进去的那部分占着。按下面顺序查,基本能定位。1、先确认看的是同一块盘df -hTdf -h /du 看的是目录下文件的大小总和,df 看的是文件系统已分配的空间。先确认 df 里满的是哪个挂载点,再对这个挂载点查,不要拿根盘的 df 去对数据盘的 du。sudo du -shx / 2>/dev/nullsudo du -sh /* 2>/dev/null | sort -rh | head -20加 -x 是只统计同一文件系统,避免把别的挂载盘也算进来。2、最常见:文件删了,进程还占着文件被 rm 后,如果还有进程拿着句柄,空间不会释放:du 已经看不到它,df 还照算。查:sudo lsof +L1sudo lsof | grep -i deleted如果看到某个日志或临时文件特别大,处理办法是重启/停止占用它的服务,让句柄释放,而不是只删文件。不要直接去删 /proc 下的文件描述符。3、次常见:挂载点把旧文件“盖住”了比如先往 /data 里写了文件,后来又把一块数据盘挂载到 /data 上,挂载后 du 只能看到新盘上的内容,旧文件还占着系统盘。可以用 bind 挂载看一下挂载点下层:sudo mkdir -p /tmp/rootfssudo mount --bind / /tmp/rootfssudo du -sh /tmp/rootfs/data 2>/dev/null查完记得 sudo umount /tmp/rootfs在 ECS 上尤其要留意系统盘和数据盘的挂载关系,别把系统盘满了误当成数据盘满了。4、再看另外两个容易被忽略的口径差df -i看 inode 是不是满了:大量小文件会把 inode 占满,磁盘看着还有空间也写不进去。ext4 默认会给 root 预留一部分空间,df 的“可用”会比“已用+可用”算出来的少,这部分不是被谁偷走了,是文件系统预留。另外 /var/log、/var/lib/docker、journal 日志也是高频大户,可以顺带看一下:sudo du -sh /var/log /var/lib/docker 2>/dev/nulljournalctl --disk-usage5、处理后这样验证清理或重启服务后,再跑一遍:df -h /sudo lsof +L1如果 df 降下来了,就是上面某一项;如果 df 没动,说明大文件还在别处,再回到第 1 步按挂载点逐个对。如果最后确认确实是数据本身太多,而不是被“藏起来”了,再考虑清理过期日志、归档旧数据;华为云 ECS 需要扩容时,控制台扩容云硬盘后,还要在系统里扩分区、扩文件系统才会生效,不要只在控制台扩完就以为够了。
发布时间 2026/10/22 21:26:50 最后回复 yd_274356910 2026/11/14 09:52:51 版块 开发者空间
670 67 0
他的回复:
先说结论:按量付费的 ECS 只关机不释放,计算资源(vCPU/内存)不计费了,但系统盘、数据盘和绑定的弹性公网 IP 还在,会继续按量扣费。想彻底不花钱,必须释放实例。 1. 关机 vs 释放- 关机(控制台 → ECS → 更多 → 关机):实例停了,vCPU 和内存不再计费。但实例占用的资源还在你的名下,系统盘/数据盘按存储容量继续按量计费,绑定的弹性公网 IP(EIP)也继续按带宽/流量计费。- 释放/删除(控制台 → ECS → 更多 → 删除):实例、系统盘一起删掉,不再产生任何费用。注意数据盘如果是独立的云硬盘,需要单独删除才会停费。 2. 各项怎么算- 计算资源(vCPU+内存):按量付费按秒计费,关机后停止计费(这是按量相比包年/包月的一个优点)。- 系统盘:随实例创建的系统盘,实例关机后仍按云硬盘容量按量计费;只有删除实例(勾选“同时删除系统盘”)才停。- 弹性公网 IP:绑定的 EIP 关机后继续计费(按带宽计费或按流量计费取决于你的 EIP 计费方式)。不想要了就去 网络 → 弹性公网 IP 里解绑并释放。 3. 建议操作(控制台路径)ECS 控制台 → 选中实例 → 更多 → 删除 → 勾选“同时删除弹性公网 IP”和“同时删除系统盘”(数据盘如需保留就别勾)→ 确认删除。如果数据要留,先做个镜像或快照再删。 一句话:短期不用就关机,长期不用就释放。只关机不清盘不清 IP,账单上还会有几块钱一直在跑。
发布时间 2026/01/28 10:18:55 最后回复 yd_254320880 2026/10/22 13:47:30 版块 开发平台
522 2 0
他的回复:
楼主这个排查思路是对的,补充几个实操细节和防复发的方法: 1. 先确认生效配置到底是哪一行直接 grep 配置文件容易漏掉 Ubuntu 的 sshd_config.d/ 目录。建议用:sudo sshd -T | grep -i passwordauthenticationsshd -T 输出的是合并所有配置文件后的实际生效值,比看文件准。如果这里是 no,那就是配置层面的问题。 2. 按你的需求打开密码登录sudo nano /etc/ssh/sshd_config找到 #PasswordAuthentication yes,去掉注释并确认是 yes;如果这一行在 /etc/ssh/sshd_config.d/ 下的某个文件里(比如云镜像自带的 60-cloudimg-settings.conf),改那个文件或者把它删了也行。改完重启:sudo systemctl restart sshd注意:另开一个新终端测试 ssh user@ip,能弹出密码框再断开旧会话,别先把当前会话关掉,万一改错了还能救。 3. root 密码登录的话,再检查一行 PermitRootLogin,默认是 prohibit-password(只允许密钥),需要的话改成 yes。 4. 顺手做点安全加固密码登录本来就容易被爆破,Ubuntu 新版本默认关密码登录也是这个原因。建议:- 本地 ssh-keygen 生成密钥对,把公钥追加到服务器 ~/.ssh/authorized_keys,权限设好:chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys;- 把 SSH 端口从 22 换掉,安全组/ufw 只放行自己的 IP;- 装个 fail2ban 防爆破。 5. 防复发unattended-upgrades 更新 openssh-server 时如果提示配置文件冲突,选「保留本地修改」;或者直接 apt-mark hold openssh-server 锁定版本,避免自动更新再把配置覆盖回去。