首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Centos /dev/mapper/cl-root 100% 解决方法

Centos /dev/mapper/cl-root 100% 解决方法

原创
作者头像
好派笔记
修改2021-09-13 14:33:27
修改2021-09-13 14:33:27
3.3K0
举报
文章被收录于专栏:好派笔记好派笔记
1.故障描述

今天ODOO服务器无法正常工作,提示信息如下:

代码语言:javascript
复制
错误:
Odoo Server Error
​
Traceback (most recent call last):
  File "/opt/odoo/odoo12/odoo/http.py", line 656, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/opt/odoo/odoo12/odoo/http.py", line 314, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "/opt/odoo/odoo12/odoo/tools/pycompat.py", line 87, in reraise
    raise value
  File "/opt/odoo/odoo12/odoo/http.py", line 698, in dispatch
    result = self._call_function(**self.params)
  File "/opt/odoo/odoo12/odoo/http.py", line 346, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/opt/odoo/odoo12/odoo/service/model.py", line 97, in wrapper
    return f(dbname, *args, **kwargs)
  File "/opt/odoo/odoo12/odoo/http.py", line 339, in checked_call
    result = self.endpoint(*a, **kw)
  File "/opt/odoo/odoo12/odoo/http.py", line 941, in __call__
    return self.method(*args, **kw)
  File "/opt/odoo/odoo12/odoo/http.py", line 519, in response_wrap
    response = f(*args, **kw)
  File "/opt/odoo/odoo12/odoo/addons/web/controllers/main.py", line 962, in call_kw
    return self._call_kw(model, method, args, kwargs)
  File "/opt/odoo/odoo12/odoo/addons/web/controllers/main.py", line 954, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/opt/odoo/odoo12/odoo/api.py", line 755, in call_kw
    return _call_kw_model(method, model, args, kwargs)
  File "/opt/odoo/odoo12/odoo/api.py", line 728, in _call_kw_model
    result = method(recs, *args, **kwargs)
  File "/opt/odoo/odoo12/odoo/models.py", line 2071, in read_group
    result = self._read_group_raw(domain, fields, groupby, offset=offset, limit=limit, orderby=orderby, lazy=lazy)
  File "/opt/odoo/odoo12/odoo/models.py", line 2184, in _read_group_raw
    self._cr.execute(query, where_clause_params)
  File "/opt/odoo/odoo12/odoo/sql_db.py", line 148, in wrapper
    return f(self, *args, **kwargs)
  File "/opt/odoo/odoo12/odoo/sql_db.py", line 225, in execute
    res = self._obj.execute(query, params)
psycopg2.OperationalError: 错误:  无法写入文件 "base/pgsql_tmp/pgsql_tmp19303.0": 设备上没有空间
2.问题排查

上面提示设备上没有空间,无法写入,于是远程登录ODOO服务器进行处理。

代码语言:javascript
复制
Connecting to 192.168.*.168:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
​
Last failed login: Tue Jun  1 14:28:16 CST 2021 from 10.128.34.120 on ssh:notty
There was 1 failed login attempt since the last successful login.
Last login: Tue Jun  1 11:06:40 2021 from 10.128.25.225
[root@myprod ~]# df -Th
文件系统            类型      容量  已用  可用 已用% 挂载点
/dev/mapper/cl-root xfs        50G   50G  402M  100% /
devtmpfs            devtmpfs  3.9G     0  3.9G    0% /dev
tmpfs               tmpfs     3.9G   92K  3.9G    1% /dev/shm
tmpfs               tmpfs     3.9G  426M  3.5G   11% /run
tmpfs               tmpfs     3.9G     0  3.9G    0% /sys/fs/cgroup
/dev/vda1           xfs      1014M  173M  842M   17% /boot
/dev/mapper/cl-home xfs        42G  1.2G   40G    3% /home
tmpfs               tmpfs     783M   16K  783M    1% /run/user/42
tmpfs               tmpfs     783M     0  783M    0% /run/user/0
[root@myprod ~]# 
​

发现根已用100%,确实没有剩余空间。

先用find查找大于100M的文件

代码语言:javascript
复制
[root@myprod ~]# find / -xdev -size +100M -exec ls -l {} \;
-rw-r--r--. 1 root root 106172832 11月  8 2020 /usr/lib/locale/locale-archive
-rw-r--r-- 1 root root 162303153 11月  8 2020 /usr/local/python3.zip
-rw-r--r-- 1 root root 192284389 11月  8 2020 /opt/odoo/odoo12.zip
-rw-r--r-- 1 root root 181482235 11月  9 2020 /opt/odoo/odoo1220201109.zip
-rw-r--r-- 1 root root 239524588 1月   7 17:19 /opt/odoo/mybackup/myodoo_20210107_171927.sql
-rw-r--r-- 1 root root 240164390 1月   8 01:45 /opt/odoo/mybackup/myodoo_20210108_014501.sql
-rw-r--r-- 1 root root 242777145 1月   9 01:45 /opt/odoo/mybackup/myodoo_20210109_014501.sql
-rw-r--r-- 1 root root 245690911 1月  10 01:45 /opt/odoo/mybackup/myodoo_20210110_014501.sql
-rw-r--r-- 1 root root 248044112 1月  11 01:45 /opt/odoo/mybackup/myodoo_20210111_014501.sql
-rw-r--r-- 1 root root 249439764 1月  12 01:45 /opt/odoo/mybackup/myodoo_20210112_014501.sql
-rw-r--r-- 1 root root 250958537 1月  13 01:45 /opt/odoo/mybackup/myodoo_20210113_014501.sql
-rw-r--r-- 1 root root 254095501 1月  14 01:45 /opt/odoo/mybackup/myodoo_20210114_014501.sql
-rw-r--r-- 1 root root 254564232 1月  15 01:45 /opt/odoo/mybackup/myodoo_20210115_014501.sql
-rw-r--r-- 1 root root 255637264 1月  16 01:45 /opt/odoo/mybackup/myodoo_20210116_014501.sql
-rw-r--r-- 1 root root 257757071 1月  17 01:45 /opt/odoo/mybackup/myodoo_20210117_014501.sql
-rw-r--r-- 1 root root 256223598 1月  18 01:45 /opt/odoo/mybackup/myodoo_20210118_014502.sql
-rw-r--r-- 1 root root 256677541 1月  19 01:45 /opt/odoo/mybackup/myodoo_20210119_014501.sql
-rw-r--r-- 1 root root 256471126 1月  20 01:45 /opt/odoo/mybackup/myodoo_20210120_014501.sql
-rw-r--r-- 1 root root 256284101 1月  21 01:45 /opt/odoo/mybackup/myodoo_20210121_014501.sql
-rw-r--r-- 1 root root 257535219 1月  22 01:45 /opt/odoo/mybackup/myodoo_20210122_014501.sql
-rw-r--r-- 1 root root 257585191 1月  23 01:45 /opt/odoo/mybackup/myodoo_20210123_014501.sql
-rw-r--r-- 1 root root 257648554 1月  24 01:45 /opt/odoo/mybackup/myodoo_20210124_014501.sql
-rw-r--r-- 1 root root 258790459 1月  25 01:45 /opt/odoo/mybackup/myodoo_20210125_014501.sql
-rw-r--r-- 1 root root 259041328 1月  26 01:45 /opt/odoo/mybackup/myodoo_20210126_014501.sql
-rw-r--r-- 1 root root 259950228 1月  27 01:45 /opt/odoo/mybackup/myodoo_20210127_014501.sql
-rw-r--r-- 1 root root 260791782 1月  28 01:45 /opt/odoo/mybackup/myodoo_20210128_014501.sql
-rw-r--r-- 1 root root 260690928 1月  29 01:45 /opt/odoo/mybackup/myodoo_20210129_014501.sql
-rw-r--r-- 1 root root 261040040 1月  30 01:45 /opt/odoo/mybackup/myodoo_20210130_014501.sql

