۱. مقدمه
در این codelab، بااستفاده از هماهنگکننده RPM، از خوشه دسترسپذیری بالا (HA) در فضای ذخیرهسازی سازگار با S3 برای AlloyDB Omni پشتیبانگیری میکنید.
این codelab از خوشه codelab Deploy AlloyDB Omni high availability cluster on GCE VMs using RPM Orchestrator برای ایجاد خوشه HA در ماشینهای مجازی Compute Engine استفاده میکند. در این codelab، سرور فضای ذخیرهسازی شیء سازگار با S3 را به یکی از ماشینهای مجازی اضافه میکنید. از سرور فضای ذخیرهسازی شیء برای خوشه HA استفاده میکنید تا دادهها را در آن پشتیبانگیری کنید و خوشه را از سرور بازیابی کنید.

پیشنیازها
- پروژه Google Cloud با صورتحساب فعال.
- نقشهای IAM که codelab HA فهرست میکند.
- آشنایی اولیه با فرمانهای Linux و SQL.
آنچه خواهید آموخت
- نحوه نصب و اجرای سرور ذخیرهسازی شیء سازگار با S3 برای پشتیبانگیری.
- نحوه ایجاد طرح پشتیبان که پشتیبانگیریها را در فضای ذخیرهسازی سازگار با S3 مینویسد.
- نحوه ایجاد پشتیبانگیری درخواستی.
- نحوه بازیابی خوشه از نسخه پشتیبان و تا یک نقطه زمانی.
آنچه نیاز خواهید داشت
- نشانیهای وب مخازن نرمافزار AlloyDB Omni و مجموعه هماهنگکننده Ansible. برای دریافت نشانیهای وب، فرم ثبتنام AlloyDB Omni را تکمیل کنید. برای اطلاعات بیشتر، نمای کلی AlloyDB Omni بااستفاده از RPM را ببینید. از نشانیهای وب در کدآزمای HA استفاده میکنید.
- خوشه AlloyDB Omni HA از codelab استقرار خوشه AlloyDB Omni با دردسترس بودن بالا در ماشینهای مجازی GCE بااستفاده از RPM Orchestrator.
- ترمینالی با دسترسی به Google Cloud و Cloud Shell.
۲. راهاندازی و الزامات
- در این مرحله، بااستفاده از codelab استقرار خوشه با دسترسپذیری بالا AlloyDB Omni در ماشینهای مجازی GCE بااستفاده از RPM Orchestrator، خوشه با دسترسپذیری بالا ایجاد میکنید. مراحل زیر را تکمیل کنید. اگر ازقبل خوشهای از کدآزمایی دارید، به مرحله بعدی بروید.
- توجه: در این مرحله، گام «پاکسازی منابع» را اجرا نکنید. این مرحله را در پایان این codelab انجام خواهید داد.
- برگشتن به این codelab
۳. به خوشه متصل شوید و دادههای نمونه اضافه کنید
در این مرحله، تنظیمات خوشه را در ماشین مجازی کنترل بار میکنید. سپس به خوشه متصل میشوید و جدولی با دادههای نمونه اضافه میکنید.
- اگر به ماشین مجازی کنترل متصل نیستید، از Cloud Shell به آن متصل شوید:
متغیرهایgcloud compute ssh "$CLUSTER-control" --zone="$ZONE" --project="$PROJECT"CLUSTER،ZONE، وPROJECTاز مرحله آمادهسازی ماشینهای مجازی برای استقرار در آزمایش استقرار خوشه با دردسترس بودن بالای AlloyDB Omni در ماشینهای مجازی GCE بااستفاده از RPM Orchestrator میآیند. اگر Cloud Shell این متغیرها را ندارد، آنها را دوباره تنظیم کنید. - در ماشین مجازی کنترل، به دایرکتوری خانه خود بروید و متغیرهای محیط را بار کنید. سپس نام خوشه و کاربر SSH را به فایل محیط اضافه کنید:
تأیید کنید که بروندادcd ~ source /tmp/cluster.conf cat >> ~/.codelab.env <<EOF export CLUSTER="$cluster" export SSH_USER="$service_account" EOF source ~/.codelab.env env | grep -E '^(CLUSTER|SSH_USER|VIRTUAL_IP)='CLUSTER،SSH_USER، وVIRTUAL_IPرا نشان میدهد. توجه: اگر بعداً دوباره به ماشین مجازی کنترل متصل شدید، قبلاز ادامه دادن،cd ~وsource ~/.codelab.envرا اجرا کنید. - تنظیمات اتصال را به فایل محیط اضافه کنید. وقتی فرمان
readگذرواژه را درخواست کرد، گذرواژه کاربرpostgresرا وارد کنید. این گذرواژه را در مرحله راهاندازی خوشه AlloyDB Omni در codelab استقرار خوشه با دردسترس بودن بالای AlloyDB Omni در ماشینهای مجازی GCE بااستفاده از RPM Orchestrator تنظیم میکنیدcat >> ~/.codelab.env <<'EOF' export PATH="/usr/pgsql-18/bin:$PATH" export PGHOST="$VIRTUAL_IP" export PGUSER="postgres" EOF read -rsp "Password of the postgres user: " PGPASSWORD; echo printf 'export PGPASSWORD=%q\n' "$PGPASSWORD" >> ~/.codelab.env source ~/.codelab.env env | grep -E '^(PGHOST|PGUSER|PGPASSWORD)=' - جدولی ایجاد کنید و ۱٬۰۰۰ ردیف اضافه کنید:
psql <<'SQL' CREATE TABLE public.orders ( id integer PRIMARY KEY, item text NOT NULL, created_at timestamptz NOT NULL DEFAULT pg_catalog.now() ); INSERT INTO public.orders (id, item) SELECT g, 'item-' || g FROM pg_catalog.generate_series(1, 1000) AS g; SQL - تعداد ردیفها:
تأیید کنید که بروندادpsql -c "SELECT pg_catalog.count(*) FROM public.orders;"1000را برمیگرداند.
۴. نصب و اجرای فضای ذخیرهسازی شیء سازگار با S3
در این مرحله، کتابچه Ansible مینویسید که سرور MinIO را در ماشین مجازی کنترل نصب میکند. این کتابچه راهنما همچنین مخزن و کاربر را برای پشتیبانگیریها ایجاد میکند و مطمئن میشود که ماشینهای مجازی پایگاه داده میتوانند به MinIO متصل شوند. همه فرمانهای این مرحله را در ماشین مجازی کنترل اجرا کنید.
- در ماشین مجازی کنترل، تنظیمات فضای ذخیرهسازی را به فایل محیط اضافه کنید. فرمانهای
opensslگذرواژههای تصادفی ایجاد میکنند. مطمئن شوید که برونداد نام و نشانی IP داخلی ماشین مجازی کنترل را نشان دهد، برای مثالMD=http://metadata.google.internal/computeMetadata/v1/instance S3_IP=$(curl -s -H "Metadata-Flavor: Google" "$MD/network-interfaces/0/ip") cat >> ~/.codelab.env <<EOF export S3_IP="$S3_IP" export S3_HOST="$CLUSTER-control" export S3_BUCKET="alloydb-backups" export S3_REGION="us-east-1" export MINIO_ROOT_USER="s3admin" export MINIO_ROOT_PASSWORD="$(openssl rand -hex 16)" export S3_ACCESS_KEY_ID="alloydb-backup" export S3_SECRET_ACCESS_KEY="$(openssl rand -hex 16)" export MINIO_URL="https://github.com/minio/minio/releases/download/RELEASE.2024-05-10T01-41-38Z/minio.linux-amd64.RELEASE.2024-05-10T01-41-38Z" export MC_URL="https://github.com/minio/mc/releases/download/RELEASE.2024-05-09T17-04-24Z/mc.linux-amd64.RELEASE.2024-05-09T17-04-24Z" EOF source ~/.codelab.env echo "$S3_HOST $S3_IP"my-cluster-control 10.1.0.2. ماشینهای مجازی پایگاه داده از این نام میزبان و نشانی IP برای اتصال به MinIO استفاده میکنند. نشانی IP را سرور فراداده ماشین مجازی ارائه میدهد. برای اطلاعات بیشتر، مستندات فراداده ماشین مجازی را ببینید.مقادیرMINIO_URLوMC_URLنشانیهای وب بارگیری سرور MinIO و کارخواه MinIO (mc) هستند. - مجموعه Ansible
community.cryptoموردنیاز را در ماشین مجازی کنترل نصب کنید:ansible-galaxy collection install community.crypto - ساختن کتابچه راهنمای
s3_server.yaml: متغیرcat > s3_server.yaml <<EOF - name: Install and run MinIO on the control VM hosts: localhost connection: local become: true gather_facts: false tasks: - name: Create MinIO directories ansible.builtin.file: path: "{{ item }}" state: directory mode: "0755" loop: - /var/lib/minio/data - /var/lib/minio/certs - name: Download MinIO server and client ansible.builtin.get_url: url: "{{ item.url }}" dest: "{{ item.dest }}" mode: "0755" loop: - url: "$MINIO_URL" dest: /usr/local/bin/minio - url: "$MC_URL" dest: /usr/local/bin/mc - name: Generate MinIO TLS private key community.crypto.openssl_privatekey: path: /var/lib/minio/certs/private.key size: 2048 mode: "0600" - name: Generate MinIO certificate signing request community.crypto.openssl_csr_pipe: privatekey_path: /var/lib/minio/certs/private.key common_name: "$S3_HOST" subject_alt_name: - "DNS:$S3_HOST" - "DNS:$S3_BUCKET.$S3_HOST" - "DNS:localhost" - "IP:127.0.0.1" - "IP:$S3_IP" register: minio_csr - name: Generate self-signed MinIO TLS certificate community.crypto.x509_certificate: path: /var/lib/minio/certs/public.crt csr_content: "{{ minio_csr.csr }}" privatekey_path: /var/lib/minio/certs/private.key provider: selfsigned selfsigned_not_after: "+365d" mode: "0644" - name: Create MinIO systemd service unit ansible.builtin.copy: dest: /etc/systemd/system/minio.service mode: "0600" content: | [Unit] Description=MinIO Object Storage After=network.target [Service] Environment="MINIO_ROOT_USER=$MINIO_ROOT_USER" Environment="MINIO_ROOT_PASSWORD=$MINIO_ROOT_PASSWORD" Environment="MINIO_DOMAIN=$S3_HOST" ExecStart=/usr/local/bin/minio server /var/lib/minio/data --certs-dir /var/lib/minio/certs Restart=on-failure [Install] WantedBy=multi-user.target - name: Start and enable MinIO service ansible.builtin.systemd_service: name: minio daemon_reload: true state: started enabled: true - name: Add storage host names to /etc/hosts on the control VM ansible.builtin.lineinfile: path: /etc/hosts line: "$S3_IP $S3_HOST $S3_BUCKET.$S3_HOST" state: present - name: Wait for MinIO health endpoint ansible.builtin.uri: url: "https://$S3_HOST:9000/minio/health/live" ca_path: /var/lib/minio/certs/public.crt status_code: 200 register: minio_health until: minio_health.status == 200 retries: 6 delay: 5 - name: Create backup bucket and user in MinIO ansible.builtin.command: argv: "{{ item }}" loop: - - /usr/local/bin/mc - --insecure - alias - set - s3repo - "https://$S3_HOST:9000" - "$MINIO_ROOT_USER" - "$MINIO_ROOT_PASSWORD" - - /usr/local/bin/mc - --insecure - mb - --ignore-existing - "s3repo/$S3_BUCKET" - - /usr/local/bin/mc - --insecure - admin - user - add - s3repo - "$S3_ACCESS_KEY_ID" - "$S3_SECRET_ACCESS_KEY" - - /usr/local/bin/mc - --insecure - admin - policy - attach - s3repo - readwrite - --user - "$S3_ACCESS_KEY_ID" become: false no_log: true - name: Configure database VMs for MinIO hosts: primary_instance_nodes become: true gather_facts: false vars: ansible_user: $SSH_USER ansible_ssh_private_key_file: $HOME/ssh-key-cluster-sa tasks: - name: Set SELinux to permissive mode ansible.builtin.command: cmd: setenforce 0 - name: Add storage host names to /etc/hosts ansible.builtin.lineinfile: path: /etc/hosts line: "$S3_IP $S3_HOST $S3_BUCKET.$S3_HOST" state: present - name: Verify storage host resolution ansible.builtin.getent: database: hosts key: "$S3_BUCKET.$S3_HOST" - name: Verify connection to MinIO ansible.builtin.uri: url: "https://$S3_HOST:9000/minio/health/live" validate_certs: false status_code: 200 EOFMINIO_DOMAINبه MinIO اجازه میدهد درخواستهای سبک میزبان مجازی را بپذیرد. هماهنگکننده RPM از کاربرalloydb-backupبرای نوشتن نسخههای پشتیبان استفاده میکند. خطمشیreadwriteخطمشی داخلی MinIO است. - اجرای دفترچه:
تأیید کنید که بروندادansible-playbook s3_server.yaml -i deployment_spec.yamlPLAY RECAPمقدارfailed=0را برایlocalhostو برای هر ماشین مجازی پایگاه داده نشان میدهد. - تأیید کنید که این انبار وجود دارد:
تأیید کنید که برونداد سطلmc --insecure ls s3repoalloydb-backups/را نشان میدهد.
۵. ایجاد طرح پشتیبان
طرح پشتیبان شامل مکان ذخیرهسازی، زمانبندی، و دوره نگهداری برای پشتیبانگیریهای خوشه است. در این مرحله، طرح پشتیبانی برای مخزن MinIO ایجاد میکنید.
- در ماشین مجازی کنترل، دفترچه راهنمای پشتیبانگیری و دفترچه راهنمای وضعیت را ایجاد کنید. از کتابچه راهنمای پشتیبانگیری برای منابع
Secret،BackupPlan، وBackupاستفاده میکنید. از کتابچه وضعیت برای نمایش وضعیت منبع استفاده میکنید.cat > backup.yaml <<EOF - name: Manage AlloyDB Omni backups hosts: localhost roles: - role: google.alloydbomni_orchestrator.backup EOF cat > status.yaml <<EOF - name: Get resource status hosts: localhost roles: - role: google.alloydbomni_orchestrator.status EOF - منبع
Secretرا برای اطلاعات اعتباری S3 ایجاد کنید. سپس منبع را اعمال کنید: نامهای کلید در بخشS3_KEY_ID_B64=$(printf '%s' "$S3_ACCESS_KEY_ID" | base64 -w 0) S3_KEY_B64=$(printf '%s' "$S3_SECRET_ACCESS_KEY" | base64 -w 0) cat > s3_secret.yaml <<EOF Secret: metadata: name: s3-backup-secret spec: type: Opaque data: access-key-id: "$S3_KEY_ID_B64" access-key: "$S3_KEY_B64" EOF ansible-playbook backup.yaml -i deployment_spec.yaml \ -e resource_spec=s3_secret.yamldataبایدaccess-key-idوaccess-keyباشد. باید منبعSecretرا قبلاز منبعBackupPlanاعمال کنید. - منبع
BackupPlanرا ایجاد کنید و سپس منبع را اعمال کنید: مقدارcat > backup_plan.yaml <<EOF BackupPlan: metadata: name: s3-backup-plan spec: dbclusterRef: $CLUSTER backupLocation: type: S3 s3Options: bucket: $S3_BUCKET key: /backups endpoint: https://$S3_HOST:9000 region: $S3_REGION secretRef: name: s3-backup-secret caBundle: - | $(sed 's/^/ /' /var/lib/minio/certs/public.crt) EOF ansible-playbook backup.yaml -i deployment_spec.yaml \ -e resource_spec=backup_plan.yamlkeyمسیر پشتیبانگیریها در دستهبندی است. این مسیر باید با خط مورب (/) شروع شود. فیلدcaBundleحاوی گواهینامه CA با کد PEM است که گواهینامه سرور ذخیرهسازی S3 را اعتبارسنجی میکند. - تأیید کنید که طرح پشتیبانگیری آماده است:
تأیید کنید که فیلدansible-playbook status.yaml -i deployment_spec.yaml \ -e resource_type=BackupPlan -e resource_name=s3-backup-planphaseReadyرا نشان میدهد. اگر فازReadyنیست، یک دقیقه صبر کنید و فرمان را دوباره اجرا کنید. - وقتی طرح پشتیبان ایجاد میشود، هماهنگکننده RPM بهطور خودکار پشتیبانگیری کامل اولیه را شروع میکند. قبلاز ایجاد پشتیبانگیری درخواستی، مطمئن شوید که این پشتیبانگیری اولیه تکمیل شده است:
تأیید کنید که مرحله پشتیبانگیری اولیه موفقیتآمیز باشد.ansible-playbook status.yaml -i deployment_spec.yaml \ -e resource_type=Backup
۶. ایجاد پشتیبانگیری درخواستی
در این مرحله، از خوشه نسخه پشتیبان درخواستی ایجاد میکنید.
- در ماشین مجازی کنترل، منبع
Backupرا ایجاد کنید. سپس منبع را اعمال کنید: فیلدcat > create_backup.yaml <<EOF Backup: metadata: name: s3-backup-1 spec: backupPlanRef: s3-backup-plan dbclusterRef: $CLUSTER EOF ansible-playbook backup.yaml -i deployment_spec.yaml \ -e resource_spec=create_backup.yamlbackupPlanRefنام طرح پشتیبان است. فیلدdbclusterRefنام خوشه است. - تأیید کنید که پشتیبانگیری کامل شده است:
تأیید کنید که فیلدansible-playbook status.yaml -i deployment_spec.yaml \ -e resource_type=Backup -e resource_name=s3-backup-1phaseSucceededرا نشان میدهد. اگر فازSucceededنیست، یک دقیقه صبر کنید و فرمان را دوباره اجرا کنید. - تأیید کنید که فایلهای پشتیبان در این مخزن قرار دارند:
تأیید کنید که برونداد پوشهmc --insecure tree "s3repo/$S3_BUCKET"backupرا نشان میدهد که حاوی پوشهdbاست.
۷. بازیابی کردن دسته از نسخه پشتیبان
هماهنگکننده RPM خوشهای را در محل بازیابی میکند. در این مرحله، جدولی را حذف میکنید و آن را از نسخه پشتیبان بازیابی میکنید. سپس میتوانید خوشهبندی را بهصورت اختیاری به نقطه زمانی بازگردانید.
احتیاط: عملیات بازیابی همه دادههای موجود در خوشه پایگاه داده را رونویسی میکند.
بازیابی از نسخه پشتیبان
- در ماشین مجازی کنترل، جدول
ordersرا حذف کنید. سپس ردیفها را بشمارید: تأیید کنید که فرمان دوم با خطا ناموفق است. پیام خطا نشان میدهد که رابطه وجود ندارد. برای مثال، «ERROR: table "orders" does not exist» (خطا: جدول «سفارشها» وجود ندارد)psql -c "DROP TABLE public.orders;" psql -c "SELECT pg_catalog.count(*) FROM public.orders;" - ایجاد کتابچه بازیابی:
cat > restore.yaml <<EOF - name: Restore AlloyDB Omni cluster hosts: localhost roles: - role: google.alloydbomni_orchestrator.restore EOF - منبع
Restoreرا برای پشتیبانگیریs3-backup-1ایجاد کنید. سپس منبع را اعمال کنید:cat > restore_backup.yaml <<EOF Restore: metadata: name: s3-restore-1 spec: sourceDBCluster: $CLUSTER backup: s3-backup-1 EOF ansible-playbook restore.yaml -i deployment_spec.yaml \ -e resource_spec=restore_backup.yaml - تأیید کنید که عملیات بازیابی کامل شده است:
تأیید کنید که فیلدansible-playbook status.yaml -i deployment_spec.yaml \ -e resource_type=Restore -e resource_name=s3-restore-1phaseProvisionSucceededرا نشان میدهد. اگر فازProvisionSucceededنیست، یک دقیقه صبر کنید و فرمان را دوباره اجرا کنید. - تعداد ردیفهای جدول بازیابیشده را بشمارید:
تأیید کنید که بروندادpsql -c "SELECT pg_catalog.count(*) FROM public.orders;"1000را نشان میدهد.
(اختیاری) بازیابی کردن تا یک نقطه زمانی
بازیابی لحظهای از پشتیبانگیری و گزارش بایگانیشده پیشاز نوشتن (WAL) استفاده میکند. میتوانید خوشهها را در هر زمانی در بازه بازیابی طرح پشتیبانگیری بازیابی کنید.
قوانین زمان هدف
برای انتخاب مقدار و قالب زمان هدف، باید از همه قوانین پیروی کنید:
- از قالب RFC 3339 در UTC استفاده کنید:
YYYY-MM-DDThh:mm:ssZ. برای مثال،2026-06-19T14:30:00Zبرابر با ۱۴:۳۰:۰۰ به وقت ساعت هماهنگ جهانی در ۱۹ ژوئن ۲۰۲۶ است. حرفTتاریخ و زمان را از هم جدا میکند. حرفZساعت هماهنگ جهانی را نشان میدهد. - از زمان در گذشته استفاده کنید.
- از زمان پساز مقدار
beginفیلدrecoveryWindowدر CRDBackupPlanاستفاده کنید.
برای نمایش زمان کنونی در قالب RFC 3339، این فرمان را اجرا کنید:
date -u +%Y-%m-%dT%H:%M:%SZ
برای تغییر زمان محلی به این قالب، انحراف زمان محلی از «ساعت هماهنگ جهانی» را به فرمان date اضافه کنید. برای مثال، فرمان زیر 16:30:00 را در 19 June 2026 در ساعت UTC+02:00 تغییر میدهد:
date -u -d "2026-06-19 16:30:00 +0200" +%Y-%m-%dT%H:%M:%SZ
فرمان 2026-06-19T14:30:00Z را برمیگرداند.
بازیابی کردن تا زمان ضبطشده
در این روش، ردیفهایی به جدول اضافه میکنید و زمان را ثبت میکنید. وقتی زمانی را ضبط میکنید، لحظه دقیقی را که پایگاه داده کاملاً سالم است (دقیقاً ۱۵۰۰ ردیف دارد) نشانکگذاری میکنید. سپس ردیفها را حذف میکنید و خوشهای را به زمان ضبطشده بازیابی میکنید.
- ۵۰۰ ردیف به جدول اضافه کنید:
psql <<'SQL' INSERT INTO public.orders (id, item) SELECT g, 'item-' || g FROM pg_catalog.generate_series(1001, 1500) AS g; SQL - زمان را ضبط کنید. درحالحاضر جدول ۱۵۰۰ ردیف دارد.
تأیید کنید که برونداد زمان را در قالبsleep 5 PITR_TIME=$(date -u +%Y-%m-%dT%H:%M:%SZ) echo "export PITR_TIME=$PITR_TIME" >> ~/.codelab.env echo "$PITR_TIME" sleep 5YYYY-MM-DDThh:mm:ssZنشان میدهد، برای مثال2026-10-05T11:16:02Z. - ردیفها را از جدول حذف کنید تا حذف تصادفی دادهها شبیهسازی شود. سپس فایل WAL جدیدی را شروع کنید:
تأیید کنید که پرسمانpsql -c "DELETE FROM public.orders WHERE id > 1000;" psql -c "SELECT pg_catalog.count(*) FROM public.orders;" psql -c "SELECT pg_catalog.pg_switch_wal();"count1000را نشان میدهد. تابعpg_switch_walباعث میشود سرور فایل WAL جدیدی را شروع کند. سپس سرور میتواند فایل WAL حاوی تغییرات شما را بایگانی کند. - تأیید کنید که پنجره بازیابی طرح پشتیبانگیری حاوی زمان ضبطشده است:
تأیید کنید که مقدارtest -n "$PITR_TIME" || { echo "PITR_TIME is not set. Run step 2 again."; exit 1; } echo "$PITR_TIME" ansible-playbook status.yaml -i deployment_spec.yaml \ -e resource_type=BackupPlan -e resource_name=s3-backup-planPITR_TIMEبعداز مقدارbeginفیلدrecoveryWindowباشد. - منبع
Restoreبرای زمان ضبطشده ایجاد کنید. سپس منبع را اعمال کنید:cat > restore_pitr.yaml <<EOF Restore: metadata: name: s3-restore-pitr spec: sourceDBCluster: $CLUSTER pointInTime: "$PITR_TIME" EOF ansible-playbook restore.yaml -i deployment_spec.yaml \ -e resource_spec=restore_pitr.yaml - تأیید کنید که عملیات بازیابی کامل شده است:
تأیید کنید که فیلدansible-playbook status.yaml -i deployment_spec.yaml \ -e resource_type=Restore -e resource_name=s3-restore-pitrphaseProvisionSucceededرا نشان میدهد. اگر فازProvisionSucceededنیست، یک دقیقه صبر کنید و فرمان را دوباره اجرا کنید. - تعداد ردیفها:
تأیید کنید که بروندادpsql -c "SELECT pg_catalog.count(*) FROM public.orders;"1500را نشان میدهد.
۸. پاکسازی
برای جلوگیری از کسر هزینه از حساب Google Cloud خود، منابع این codelab و codelab استقرار خوشه با دردسترس بودن بالای AlloyDB Omni در ماشینهای مجازی GCE بااستفاده از RPM Orchestrator را حذف کنید. ابتدا منابع پشتیبان را حذف کنید، سپس خوشهای و محیط محاسباتی را حذف کنید.
- در ماشین مجازی کنترل، کتابچه نمایشی حذف را ایجاد کنید:
cat > delete.yaml <<EOF - name: Delete AlloyDB Omni resources hosts: localhost roles: - role: google.alloydbomni_orchestrator.delete EOF - فهرست کردن نسخههای پشتیبان:
تأیید کنید که برونداد پشتیبانگیریansible-playbook status.yaml -i deployment_spec.yaml -e resource_type=Backups3-backup-1را نشان میدهد. - حذف نسخه پشتیبان
s3-backup-1:ansible-playbook delete.yaml -i deployment_spec.yaml \ -e resource_type=Backup -e resource_name=s3-backup-1 - حذف طرح پشتیبان:
ansible-playbook delete.yaml -i deployment_spec.yaml \ -e resource_type=BackupPlan -e resource_name=s3-backup-plan - خوشه و محیط محاسباتی را بااستفاده از مرحله پاکسازی منابع از codelab استقرار خوشه با دردسترس بودن بالای AlloyDB Omni در ماشینهای مجازی GCE بااستفاده از RPM Orchestrator حذف کنید. سرور MinIO و نسخههای پشتیبان موجود در آن در ماشین مجازی کنترل قرار دارند. وقتی محیط محاسباتی را حذف میکنید، هم سرور و هم پشتیبانگیریها را حذف میکنید.
۹. تبریک میگوییم
تبریک میگوییم. بااستفاده از هماهنگکننده RPM، خوشه با دردسترس بودن بالا (HA) را در فضای ذخیرهسازی شیء سازگار با S3 برای AlloyDB Omni پشتیبانگیری کردید. سپس خوشهبندی را از نسخههای پشتیبان بازیابی کردید.
آنچه پوشش دادهایم
- نحوه نصب و اجرای MinIO بهعنوان فضای ذخیرهسازی شیء سازگار با S3.
- نحوه ایجاد طرح پشتیبانگیری و پشتیبانگیری درصورت نیاز.
- نحوه بازیابی خوشه از نسخه پشتیبان و تا یک نقطه زمانی.
برای اطلاعات بیشتر، صفحههای زیر را ببینید: