Ubuntu Server Backup

ERROR134

Enthusiast
Thread Starter
Mitglied seit
07.01.2013
Beiträge
283
Heyho,

Ich suche eine Möglichkeit mein Ubuntu Server OS zu sichern. Dabei würde ich gerne alle User, Einstellungen und installierte Packets sichern. Ich würde es einfach gerne so haben, dass ich notfalls sehr schnell und einfach alles wieder zum Laufen bekomme, ohne dass ich jeden User neu anlegen und alle Programme neu installieren muss. Da der Rechner über mehrere Festplatten verfügt, wie sieht das mit der Partitionierung aus, weil mein OS ja weiss, dass ZB /home auf eine Platte kommt?

Kann man das ganze so sichern, wie ich mir das Vorstelle? Wie würde die neu installation aussehen? Daten, welche auch auf dem Rechner sind, würde ich gerne auch sichern, zB auf eine externe Festplatte. Bleiben so alle Berechtigungen erhalten?


Hoffentlich könnt ihr mir weiter helfen, vielen Dank schonmal :)
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Wie ist dein Server aufgebaut, hat er eine LVM Struktur oder normale Partitionen?
 
Ich seh da mehrere Möglichkeiten:
1. Alle Partitionen mit dd klonen, dauert ne Weile, aber du hast eine 1:1 Kopie

2. Ein Backup-Programm ala Bacula (das läuft bei mir auf Arbeit und sichert wohl alle Programmeinstellungen usw., genauer kenn ich mich damit aber nicht aus) + rsnapshot für Home und sonstige Datenpartitionen

3. Server neu aufsetzen mit einem Automatisierungs und Administrierungstool (etwa saltstack oder ansible). Brauch ein wenig Einarbeitung und umgewöhnung, Daten-Partition wieder mit rsnapshot sichern.
 
1. mit einem cron job via rsync auf eine weitere Festplatte sichern.
2. wie oben schon beschrieben via rsnapshot sicherungen erstellen.
 
Die Platten sehen wie folgt aus:

1) 120 GB SSD
enthält das System und eigentlich alle Standard Ordner
2) 2x1TB betrieben im RAID 1
enthält /daten, /var/www und /home. /daten ist einfach mein Ordner für alle Daten, die ich auf dem Server speichere (Repos, DBs, Dokumente, Filme,...), /home und /var/www sind ja bekannt

Eine Kopie würde nicht in Frage kommen, da nicht alle Daten, die auf dem Server sind, so wichtig sind, dass sie gesichert werden müssen.
Bei einer Kopie müsste ich ja auch wieder das gleiche Setup (gleiche Platten usw) nehmen, oder? Ich würde es eher so halten, dass ich auch bei Anschaffung eines neuen Servers variieren kann.
 
Zumindest für das TB vom RAID 1 ist rsync/rsnapdhot ideal.
Das System selbst ( also die SSD ): hängt davon ab, was du willst. Meist ändert sich da ja nicht soviel, eventuell reicht es ja, die von Hand geänderten config-dateien zu kopieren.
 
Dieser Snapshot würde ja alle Daten einfach sichern nehme ich an. Zur Zeit ist der Speicherplatz ja nicht grade gross, so als Student kann man sich nicht direkt 10TB oder so so kaufen :) Allerdings würde ich (zumindest später) gerne manche Daten vom Snapshot ausser acht lassen, weil halt (später) nicht alle so wichtig sind geht das? Ist der Snapshot eine 1:1 Kopie der Bits des Raids? Weil dann müsste ich ja bei Wiederherstellung immer die Daten auf einen neuen 1TB Raid wieder schieben, oder nicht?

Wegen des Systems:
Ich würde einfach gerne, dass ich alles schnell wieder benutzen kann. Es wäre perfekt, wenn ich einfach das System wieder auf eine Platte aufspiele und dann meine alten Benutzer und Dienste direkt habe und zwar am besten so, dass die Berechtigungen für alle Daten(System und Raid) noch stimmen. Ist das so möglich?

Es wäre auch in Ordnung, wenn ich das OS neu installieren muss, aber irgendiwe die alten Dinge (User, Dienste,..) importieren kann, falls das geht.

Bei einer 1:1 Kopie der Bits, werden da nicht auch der Boatloader und die Informationen über die Grösse der Platten usw übertragen? Das wäre ja vom Nachteil, wenn der Server abraucht und ich mir einen neuen mit neuen Platten kaufe, oder nicht?
 
