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

Nguyê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_KEY

2. 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-node

3. 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-node

4. Permission issues

# Fix permissions
sudo chown -R root:root /opt/ov-node
sudo chmod -R 755 /opt/ov-node

sudo systemctl restart ov-node

Sự Cố 2: Panel Không Kết Nối Được Node

Node hiển thị "Offline" hoặc "Connection Failed" trên Panel

Các bước kiểm tra

1. Service đang chạy trên Node?

sudo systemctl status ov-node

2. Port có mở không?

sudo netstat -tulpn | grep 9090

3. 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/tcp

4. 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 Panel

5. 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@server

2. Sử dụng auto-fix (Khuyến nghị)

curl -X POST http://localhost:9090/sync/openvpn/fix \
  -H "key: YOUR_API_KEY"

3. Manual restart

sudo systemctl restart openvpn-server@server

4. Check config

sudo cat /etc/openvpn/server/server.conf

# Test config
sudo openvpn --config /etc/openvpn/server/server.conf --test-crypto

5. Check logs

sudo journalctl -u openvpn-server@server -n 50

Sự 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.sh

2. Script có executable permission?

sudo chmod +x /root/openvpn-install.sh

3. Thử tạo user manually

cd /root
sudo bash openvpn-install.sh
# Chọn option 1 để add user

4. Check disk space

df -h

Sự 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 -l

3. Restart service

sudo systemctl restart ov-node

Sự Cố 6: API Trả Về 401 Unauthorized

Tất cả API calls đều return 401

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-node

Logs Hữu Ích

Các lệnh để xem logs khi troubleshooting

OV-Node application logs

sudo journalctl -u ov-node -n 100 --no-pager

OpenVPN logs

sudo journalctl -u openvpn-server@server -n 100 --no-pager

System logs

sudo dmesg | tail -50

Check for errors

sudo journalctl -p err -n 50

Real-time logs

# Follow OV-Node logs
sudo journalctl -u ov-node -f

# Follow OpenVPN logs
sudo journalctl -u openvpn-server@server -f

Quick 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