发现备份目录/opt/odoo/mybackup下有大量重复的文件,进一步用du命令查看该目录所占空间。

代码语言:javascript
复制
[root@myprod odoo]# du -h mybackup
41G mybackup
[root@myprod odoo]# cd mybackup/
​

发现占41G的空间。突然记起,当初写自动化备份脚本的时候,忘记了定期删除功能,从1月份到6月份,数据库备份文件已到41GB。

3.问题处理

发现问题后,及时删除备份目录下过时的文件,只留下最近7天数据库备份内容。

代码语言:javascript
复制
[root@myprod mybackup]# rm -rf myodoo_20210{1..5}*

[root@myprod mybackup]

# ll

代码语言:javascript
复制
[root@myprod mybackup]# rm -rf myodoo_202105{01..20}*

[root@myprod mybackup]

# ll -h 总用量 4.0G -rw-r--r-- 1 root root 349M 5月 21 01:45 myodoo_20210521_014502.sql -rw-r--r-- 1 root root 351M 5月 22 01:45 myodoo_20210522_014501.sql -rw-r--r-- 1 root root 353M 5月 23 01:45 myodoo_20210523_014501.sql -rw-r--r-- 1 root root 354M 5月 24 01:45 myodoo_20210524_014502.sql -rw-r--r-- 1 root root 354M 5月 25 01:45 myodoo_20210525_014501.sql -rw-r--r-- 1 root root 355M 5月 26 01:45 myodoo_20210526_014501.sql -rw-r--r-- 1 root root 357M 5月 27 01:45 myodoo_20210527_014501.sql -rw-r--r-- 1 root root 358M 5月 28 01:45 myodoo_20210528_014501.sql -rw-r--r-- 1 root root 361M 5月 29 01:45 myodoo_20210529_014501.sql -rw-r--r-- 1 root root 363M 5月 30 01:45 myodoo_20210530_014501.sql -rw-r--r-- 1 root root 362M 5月 31 01:45 myodoo_20210531_014501.sql -rw-r--r-- 1 root root 137M 6月 1 01:45 myodoo_20210601_014501.sql

[root@myprod mybackup]

#

删除后,也可以用du查看一下:

代码语言:javascript
复制
[root@myprod odoo]# du -sh mybackup/
4.0G    mybackup/
[root@myprod odoo]# df -Th
文件系统            类型      容量  已用  可用 已用% 挂载点
/dev/mapper/cl-root xfs        50G   13G   38G   25% /
devtmpfs            devtmpfs  3.9G     0  3.9G    0% /dev
tmpfs               tmpfs     3.9G   92K  3.9G    1% /dev/shm
tmpfs               tmpfs     3.9G  426M  3.5G   11% /run
tmpfs               tmpfs     3.9G     0  3.9G    0% /sys/fs/cgroup
/dev/vda1           xfs      1014M  173M  842M   17% /boot
/dev/mapper/cl-home xfs        42G  1.2G   40G    3% /home
tmpfs               tmpfs     783M   16K  783M    1% /run/user/42
tmpfs               tmpfs     783M     0  783M    0% /run/user/0
[root@myprod odoo]# 
​

清理后,已用空间由100%变为25%,再次登录服务器,问题消失。

4.Linux中{}的使用补充
代码语言:javascript
复制
{1,3,5}   ==  1 3 5
{1..5}   ==  1  2  3  4  5
{a..e}  ==  a b c d e
{A..z}
{1..50..2}
{1..50..3}
{1..50..4}
{1..50..5}
​
组合用法
file{1..5}  ==  file1  file2  file3  file4  file5
file{1..2}.{txt,log} == file1.txt  file1.log  file2.txt  file2.log

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.故障描述
  • 2.问题排查
  • 3.问题处理
  • 4.Linux中{}的使用补充
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档