Grundlagen der PostgreSQL Administration. Timo Pagel



Ähnliche Dokumente
Grundlagen der PostgreSQL Administration

MySQL Administration. Seminarunterlage. Version 3.02 vom

PostgreSQL Administration

Wiederherstellen der Beispieldatenbanken zum Buch Microsoft Project 2010

Replikation mit PostgreSQL 9.0

Backup und Datensicherung von Plone-Systemen. Vortragender: Christian Becker

Datensicherheit und Hochverfügbarkeit

Datenbanken: Backup und Recovery

So funktioniert die NetWorker 7.5 Eigenschaft zum Sichern umbenannter Verzeichnisse ( Backup renamed Directories )

PostgreSQL Wartungsstrategien

Inhaltsverzeichnis. Lutz Fröhlich. PostgreSQL 9. Praxisbuch für Administratoren und Entwickler. ISBN (Buch):

Backup und Archivierung

Datenverzeichnis backupen MySQLdump Replication. MySQL 4, 5. Kapitel 12: Backup. Marcel Noe

Betreuung und Unterstützung PostgreSQL Sicherung im Batch

Options- und Freitext-Modul Update-Anleitung

... Kontrolldatei administrieren

Oracle Backup und Recovery

PostgreSQL in großen Installationen

Preis- und Leistungsverzeichnis der Host Europe GmbH. Backup Pro 2.0 V 2.0. Stand:

Übung - Datensicherung und Wiederherstellung in Windows Vista

Prozessarchitektur einer Oracle-Instanz

Planung & Aufbau eines Datensicherungssystems

NAS 259 Ihre Daten mit Remote Sync (Rsync) schützen

Inhaltsverzeichnis. Geleitwort der Fachgutachterin Vorwort Einführung Architektur eines Oracle-Datenbanksystems...


TService für Zeiterfassung und Zutrittskontrolle

DATENSICHERUNG / BACKUP. Backupstrategien

Deduplizierung mit Bacula Base Jobs Bacula Base Jobs

Replikation mit PostgreSQL 9.2

ISiBackup. Daniel Lutz

IT-Symposium /20/2004. Ralf Durben. Business Unit Datenbank. ORACLE Deutschland GmbH. 1

Quickstep Server Update

Oracle Backup und Recovery mit RMAN

DB Restore mit SQL Server7

Backup der Progress Datenbank

OP-LOG

Oracle Datenbank - Recovery

THEMA: SAS ADMINISTRATION LEICHT GEMACHT MIT SAS 9.4 ALLE SYSTEME IM BLICK" ANKE FLEISCHER

EINRICHTEN EINER BMD NTCS SICHERUNG MIT SQL 2012

Umbenennen eines NetWorker 7.x Servers (UNIX/ Linux)

Inkrementelle, verschlüsselte Backups mit duplicity und duplicity-backup.sh. Chris Fiege 13. Juni 2015

peer-to-peer Dateisystem Synchronisation

"Backup and Restore" unter Linux

WORKSHOP VEEAM ENDPOINT BACKUP FREE

Verwendung des IDS Backup Systems unter Windows 2000

Information zum SQL Server: Installieren und deinstallieren. (Stand: September 2012)

Restore Exchange Server 2007 SP2

Powermanager Server- Client- Installation

ADDISON tse:nit Hinweise zum Umstieg von SQL 2000 auf SQL 2008 im tse:nit Umfeld

Pro/INTRALINK Lehrplan-Handbuch

Das neue Volume-Flag S (Scannen erforderlich)

repostor möchte Ihre TCO senken

Ora Education GmbH. Lehrgang: Oracle Application Server 10g R3: Administration

Storage as a Service im DataCenter

Arbeiten mit einem lokalen PostgreSQL-Server

Version 1.0 [Wiederherstellung der Active Directory] Stand: Professionelle Datensicherung mit SafeUndSave.com. Beschreibung.

Switching. Übung 7 Spanning Tree. 7.1 Szenario

MySQL Cluster und MySQL Proxy

Backup und Restore von Oracle- Datenbanken in Niederlassungen

MOUNT10 StoragePlatform Console

bizsoft Rechner (Server) Wechsel

MSXFORUM - Exchange Server 2003 > Backup (Sicherung von Exchange 2003)

TERRA CLOUD Backup. Verschlüsselte Datensicherung in die Cloud

Installationsanleitung dateiagent Pro

MailUtilities: Remote Deployment - Einführung

IntelliRestore Seedload und Notfallwiederherstellung

Ein reales Testumfeld bereitstellen - basierend auf einer Produktionsdatenbank (ohne eine neue Kopie zu erstellen)

Installation SQL- Server 2012 Single Node

Datensicherung. Urbacher Computer-Forum

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

ADDISON tse:nit Hinweise zum Datenumzug im tse:nit Umfeld

Whitepaper. Produkt: combit Relationship Manager / combit address manager. SQL Server Backup mit SQLBackupAndFTP

Schlüsselworte Data Guard, Standby Datenbank, RMAN, Backup, Restore, Recovery

Snapshot-Backups mit Dirvish & Rsync. Robert Sander clt2012@gurubert.de

NASBOX + RSYNC-EINRICHTUNG

Datensicherung und Wiederherstellung

Was ist Bacula - Ein Überblick

Switching. Übung 2 System Management. 2.1 Szenario

Lehrer: Kurs wiederherstellen

Datensicherung unter Linux

Datensicherung. mit. Ocster Backup Pro. it.kröger Hinweis:

Fragen zur GridVis MSSQL-Server

Handbuch. TMBackup R3

Das Wiederherstellen einzelner Dateien im Gastsystem erfolgt immer über LAN, da der Backup-Proxy

Externe Authentifizierung. Externe Authentifizierung IACBOX.COM. Version Deutsch

Inkrementelles Backup

Preis- und Leistungsverzeichnis der Host Europe GmbH. Backup Pro 2.0 V 2.1. Stand:

Arbeiten mit dem neuen WU Fileshare unter Windows 7

Prüfen Sie, ob Sie über Administratorrechte (Server und Client) verfügen.

Remote Logging mit rsyslog

Acronis Backup & Recovery 10 Server for Linux

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger

Bei der Benutzung des NetWorker Client Configuration Wizards könnten Sie die Namen Ihrer Datenbanken verlieren

Bedienungsanleitung. 1. Eine direkte (1 1) Verbindung muss mit einem gekreuzten (Crossover) Netzwerkkabel hergestellt werden.

Installation des GeoShop Redirector für Apache (Stand ) ================================================================

Die Installation des GeoShop Redirector für IIS (Internet Information Server, Version 4.0, 5.0 und 6.0) umfasst folgende Teilschritte:

Copyright 2015 Kutzschbach Electronic GmbH & Co. KG Alle Rechte vorbehalten. ManagedBackup

Übung - Datensicherung und Wiederherstellung in Windows XP

Transkript:

Grundlagen der PostgreSQL Administration Timo Pagel

Agenda Installation/Konfiguration Backup/Restore Hochverfügbarkeit Überwachung Ausführungspläne 04.11.12 Grundlagen der PostgreSQL Administration 2/50

Agenda Installation/Konfiguration Backup/Restore Hochverfügbarkeit Überwachung Ausführungspläne 04.11.12 Grundlagen der PostgreSQL Administration 3/50

Eigenschaften PostgreSQL 1/2 Object Related Data Base Management System ACID Compliant Atomarität, Konsistenz, Isolation, Dauerhaftigkeit SQL Standardkonform ANSI-SQL:2008 Stabilität und Codequalität haben höchste Priorität BSD-artige Lizenz 04.11.12 Grundlagen der PostgreSQL Administration 4/50

Eigenschaften PostgreSQL 2/2 Write Ahead Log (pg_xlog) zur Wiederherstellung und zur Replikation sowie für Hot Backup (später mehr) Query Planner/Optimizer sind ausgereift (später mehr) Multi-Version Concurrency Control (MVCC) Snapshot für Transaktionen 04.11.12 Grundlagen der PostgreSQL Administration 5/50

Konfiguration - Installation Quellen Selbst kompilieren Pakete Ubuntu Debian RedHat 04.11.12 Grundlagen der PostgreSQL Administration 6/50

Konfiguration Ordnerstruktur 1/2 /etc/postgresql/9.1/main Basiskonfiguration Authentifizierung in pg_hba.conf Server-IP-Einstellungen in postgresql.conf alles was konfigurierbar ist 04.11.12 Grundlagen der PostgreSQL Administration 7/50

Konfiguration Ordnerstruktur 2/2 /var/lib/postgresql/9.1/main Sich verändernde Dateien Tablespace WAL (später mehr) alles was sich verändert /var/log/postgresql/postgresql-9.1-main.log Log-Datei mit Status-Informationen 04.11.12 Grundlagen der PostgreSQL Administration 8/50

Tools psql Kommandozeilenclient ~/.psqlrc Backslash-Befehle Hilfe: \? PgAdmin GUI 04.11.12 Grundlagen der PostgreSQL Administration 9/50

Agenda Installation/Konfiguration Backup/Restore Hochverfügbarkeit Überwachung Ausführungspläne 04.11.12 Grundlagen der PostgreSQL Administration 10/50

Backup Arten 1/4 Vollbackup Sicherung des gesamten Datenbestandes Basis für Inkrementell und Differenziell Inkrementelles Backup Benötigt Vollbackup Schrittweise Sicherung aller Änderungen Differenzielles Backup Speichert alle Änderungen zum letzten Vollbackup Vorteil: Einspielen schneller als bei inkrementellem Backup 04.11.12 Grundlagen der PostgreSQL Administration 11/50

Backup Arten 2/4 Vollbackup Sämtliche Daten zu einem bestimmten Sicherungspunkt werden archiviert 04.11.12 Grundlagen der PostgreSQL Administration 12/50

Backup Arten 3/4 Inkrementelles Backup Nur die Daten sichern, die sich seit dem letzten Vollbackup geändert haben 04.11.12 Grundlagen der PostgreSQL Administration 13/50

Backup Arten 4/4 Differentielles Backup Es werden alle Änderungen zum letzten Vollbackup gesichert 04.11.12 Grundlagen der PostgreSQL Administration 14/50

Backup Betriebssystem Tools Archivierung: tar zip Komprimierung: gzip 04.11.12 Grundlagen der PostgreSQL Administration 15/50

Backup Offline Archivierung 1/2 Ergebnis: 1:1 Kopie (Binärdateien) Größe: Kompakt Geschwindigkeit/Performance: Schnell/Hoch Inhalt: Binärdateien Geringe Portabilität Optional: Log und Konfigurationsdateien 04.11.12 Grundlagen der PostgreSQL Administration 16/50

Backup Offline Archivierung 2/2 Erreichbarkeit: Server ist während des Backups nicht verfügbar Unterstützte Backuparten: Vollsicherung Inkrementelle Sicherung Differentielle Sicherung 04.11.12 Grundlagen der PostgreSQL Administration 17/50

Restore zur Offline Archivierung 1) DB stoppen 2) Vorhandene Verzeichnisse löschen 3) Archiv einspielen 4) Server starten 04.11.12 Grundlagen der PostgreSQL Administration 18/50

Backup Online Archivierung 1/2 Voraussetzung WAL (siehe später) Start: SELECT pg_start_backup('label'); Stop: SELECT pg_stop_backup(); Ergebnis: 1:1 Kopie (Binärdateien) Größe: Kompakt Geschwindigkeit/Performance: Schnell/Hoch 04.11.12 Grundlagen der PostgreSQL Administration 19/50

Backup Online Archivierung 2/2 Inhalt: Binärdateien Geringe Portabilität Optional: Log und Konfigurationsdateien Erreichbarkeit: Server ist während des Backups verfügbar für Lesezugriffe Unterstützte Backuparten: Vollsicherung Inkrementelle Sicherung Differentielle Sicherung 04.11.12 Grundlagen der PostgreSQL Administration 20/50

Restore zur Online Archivierung 1) DB stoppen 2) Vorhandene Verzeichnisse löschen 3) Archiv einspielen 4) Server starten 04.11.12 Grundlagen der PostgreSQL Administration 21/50

Backup Online Ergebnis: Dump Größe: Größer als beim Offline Backup Geschwindigkeit/Performance: Langsam/Niedrig Inhalt: Struktur und Inhalt als SQL-Text hohe Portabilität Erreichbarkeit: Server ist durchgehend erreichbar Lock-Mechanismus erforderlich 04.11.12 Grundlagen der PostgreSQL Administration 22/50

Online Backup - Tools Dump pg_dump Erzeugt Backup einer Datenbank als Textdatei pg_dumpall für globals Erzeugt Backup aller Datenbanken inkl. Rollen und Tablespaces als Textdatei 04.11.12 Grundlagen der PostgreSQL Administration 23/50

Restore - Online Backup pg_restore psql set ON_ERROR_STOP=on dbname < dump.txt.sql Gleichwertig, da im textuellen Backup alle notwendigen SQL-Statements enthalten sind 04.11.12 Grundlagen der PostgreSQL Administration 24/50

Write Ahead Logging - Grundlagen Fortlaufende Datei auf der Festplatte mit allen Änderungen Ermöglicht Vorwärts-Wiederherstellung Auch REDO 16 MB Segmente Timeout konfigurierbar 04.11.12 Grundlagen der PostgreSQL Administration 25/50

WAL - Einsatzmöglichkeiten Inkrementelles Backup (gleich) Hot Standby (später mehr) Master/Slave-Systeme Intern beim Online Backup 04.11.12 Grundlagen der PostgreSQL Administration 26/50

WAL - Backup 1) Vollbackup erstellen 2) Konfiguration ändern archive_mode = on archive_timeout = 60 archive_command = 'test! -f /data/wal_archive/%f && cp %p /data/wal_archive/%f' 3) Kopieren der WAL auf einen Sicherungsserver Konfiguration: archive_command = 'rsync --delay-updates --whole-file -ar -e ssh %p postgres@<server-ip>:/data/wal_archive/%f </dev/null' 04.11.12 Grundlagen der PostgreSQL Administration 27/50

WAL Restore 1/2 1) DB stoppen 2) Vorhandene Verzeichnisse löschen 3) Vollbackup-Archiv einspielen 4) Wenn pg_xlog-verzeichnis gesichert wurde Inhalt löschen 5) Kopieren aller WAL-Segmente aus Backupordner in pg_xlog 04.11.12 Grundlagen der PostgreSQL Administration 28/50

WAL Restore 2/2 6) Ggf. neue Benutzer-Verbindungen unterbinden 7) /var/lib/postgresql/9.1/main/recovery.conf restore_command = 'cp /mnt/irgendwo/%f %p' 8) Server starten DB bleibt im Wiederherstellungsmodus Am Ende recovery.conf recovery.done 9) DBMS hat den gewünschten Zustand wiederhergestellt ggf. Benutzerverbindungen wieder aktivieren 04.11.12 Grundlagen der PostgreSQL Administration 29/50

WAL Point in Time Recovery Klienten-Konfiguration recovery.conf restore_command = 'cp /mnt/irgendwo/%f %p' recovery_target_time = '2010-08-25 21:52+02' recovery_target_inclusive = false 04.11.12 Grundlagen der PostgreSQL Administration 30/50

Agenda Installation/Konfiguration Backup/Restore Hochverfügbarkeit Überwachung Ausführungspläne 04.11.12 Grundlagen der PostgreSQL Administration 31/50

Hochverfügbarkeit mit Heartbeat 04.11.12 Grundlagen der PostgreSQL Administration 32/50

Hochverfügbarkeit - Überblick Shared Disk Failover File System (Block-Device) Replication Warm Standby Using Point-In-Time Recovery (PITR) Master-Slave Replication Slave sendet Schreibanfragen an den Master Slave kann Leseanfragen beantworten Synchronous Multimaster Replication Schreibperformance schlecht 04.11.12 Grundlagen der PostgreSQL Administration 33/50

File System (Block-Device) Replication - Überblick Software Kommerziell: Distributed Replicated Block Device OpenSource: openfiler Master für Schreibzugriffe Slave(s) für Lesezugriffe 04.11.12 Grundlagen der PostgreSQL Administration 34/50

File System (Block-Device) Replication - Prinzip 04.11.12 Grundlagen der PostgreSQL Administration 35/50

