Техникийн заавар / VPS нөөцлөлт

VPS нөөцлөлт ба сэргээх

Энэ дасгал Ubuntu дээрх туршилтын файлуудыг архивлаж, SHA-256 хяналтын нийлбэр шалгаад өөр компьютерт хуулж, тусдаа хоосон каталогт сэргээдэг. Энэ нь бүх сервер, мэдээллийн сан эсвэл ажиллаж буй програмыг бүрэн нөөцлөх жишээ биш.

· Шалгасан: · Англи эхтэй уялдуулсан орчуулга

Агуулга

Дасгалын хүрээ болон хэрэгслээ тодорхойлох

Ubuntu дээр Bash, tar, sha256sum, OpenSSH байгаа эсэхийг шалга. Сервер ба хувийн компьютерийн терминалыг ялга; зааварт заасан REPLACE талбаруудыг зөвхөн өөрийн туршилтын орчинд соль.

Туршилтын файлуудыг бэлтгэх

Серверт бодит хэрэглэгчийн мэдээлэл агуулаагүй fixture файлууд болон идэвхгүй Nginx конфигурац үүсгэ. Эдгээр нь ажиллаж буй сайтын жинхэнэ тохиргоог өөрчлөх ёсгүй.

umask 077
backup_lab=$(mktemp -d "$HOME/ubuntu-vps-backup.XXXXXX")
mkdir -p "$backup_lab/payload/site" "$backup_lab/payload/nginx" "$backup_lab/export"
printf '%s\n' '<!doctype html><html lang="en"><title>Restore drill</title><h1>Recovered static page</h1></html>' > "$backup_lab/payload/site/index.html"
printf '%s\n' 'server {' '    listen 8080;' '    server_name example.test;' '    root /var/www/first-site;' '}' > "$backup_lab/payload/nginx/first-site.conf"
printf 'Practice directory: %s\n' "$backup_lab"
install -m 600 /var/www/first-site/index.html "$backup_lab/payload/site/index.html"
install -m 600 /etc/nginx/sites-available/first-site "$backup_lab/payload/nginx/first-site.conf"

Архив болон SHA-256 утга гаргах

Файлын checksum жагсаалт, архивын хяналтын нийлбэрийг дарааллаар үүсгэ. Архив бүрдүүлсний дараа эх өгөгдөл өөрчлөгдвөл өмнөх checksum-ийг бодит утгатай хольж болохгүй.

(
    cd "$backup_lab/payload" &&
    sha256sum site/index.html nginx/first-site.conf > SHA256SUMS
)
tar -czf "$backup_lab/export/static-site.tar.gz" -C "$backup_lab/payload" site nginx SHA256SUMS
(
    cd "$backup_lab/export" &&
    sha256sum static-site.tar.gz > static-site.tar.gz.sha256
)
tar -tzf "$backup_lab/export/static-site.tar.gz"
printf 'Server export directory: %s\n' "$backup_lab/export"

Нөөц хуулбарыг өөр компьютерт зөөх

SSH/SCP ашиглан архивыг өөр машинд хуулна. Яг үүсгэсэн файл зам, хэрэглэгч, серверийн host key-г шалга; нууц түлхүүрийг хуваалцахгүй.

umask 077
recovery_dir=$(mktemp -d "$HOME/ubuntu-vps-restore.XXXXXX")
remote_backup=/home/deploy/ubuntu-vps-backup.REPLACE/export
scp -i ~/.ssh/ubuntu_vps "deploy@203.0.113.10:$remote_backup/static-site.tar.gz" "$recovery_dir/"
scp -i ~/.ssh/ubuntu_vps "deploy@203.0.113.10:$remote_backup/static-site.tar.gz.sha256" "$recovery_dir/"

Хоосон каталогт сэргээх ба шалгах

Эхлээд архивын checksum OK гэж гарсан эсэхийг шалга. Зөвхөн итгэмжлэгдсэн архивыг шинэ хоосон каталогт задлаж, файлын checksum-уудыг дахин шалга. Системийн root каталогт шууд задлахгүй.

(
    cd "$recovery_dir" &&
    sha256sum -c static-site.tar.gz.sha256
)
tar -tzf "$recovery_dir/static-site.tar.gz"
restore_dir=$(mktemp -d "$recovery_dir/restored.XXXXXX")
tar -xzf "$recovery_dir/static-site.tar.gz" -C "$restore_dir" --keep-old-files --no-same-owner
(
    cd "$restore_dir" &&
    sha256sum -c SHA256SUMS
)
cat "$restore_dir/site/index.html"

Бүрэн сэргээхэд нэмэлтээр юу хэрэгтэй вэ?

Мэдээллийн сан, програмын файлууд, TLS сертификат, нууц тохиргоо, service тохиргоо, DNS болон dependency-үүдийг тусад нь хамгаалах шаардлагатай. Энэ дасгалын идэвхгүй Nginx файл production тохиргоо биш.

RPO, RTO болон сэргээх хугацааг хэмжих

RPO нь хүлээн зөвшөөрөх өгөгдөл алдагдлын хугацаа, RTO нь үйлчилгээг сэргээх хугацааны зорилт. Эдгээрийг тухайн системийн туршилтаар хэмжиж, backup-ийн хадгалах давтамжтай уялдуул.

Сэргээх туршилтын дүгнэлт ба мэдээллийн сантай систем

Туршилтын файлуудыг хоосон каталогт сэргээж checksum-ийг шалгасан ч энэ нь бүх үйлчилгээ сэргэсэн гэсэн баталгаа биш. Мэдээллийн сантай бол consistent backup, програмын төлөв, хэрэглэгчийн файлууд, үйлчилгээний хамаарал болон тусдаа сэргээх туршилт шаардлагатай. RPO ба RTO зорилтоо бодитоор хэмжиж, сэргээх зааврыг хадгал.

Түгээмэл асуулт

Энэ нь бүх VPS-ийн backup мөн үү?

Үгүй. Туршилтын файлуудыг бие даан хуулах, сэргээх зөвхөн нэг дасгал.

Checksum шалгахад л хангалттай юу?

Үгүй. Файл өөрчлөгдсөнийг илрүүлдэг ч сэргээсэн програм ажиллах эсэх, бүх өгөгдөл бүрэн эсэхийг батлахгүй.

Эх сурвалж ба баталгаажуулалт

Техникийн алхмууд болон командуудыг англи эх хувилбартай тулгана. Үйлчилгээ үзүүлэгчийн нөхцөл өөрчлөгдөж болох тул үйлдэхээсээ өмнө шинэ мэдээллийг шалга.

Холбогдох зааврууд