פריסת Amanda Network Backup לגיבוי שרתים מרכזי
מבוא: הבעיה והפתרון שלנו
אתה אחראי על שלמות נתוני הייצור? דיסק אחד שנכשל ללא גיבוי מרכזי יכול לקחת ימים לשחזור. הקמת גיבוי שרתים עם Amanda היא מה שאנחנו עושים turnkey: אנו מבטיחים בטיחות נתונים על קלטת או דיסק. עם 10+ פרויקטים המשתמשים בספריות LTO, אנו יכולים להעריך את התשתית שלך ביום אחד.
למה אנחנו משתמשים ב-Amanda
Amanda (Advanced Maryland Automatic Network Disk Archiver) הוא כלי open-source בוגר לגיבוי מרכזי. לפי תיעוד Amanda, בהשוואה ל-Bacula, הוא מוגדר פי 2–3 מהר יותר עבור תשתיות עד 20 שרתים, אינו דורש מסד נתונים נפרד, ויש לו תמיכה מובנית ב-NDMP. התכונה הייחודית שלו היא דיסק החזקה: נתונים נכתבים תחילה לדיסק מהיר, ולאחר מכן לקלטת ברקע, מה שמאפשר גיבויים מקבילים ללא חסימה.
איך אנחנו פורסים את Amanda
התהליך שלנו כולל 4 שלבים חובה:
- ביקורת תשתית ודרישות שמירה.
- התקנת תוכנה ויצירת מפתחות SSH עבור amandad.
- הגדרת קבצי תצורה ותזמון dump.
- גיבוי בדיקה ואימות שחזור באמצעות amrecover.
המחזור המלא עבור 5–10 לקוחות לוקח 2–3 ימים. לאחר כל שלב אנו מבצעים בדיקת אימות.
פרטי תצורה
כל קבצי התצורה נמצאים ב-/etc/amanda/<config-name>/. שם התצורה הוא שם תחום הגיבוי. דוגמה עבור DailySet1 עם אחסון דיסק:
# /etc/amanda/DailySet1/amanda.conf
org "Production Backup"
mailto "[email protected]"
dumpuser "amandabackup"
inparallel 4
holdingdisk hd1 {
directory "/amanda/holding"
use 50 GB
chunksize 1 GB
}
define tapetype DISK {
length 200 GB
filemark 4 KB
speed 200 MBps
}
define dumptype global {
auth "ssh"
ssh_keys "/var/lib/amanda/.ssh/id_rsa"
compress none
encrypt srv-blowfish
index yes
}
define dumptype comp-root-tar {
global
program "GNUTAR"
compress server fast
exclude list "/etc/amanda/DailySet1/exclude.list"
}
# /etc/amanda/DailySet1/disklist
app-server-01 /etc comp-root-tar
app-server-01 /var/www comp-root-tar
db-server-01 /etc comp-root-tar
db-server-01 /var/lib/pgsql global
web-server-01 /etc comp-root-tar
web-server-01 /var/www comp-root-tar
# /etc/amanda/DailySet1/changer.conf
tapedev "/amanda/vtapes/DailySet1"
tpchanger "chg-disk:/amanda/vtapes/DailySet1"
tapetype DISK
tapecycle 14לפני ההרצה, אמת את התצורה עם # /etc/amanda/DailySet1/amanda.conf org "Production Backup" mailto "[email protected]" dumpuser "amandabackup" inparallel 4 holdingdisk hd1 { directory "/amanda/holding" use 50 GB chunksize 1 GB } define tapetype DISK { length 200 GB filemark 4 KB speed 200 MBps } define dumptype global { auth "ssh" ssh_keys "/var/lib/amanda/.ssh/id_rsa" compress none encrypt srv-blowfish index yes } define dumptype comp-root-tar { global program "GNUTAR" compress server fast exclude list "/etc/amanda/DailySet1/exclude.list" } # /etc/amanda/DailySet1/disklist app-server-01 /etc comp-root-tar app-server-01 /var/www comp-root-tar db-server-01 /etc comp-root-tar db-server-01 /var/lib/pgsql global web-server-01 /etc comp-root-tar web-server-01 /var/www comp-root-tar # /etc/amanda/DailySet1/changer.conf tapedev "/amanda/vtapes/DailySet1" tpchanger "chg-disk:/amanda/vtapes/DailySet1" tapetype DISK tapecycle 14 . התחל את הגיבוי הראשון ידנית: amcheck -c DailySet1. בדוק את הסטטוס עם amdump DailySet1.
שגיאות נפוצות ופתרונות
-
ERROR: Connection refused — הדמון amandad אינו פועל על הלקוח דרך inetd/xinetd, או שהשרת אינו מורשה ב-hosts.allow. פתרון: הוסף את
amstatus DailySet1(כתובת IP של השרת) ל-amanda: a.b.c.d. -
הצפת דיסק החזקה (>80%) — Amanda תסרב להתחיל גיבוי. השתמש ב-
/etc/hosts.allowכדי לראות את השטח בשימוש, ולאחר מכן ב-amadmin DailySet1 holdingכדי לכתוב נתונים לקלטת. -
tapetype שגוי — אם קיבולת הנפח בפועל נמוכה מהמצוין, Amanda תבקש להחליף נפחים באמצע הגיבוי. השתמש ב-
amflush DailySet1כדי למדוד מהירות וגודל אמיתיים.
השוואת קלטת לעומת דיסק
| קריטריון | קלטת פיזית (LTO) | דיסק (vtape) |
|---|---|---|
| מהירות כתיבה | עד 400 MB/s | תלוי בדיסק (בדרך כלל גבוה יותר) |
| קיבולת | עד 18 TB (LTO-9) | מוגבל על ידי גודל הדיסק |
| אמינות | גבוהה, אך עם חלקים מכניים | אמינות דיסק, deduplication |
| עלות | גבוהה יותר (ספרייה, רובוט) | נמוכה יותר, ללא חלקים נעים |
ניטור גיבוי והתראות
גיבוי ללא ניטור הוא ביטחון כוזב. אנו מגדירים את Amanda לשלוח דוחות בדוא"ל ולשלב לוגים עם Prometheus או Zabbix. מדדים מרכזיים שאנו עוקבים אחריהם: סטטוס dump אחרון לכל לקוח, שימוש בדיסק החזקה, שטח פנוי על קלטת או דיסק, משך גיבוי ביחס לחלון התחזוקה.
אם דיסק ההחזקה מלא ביותר מ-85%, המערכת שולחת התראה יזומה. זה קריטי: ב-100% Amanda מסרבת להתחיל את הגיבוי הבא, ואתה מאבד יום ללא הודעה. אנו מגדירים סקריפט cron amtapetype שבודק לוגים מ-24 השעות האחרונות ושולח התראות ל-PagerDuty או Slack על שגיאות.
אנו גם בודקים שחזור רבעוני — check_amanda_health.sh על שרת בדיקה עם אימות שלמות. זו הדרך היחידה לאשר שגיבויים באמת עובדים. בהתבסס על הבדיקה, אנו מתעדים RTO (יעד זמן שחזור) עבור כל שירות קריטי. הלקוחות שלנו מקבלים דוח בדיקת שחזור — הוכחה מתועדת למבקרים ולמבטחים.
מה כלול בשירות שלנו
אנו מספקים:
- תיעוד תצורה ושחזור.
- סקריפטים לאוטומציה של תזמוני cron וניטור.
- יום אחד של הדרכה למהנדסים שלך.
- חודש אחד של תמיכה לאחר ההשקה.
ציר זמן
| היקף | ציר זמן |
|---|---|
| 5–10 לקוחות, vtapes מבוססי דיסק | 2–3 ימים |
| 20+ לקוחות + ספריית קלטות | 1–2 שבועות |
| אינטגרציה עם NDMP, נפחים מוצפנים | +3–5 ימים |
המחיר נקבע לאחר ביקורת תשתית ודרישות שמירה. צור קשר לייעוץ — אנו נעריך את הפרויקט שלך.
איך לשחזר נתונים באמצעות amrecover
amrecover DailySet1
amrecover> sethost db-server-01
amrecover> setdisk /var/lib/pgsql
amrecover> list
amrecover> add postgresql.conf
amrecover> extractהמעטפת האינטראקטיבית מאפשרת לך לבחור קבצים מהגיבוי לפי עץ ספריות.







