نظرة عامة على الخدمة
- مستخدم النظام:
etcd - اسم العقدة الافتراضي: يُنشأ تلقائياً
etcd-<timestamp> - ملف الإعداد:
/etc/etcd/etcd.yml - مجلد البيانات:
/var/lib/etcd - الملفات التنفيذية:
/usr/local/bin/etcd,/usr/local/bin/etcdctl، و/usr/local/bin/etcdutl - مستوى السجل:
debug
الشبكة والمنافذ
- حركة مرور العملاء:
http://localhost:2379 - حركة مرور النظراء:
http://localhost:2380 - الوصول المحلي فقط بشكل افتراضي (مرتبط بـ localhost)
إدارة Systemd
systemctl status etcd # Check status
systemctl restart etcd # Start service
systemctl stop etcd # Stop service
systemctl restart etcd # Restart service
الأوامر الأساسية
# Check etcd server version
etcd --version
# Check etcdctl client version
etcdctl version
# Check etcdutl version
etcdutl version
# Set a key
etcdctl put mykey "HelloEtcd"
# Get a key
etcdctl get mykey
# List all keys with values
etcdctl get "" --prefix
# List only key names
etcdctl get "" --prefix --keys-only
# Delete a key
etcdctl del mykey
# Check cluster health
etcdctl endpoint health
# List cluster members
etcdctl --endpoints=http://127.0.0.1:2379 member list
# Show cluster leader
etcdctl endpoint status --write-out=table
# Watch a key for changes
etcdctl watch mykey
النسخ الاحتياطي والاستعادة
نسخ احتياطي للحالة الراهنة (حفظ حالة etcd الحالية في ملف):
etcdctl snapshot save /root/etcd-backup.db
التحقق من حالة اللقطة:
etcdutl snapshot status /root/etcd-backup.db -w table
إيقاف خدمة etcd لتجنب التعارضات:
systemctl stop etcd
حذف المحتويات الموجودة في دليل البيانات:
rm -rf /var/lib/etcd/*
استعادة اللقطة:
etcdutl snapshot restore /root/etcd-backup.db --data-dir /var/lib/etcd
التأكد من صحة الصلاحيات:
chown -R etcd:etcd /var/lib/etcd
تشغيل خدمة etcd مجدداً:
systemctl start etcd
ملاحظات
- مجموعة أحادية العقدة بشكل افتراضي، مناسبة للتطوير والاختبار.
- مُهيَّأ بمستوى سجل debug.
- في بيئة الإنتاج، فعّل TLS لاتصالات العملاء والنظراء.
- يُنصح بإعداد مجموعة متعددة العقد لتحقيق التوافر العالي.
- قيّد المنفذين 2379 (للعملاء) و2380 (للنظراء) على المضيفين الموثوقين باستخدام قواعد جدار الحماية.
- عدّل
/etc/etcd/etcd.ymlللإعدادات المتقدمة وأعد تشغيلetcdالخدمة لتطبيق التغييرات. - احرص دائماً على عمل نسخ احتياطية للبيانات قبل تنفيذ العمليات التدميرية (الحذف/الاستعادة/الضغط).
- تأكد من
/var/lib/etcdمملوك لـetcd:etcd؛ الأذونات غير الصحيحة قد تمنع etcd من البدء بعد الاستعادة أو تغيير البيانات.