Proxmox gặp vấn đề với việc hiển thị dữ liệu và thời gian trên Summary graphs của một hoặc nhiều máy chủ trong một cụm (cluster). Các máy chủ hiển thị dữ liệu đúng và thời gian chính xác nhưng một máy chủ lại hiển thị dữ liệu trống và thời gian không đúng.
Mình đã so sánh thời gian bằng cách sử dụng lệnh timedatectl thì cho kết quả thời gian đúng với thời gian thực.
shell> timedatectl
Local time: Wed 2024-01-17 09:19:11 +07
Universal time: Wed 2024-01-17 02:19:11 UTC
RTC time: Wed 2024-01-17 02:19:11
Time zone: Asia/Ho_Chi_Minh (+07, +0700)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
Và sau khi lang thang ở các diễn đàn và thử các giải pháp trong một diễn đàn Proxmox và tôi tìm thấy có một cách xử lý như sau:
Trong quá trình thử nghiệm, mình sử dụng lệnh “pvesh get /nodes/NODENAME/rrddata –timeframe hour” để kiểm tra dữ liệu của máy chủ đó. Kết quả trả về một lỗi cho máy chủ đó với thông báo “RRD error: rrdcached@unix:/var/run/rrdcached.sock: rrd_fetch_r failed: mmaping file ‘/var/lib/rrdcached/db/pve2-node/pve04’: Invalid argument”.
shell> pvesh get /nodes/pve04/rrddata --timeframe hour
RRD error: rrdcached@unix:/var/run/rrdcached.sock: rrd_fetch_r failed: mmaping file '/var/lib/rrdcached/db/pve2-node/pve04': Invalid argument"
Trong khi đó, hai máy chủ khác trả về một bảng kết quả.
shell> pvesh get /nodes/pve04/rrddata --timeframe hour
┌─────────────────────┬──────────────────────┬───────────────────┬────────┬──────────────┬──────────────────┬──────────────────┬─
│ cpu │ iowait │ loadavg │ maxcpu │ memtotal │ memused │ netin │
╞═════════════════════╪══════════════════════╪═══════════════════╪════════╪══════════════╪══════════════════╪══════════════════╪═
│ 0.00453769008052877 │ 2.06894692222551e-05 │ 0.604 │ 80 │ 270081953792 │ 35921460701.8667 │ 96390.3366666667 │
├─────────────────────┼──────────────────────┼───────────────────┼────────┼──────────────┼──────────────────┼──────────────────┼─
│ 0.00455079684181662 │ 1.94065974460776e-05 │ 2.468 │ 80 │ 270081953792 │ 36270748330.6667 │ 96612.0833333333 │
├─────────────────────┼──────────────────────┼───────────────────┼────────┼──────────────┼──────────────────┼──────────────────┼─
│ 0.127137715368268 │ 1.88064865270847e-05 │ 10.287 │ 80 │ 270081953792 │ 41834097459.2 │ 90111.0933333333 │
├─────────────────────┼──────────────────────┼───────────────────┼────────┼──────────────┼──────────────────┼──────────────────┼─
│ 0.127154529795148 │ 2.08501588699649e-05 │ 10.1613333333333 │ 80 │ 270081953792 │ 42207008085.3333 │ 94384.8966666667 │
├─────────────────────┼──────────────────────┼───────────────────┼────────┼──────────────┼──────────────────┼──────────────────┼─
│ 0.127158888347036 │ 2.08983309797684e-05 │ 9.62466666666667 │ 80 │ 270081953792 │ 39895026346.6667 │ 91162.41 │
├─────────────────────┼──────────────────────┼───────────────────┼────────┼──────────────┼──────────────────┼──────────────────┼─
│ 0.136563564146016 │ 2.31821525488564e-05 │ 10.4913333333333 │ 80 │ 270081953792 │ 42785327513.6 │ 100227.216666667 │
├─────────────────────┼──────────────────────┼───────────────────┼────────┼──────────────┼──────────────────┼──────────────────┼─
│ 0.13984026191841 │ 2.77562623210849e-05 │ 11.0043333333333 │ 80 │ 270081953792 │ 42486289612.8 │ 98869.8666666667 │
├─────────────────────┼──────────────────────┼───────────────────┼────────┼──────────────┼──────────────────┼──────────────────┼─
│ 0.139860690178532 │ 3.96481963097003e-05 │ 10.5666666666667 │ 80 │ 270081953792 │ 39067823991.4667 │ 84196.6066666667 │
├─────────────────────┼──────────────────────┼───────────────────┼────────┼──────────────┼──────────────────┼──────────────────┼─
│ 0.139887423835484 │ 3.96899129840702e-05 │ 11.361 │ 80 │ 270081953792 │ 42547232631.4667 │ 108817.96 │
└─────────────────────┴──────────────────────┴───────────────────┴────────┴──────────────┴──────────────────┴──────────────────┴─
Lỗi này có thể xuất phát từ vấn đề với dịch vụ RRDcached và việc truy xuất dữ liệu từ file RRD (Round Robin Database) của máy chủ đó. Có thể liên quan đến việc mmap (map memory) file không hợp lệ.
Để giải quyết vấn đề, người dùng có thể cần kiểm tra và cấu hình lại RRDcached, đồng thời kiểm tra quyền truy cập và tính toàn vẹn của các tệp tin RRD trên máy chủ gặp vấn đề. Ngoài ra, việc kiểm tra các cấu hình đặc biệt của máy chủ đó trong cluster cũng là một bước quan trọng để xác định nguyên nhân cụ thể của lỗi.
Cách giải quyết đơn giản nhất là bạn hãy xóa thư mục /var/lib/rrdcached/db
và sau đó khởi động lại rrdcached.service
.
rm -r /var/lib/rrdcached/db
systemctl restart rrdcached.service
Nhớ kiểm tra lại trạng thái rrdcached.
shell> systemctl status rrdcached.service
● rrdcached.service - LSB: start or stop rrdcached
Loaded: loaded (/etc/init.d/rrdcached; generated)
Active: active (running) since Tue 2024-01-16 17:10:35 +07; 16h ago
Docs: man:systemd-sysv-generator(8)
Process: 968625 ExecStart=/etc/init.d/rrdcached start (code=exited, status=0/SUCCESS)
Tasks: 8 (limit: 309002)
Memory: 4.3M
CPU: 12.261s
CGroup: /system.slice/rrdcached.service
└─968631 /usr/bin/rrdcached -B -b /var/lib/rrdcached/db/ -j /var/lib/rrdcached/journal/ -p /var/run/rrdcached.pid ->
Jan 16 17:10:35 pve04 systemd[1]: Starting rrdcached.service - LSB: start or stop rrdcached...
Jan 16 17:10:35 pve04 rrdcached[968625]: rrdcached started.
Jan 16 17:10:35 pve04 systemd[1]: Started rrdcached.service - LSB: start or stop rrdcached.
Chờ đợt ít phút graph chúng ta sẽ có dữ liệu.