Xử Lý Sự Cố OV-Node
Hướng dẫn giải quyết các vấn đề thường gặp với OV-Node
Sự Cố 1: Service Không Khởi Động
OV-Node service không chạy hoặc failed khi start
Triệu chứng
sudo systemctl status ov-node
# Active: failedNguyên nhân & Giải pháp
1. Lỗi cấu hình .env
# Kiểm tra file .env
sudo cat /opt/ov-node/.env
# Đảm bảo có đủ các field bắt buộc:
# - SERVICE_PORT
# - API_KEY2. Port đã được sử dụng
# Kiểm tra port
sudo netstat -tulpn | grep 9090
# Nếu port đang được dùng, đổi port trong .env
sudo nano /opt/ov-node/.env
# Thay SERVICE_PORT = 9091
sudo systemctl restart ov-node3. Lỗi Python dependencies
# Reinstall dependencies
cd /opt/ov-node
sudo /opt/ov-node/venv/bin/pip install -r requirements.txt
sudo systemctl restart ov-node4. Permission issues
# Fix permissions
sudo chown -R root:root /opt/ov-node
sudo chmod -R 755 /opt/ov-node
sudo systemctl restart ov-nodeSự Cố 2: Panel Không Kết Nối Được Node
Node hiển thị "Offline" hoặc "Connection Failed" trên Panel
Triệu chứng
Node không thể kết nối từ Panel, hiển thị offline
Các bước kiểm tra
1. Service đang chạy trên Node?
sudo systemctl status ov-node2. Port có mở không?
sudo netstat -tulpn | grep 90903. Firewall có block không?
# Test từ Panel server
telnet NODE_IP 9090
# Nếu không kết nối được, mở port
sudo ufw allow 9090/tcp4. API Key có đúng không?
# Check API key trên Node
sudo cat /opt/ov-node/.env | grep API_KEY
# So sánh với API key trên Panel5. Test từ Panel server
curl -X POST http://NODE_IP:9090/sync/get-status \
-H "key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"set_new_setting": false}'Sự Cố 3: OpenVPN Service Không Chạy
Health check endpoint báo "unhealthy"
Giải pháp nhanh
1. Kiểm tra service status
sudo systemctl status openvpn-server@server2. Sử dụng auto-fix (Khuyến nghị)
curl -X POST http://localhost:9090/sync/openvpn/fix \
-H "key: YOUR_API_KEY"Auto-fix sẽ tự động sửa các vấn đề phổ biến
3. Manual restart
sudo systemctl restart openvpn-server@server4. Check config
sudo cat /etc/openvpn/server/server.conf
# Test config
sudo openvpn --config /etc/openvpn/server/server.conf --test-crypto5. Check logs
sudo journalctl -u openvpn-server@server -n 50Sự Cố 4: Không Tạo Được User
API trả về "Failed to create user"
1. OpenVPN script có tồn tại?
ls -la /root/openvpn-install.sh2. Script có executable permission?
sudo chmod +x /root/openvpn-install.sh3. Thử tạo user manually
cd /root
sudo bash openvpn-install.sh
# Chọn option 1 để add user4. Check disk space
df -hSự Cố 5: High CPU/Memory Usage
Node báo CPU hoặc RAM cao
1. Process resource usage
top -p $(pgrep -f "ov-node")2. Check connections
sudo netstat -an | grep 9090 | wc -l3. Restart service
sudo systemctl restart ov-nodeSự Cố 6: API Trả Về 401 Unauthorized
Tất cả API calls đều return 401
Nguyên nhân
API key không khớp giữa Panel và Node
Giải pháp
# Check API key trên Node
sudo cat /opt/ov-node/.env | grep API_KEY
# Update API key trên Panel để khớp
# Hoặc update API key trên Node và restart
sudo nano /opt/ov-node/.env
sudo systemctl restart ov-nodeLogs Hữu Ích
Các lệnh để xem logs khi troubleshooting
OV-Node application logs
sudo journalctl -u ov-node -n 100 --no-pagerOpenVPN logs
sudo journalctl -u openvpn-server@server -n 100 --no-pagerSystem logs
sudo dmesg | tail -50Check for errors
sudo journalctl -p err -n 50Real-time logs
# Follow OV-Node logs
sudo journalctl -u ov-node -f
# Follow OpenVPN logs
sudo journalctl -u openvpn-server@server -fQuick Diagnostic Script
Script nhanh để kiểm tra tất cả
#!/bin/bash
echo "=== OV-Node Diagnostic ==="
echo ""
echo "1. Service Status:"
systemctl is-active ov-node
systemctl is-active openvpn-server@server
echo ""
echo "2. Port Listening:"
netstat -tulpn | grep -E "(9090|1194)"
echo ""
echo "3. API Key:"
grep API_KEY /opt/ov-node/.env
echo ""
echo "4. Recent Errors:"
journalctl -u ov-node -p err -n 10 --no-pager
echo ""
echo "5. Disk Space:"
df -h | grep -E "(Filesystem|/$)"
echo ""
echo "6. Memory Usage:"
free -h
echo ""
echo "=== End Diagnostic ==="Để sử dụng:
# Tạo file
sudo nano /root/ov-node-diagnostic.sh
# Paste nội dung script ở trên, sau đó:
sudo chmod +x /root/ov-node-diagnostic.sh
sudo bash /root/ov-node-diagnostic.sh