Warm Standby Using Point-In-Time Recovery (PITR) Asynchron (ggf. wurden die letzten Änderungen nicht auf den Standby-Server übernommen) Nachteil: Es wird nur ein Server aktiv genutzt recovery.conf auf Standby Seite standby_mode = 'on' primary_conninfo = 'host=192.168.1.50 port=5432 user=foo password=foopass' restore_command = 'cp /path/to/archive/%f %p' archive_cleanup_command = 'pg_archivecleanup /path/to/archive %r' 04.11.12 Grundlagen der PostgreSQL Administration 36/50

Agenda Installation/Konfiguration Backup/Restore Hochverfügbarkeit Überwachung Ausführungspläne 04.11.12 Grundlagen der PostgreSQL Administration 37/50

Monitoring - Überwachungsserver Systemüberwachung (gleich mehr) Plattenauslastung CPU Verbrauch RAM Verbrauch... Datenbanküberwachung Nagios check_postgres Locks (später mehr) Connections 04.11.12 Grundlagen der PostgreSQL Administration 38/50

Monitoring - Tools Systemtools Prozessausgabe (ps) ~$ ps -ef grep postgres postgres 1438 1 0 16:09? 00:00:00 /usr/lib/postgresql/9.1/bin/postgres [...] postgres 1443 1438 0 16:09? 00:00:00 postgres: writer process postgres 1444 1438 0 16:09? 00:00:00 postgres: wal writer process postgres 1445 1438 0 16:09? 00:00:00 postgres: autovacuum launcher process postgres 1446 1438 0 16:09? 00:00:00 postgres: stats collector process Prozessübersicht (top) 04.11.12 Grundlagen der PostgreSQL Administration 39/50

Monitoring - Statische Views pg_stat_activity Darstellung aller Serverprozesse pg_statio_all_tables Zugriffsstatistik pg_locks... Lock-Übersicht 04.11.12 Grundlagen der PostgreSQL Administration 40/50

Agenda Installation/Konfiguration Backup/Restore Hochverfügbarkeit Überwachung Ausführungspläne 04.11.12 Grundlagen der PostgreSQL Administration 41/50

Ausführungspläne Überblick Schema 04.11.12 Grundlagen der PostgreSQL Administration 42/50

Ausführungspläne Befehl Explain <Query> zeigt Struktur des Ausführungsplan Zugriffsarten auf Tabellen seq scan, index scan oder bitmap index scan Operationen Joins Sortierungen Aggregierungen 04.11.12 Grundlagen der PostgreSQL Administration 43/50

Ausführungspläne EXPLAIN [ ANALYZE ] [ VERBOSE ] statement Ohne Analyse/Verbose: Zeigt Algorithmus-Ausführungsschätzung an ANALYSE: Zeigt tatsächliche Schleifendurchgänge und konkrete Ressourcenbelegung VERBOSE: Zeigt die gesamte Ausführung 04.11.12 Grundlagen der PostgreSQL Administration 44/50

Ausführungspläne Studenten Query: EXPLAIN select Name, MatrNr from studenten; Ausgabe: QUERY PLAN ------------------------------------------------------------- Seq Scan on studenten (cost=0.00..16.80 rows=680 width=86) (1 row) 04.11.12 Grundlagen der PostgreSQL Administration 45/50

Seq Scan Zugriffsart cost Startkosten (z.b. Sortierung)..Totalkosten Maßeinheit: Plattenzugriffe rows Geschätzte Ergebnisdatensätze width Durchschnittliche Größe eines Datensatzes in Byte Ausgabe: QUERY PLAN ------------------------------------------------------------- Seq Scan on studenten (cost=0.00..16.80 rows=680 width=86) 04.11.12 Grundlagen der PostgreSQL Administration 46/50 (1 row)

Ausführungspläne > EXPLAIN <QUERY> z.b. EXPLAIN SELECT Name, MatrNr FROM (Vorlesungen NATURAL JOIN prüfen NATURAL JOIN Studenten) WHERE Titel = 'Informatik II'; 04.11.12 Grundlagen der PostgreSQL Administration 47/50

Fragen? Installation/Konfiguration Backup/Restore Hochverfügbarkeit Überwachung Ausführungspläne 04.11.12 Grundlagen der PostgreSQL Administration 48/50

Dokumentation http://www.postgresql.org/docs http://www.net.co.at/doc/howto/docs/shell_scr ipt_entwicklung/docs/backup.html http://tuning.postgresql.de/postgresql_explain

Backup - Nagios