Rsnapshot macht inkrementelle Backups. Du kannst etwa einstellen, dass er 7 Versionen speichern soll, jeden Tag eine. Dann werden nur die Änderungen kopiert und auch nur die belegen Speicher. Gleichzeitig verwendet rsnapshot hard-Links, wodurch du jeden speicherstand als volles Backup siehst und damit auch gezielt einzelne Ordner wieder herstellen kannst.

mit dd kannst du auch Backups kleiner Partitionen auf größere zurückspielen, bei SSDs und dd muss man aber wegen alignment aufpassen, weiß nicht, ob das klappt. Natürlich ist das Dateisystem dann aber nur so groß wie die Partition vorher.

Wenn du die Umstellung/einarbeitung nicht scheust, schau dir ansible an
 
Hmmm, ich konnte da jetzt immer noch nicht genau rauslesen, wie das genau mit den Rechten dann funktioniert.
Wenn ich ALLES neu aufsetze bzw das OS an sich wieder aufspiele, haben die Benutzer dann die passenden Rechte auf jede Dateien?

Weil ich will ja, dass ich nicht alles wieder ändern muss. Also die Berechtigungen und konfiguationen der Dienste. Ansonsten wäre es mir ja egal, wenn ich das OS neu aufsetzen muss, wichtig sind mir nur die grade erwähnten Rechte und konfigurationen. Würden die Rechter auf die Dateien erhalten bleiben? Jeder User hat ja eine Nummer, würde es klappen, wenn ich die Nummer bei neu erstellten Nutzern änder?
 
Wenn du die uid von allen Nutzern weisst, kannst du auf dem neuaufgesetzten System einfach Benutzer mit den gleichen uids erstellen. Rsnapshot und rsync erhalten ja die uids auch, somit macht das kein Problem.

Hier ein Beispiel, wie Benutzer und Dienste mit Ansible verwaltet werden:
- name: Install useful packages
apt: pkg={{item}} state=installed
with_items:
- htop
- zsh
- vim
- ntp

- group:
name: deploy
state: present

- user:
name: deploy
password: "{{ user_deploy_password }}"
state: present
shell: /bin/zsh
group: deploy
update_password: on_create

- name: copy configuration for grml-zsh
copy: src=zshrc dest=/etc/zsh/zshrc

- name: set default shell to zsh for root
user:
name: root
shell: /bin/zsh

- copy: dest=/root/.zshrc content=''
- copy: dest=/home/deploy/.zshrc content=''

- copy:
dest: /etc/sudoers.d/deploy
content: "deploy ALL=(ALL) NOPASSWD: ALL"

- name: Creates destination directory
authorized_key:
user: deploy
key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
state: present
manage_dir: yes

- template:
src: sshd_config.j2
dest: /etc/ssh/sshd_config
owner: root
group: root
mode: 0644
backup: yes
notify: restart ssh

- copy: dest=/etc/localtime content="Europe/Berlin"
register: timezone

- command: dpkg-reconfigure --frontend noninteractive tzdata
when: timezone | changed

- service:
name: "{{ item }}"
enabled: yes
state: started
with_items:
- ssh
- ntp
 
Unter Arch Linux kann man mittels
Code:
pacman -Qii | awk '/^MODIFIED/ {print $2}'
alle modifizierten Konfigurationsdateien auflisten um diese dann zu speichern.
Mit
Code:
pacman -Qqen
kann man sich alle installierten Pakete auflisten und diese installieren, bevor man die Konfigdateien zurückspielt.
Dadurch ist das Backup des Betriebssystem so klein wie möglich, so etwas sollte es doch für Ubuntu mit apt-get und dpkg auch geben?
 
Danke euch beiden, für die schnellen Antworten. Folgendes habe ich mir überlegt:
- Alle Konfigurationsdateien der Pakete und Liste aller Pakete speichern
- Aufschreiben, nach welchen Regeln (Pfade und Raid usw) das System aufgesetzt ist und welche User mit ihren Uids bestehen
- Snapshots der gespeicherten Daten auf externem Datenträger sichern

In diesem Plan ist alles soweit inbegriffen, oder? Mit diesem Backup Plan, kann ich denke ich alles schnell und einfach wieder herstellen, oder mache ich was falsch?
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh