Amanda Enterprise'ı kullanarak PostgreSQL'i yedekleme

Amanda Enterprise'ı kullanarak PostgreSQL'i yedekleme

PostgreSQL'in aşağıdaki sürümlerinden biri olmalıdır:

  • PostgreSQL8.x, 9.x
  • PostgreSQL Artı 8.3

PostgreSQL çalıştıran istemcinin GNU tar 1.23 veya sonraki sürümüne sahip olması gerekir.
 

Amanda Enterprise Server için Değişiklikler
 

Yedekleme geçici dizini ve durum dizini Amanda varsayılan değerlerinden farklıysa, /etc/zmanda/zmc/zmc_aee/zmc_user_dumptypes aşağıdaki satırları eklemek için app_ampgsql_user:

  • property "TMPDIR" "Path_to_temp_dir"
  • property "STATEDIR" "Path_to_state_dir"

PostgreSQL sunucusunu çalıştıran Amanda İstemcisi için değişiklikler
 

Önden yazma günlüğünüz için bir dizin oluşturun ve amandabackup'ın okuyup / yazabildiğinden emin olun:

# mkdir /var/lib/amanda/postgres
# chown amandabackup:post
gres /var/lib/amanda/postgres
 

PostgreSQL yapılandırma dosyasını düzenleyin ($ pgdatadir / postgres.conf).
 

archive_mode = on
archive_command = 'cp %p /var/lib/amanda/postgres/%f'
wal_level = archive # only required on Postgres 9.x or greater, acceptable options being archive or hot_standby

 

Düzenle amanda-client.conf konfigürasyon dosyası, bu ikisinden biri olabilir /etc/amanda/backup_set_name/amanda-client.conf (backup_set_name dizini oluşturmanız gerekebilir) veya global olarak şurada: /etc/amanda/amanda-client.conf. Aşağıdaki ayarların açıklaması.
 

property "PG-DATADIR" "Path_to_PSQL_Data_Dir"
property "PSQL-PATH" "Path_to_PSQL_Binary"
property "PG-ARCHIVEDIR" "Path_to_PSQL_Archive_Dir"
property "PG-CLEANUPWAL" "Whether_to_clean_up_WAL_Yes_or_No"
property "PG-USER" "PostgreSQL_username"
property "PG-PASSWORD" "PSQL_Password"
property "PG-HOST" "hostname_or_directory_of_socket_file"
property "PG-PORT" "TCP_port_to_connect_to. Default: 5432"
property "PG-DB" "Database_name"

 

Bir sunucuda birden fazla PostgreSQL örneği için parametreler belirtmek için, özellik adına yedekleme dizinine karşılık gelen bir önek ekleyin. Örneğin:
 

property "PG-USER" "amandabackup"
dönüşür:
property "/path/to/data/dir-PG-USER" "amandabackup"
 

Path_to_PSQL_Data_Dir
PostgreSQL veri dizininin yolu.
 

Path_to_PSQL_Archive_Dir
WAL segmentlerinin yedekleme sırasında PostgreSQL sunucusu tarafından önbelleğe alınacağı ve ardından Zmanda Postgres ajanı tarafından arşivleneceği yer. Bu, PostgreSQL sunucusunun pg_xlog dizinine ayarlanmamalıdır! Archive komutunun tam yedekleme çalışmaları arasında depolanacak dosyaları kopyalayacağı PostgreSQL veri dizininin dışında bir yol belirtin. PostgeSQL kullanıcısı bu dizinde okuma, yazma ve yürütme yetkilerine sahip olmalıdır. Zmanda, amandabackup kullanıcısını Postgres grubuna eklemek gibi tüm kullanıcılara erişim vermek yerine, izinleri yönetmek için sistem gruplarının kullanılmasını önerir. Belirtilen yol, PostgreSQL yapılandırma dosyasındaki archive_command hedef dizini olmalıdır.
 

hostname_or_directory_of_socket_file
Ana bilgisayar adını (uygunsa localhost) veya bir soket dosyasının bulunduğu dizini belirtin. / İle başlayan girişler bir soket dosyası dizini olarak yorumlanır (sadece / tmp, /tmp/.s.PGSQL.5432 değil, örneğin, dizin). Bir dizin kullanılıyorsa, PostgreSQL sunucusu ve Amanda yedekleme sunucusu aynı makinede bulunmalıdır.
 

Path_to_PSQL_Binary
PostgreSQL psql ikili çalıştırılabilir dosyasının yolu.
 

PostgreSQL_username
Süper kullanıcı ayrıcalıklarına sahip olması gereken, bağlanacak PostgreSQL veritabanı kullanıcısı.
 

PSQL_Password
PostgreSQL şifresi.
 

Whether_to_clean_up_WAL
Tam yedeklemeler sırasında eski WAL segment dosyalarının kaldırılıp kaldırılmayacağı. Tam yedekleme tamamlandıktan sonra WAL arşiv dosyaları PG_ARCHIVEDIR konumundan kaldırılır. Varsayılan evettir.
 

Database_name
Bağlanılacak veritabanı. PG-USER, bu veritabanına erişmek için kimlik bilgilerine sahip olmalıdır. Varsayılan değer, varsayılan PostgreSQL kurulumlarında bulunan "şablon1" dir.
* Bu yedeklenecek veritabanı değildir. İçindeki tüm veritabanları postgres sunucu yedeklendi.
 

SUPERUSER ayrıcalıklarına ve PG-PASSWORD ile eşleşen bir parola ile amandabackup adlı bir LOGIN PostgreSQL rolü oluşturun. Örneğin, aşağıdaki komut, bir süper kullanıcı olarak PostgreSQL veritabanında çalıştırılabilir:
 

CREATE ROLE amandabackup WITH SUPERUSER LOGIN PASSWORD 'password';
 

Amanda Enterprise Server'ın PostgreSQL sunucusuna erişimine izin vermek için pg_hba.conf dosyasını değiştirin Bir amandabackup kullanıcısının 10.0.0.x'teki herhangi bir IP'den bağlanmasına izin veren bir örnek aşağıdaki gibi olacaktır:
 

TYPEDATABASEUSERCIDR-ADDRESSMETHOD
Hostallamandabackup10.0.0.0/25md5

Daha fazla bilgi için lütfen bakınızhttp://docs.zmanda.com/Project:Amanda_Enterprise_3.3/Zmanda_App_modules/PostgreSQL