Gemeinsame Datenhaltung: Windows (Host) & Linux (VM)

Probleme mit Samba, NFS, FTP und Co.
Antworten
Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Gemeinsame Datenhaltung: Windows (Host) & Linux (VM)

Beitrag von Meillo » 03.08.2017 10:18:04

Hoi,

ich sitze nebenbei auch regelmaessig an einem Windows-Rechner. Weil der fuer mich keine geeignete Entwicklungsumgebung darstellt, habe ich eine VM mit Debian installiert. Fast alle Arbeit erledige ich in der VM. Soweit so gut.

Die Probleme beginnen damit, dass die VM leider deutlich weniger stabil ist als ein Hostsystem. (Ich bekomme immer wieder mal Warnungen und Fehlermeldungen vom Vmware-Player. Es funktioniert trotzdem alles irgendwie weiterhin, wenn man sie einfach wegklickt oder das Hostsystem neu bootet und es dann nochmal probiert. Ein gutes Gefuehl ist aber etwas anderes.) Ich lebe also mit einer gewissen Sorge, dass ich die VM eines Tages nicht mehr starten koennen werde. Wenn ich also moeglicherweise mal das System verlieren sollte, dann will ich dabei nicht auch noch die Daten verlieren. Folglich wuerde ich die Daten gerne ausserhalb der VM halten. (Das macht die VM auch kleiner und laesst mich schneller mal eine Sicherheitskopie der VM-Dateien erstellen.) Der zweite Aspekt sind die Backups, die eben auf dem Hostsystem laufen aber nicht in der VM. Ich wuerde gerne meine Entwicklungsdaten, die momentan noch innerhalb der VM liegen, ebenfalls vom Backup des Hostsystems erfassen lassen.

Der erste Ansatz waere, einfach alle Daten auf das Windows-Hostsystem zu legen und von dort in die VM zu mounten. Problem: Keine Unix File-Permissions, was fuer mich untragbar ist. (Ich nutze diesen Weg jedoch fuer einen Transfer-Ordner und sonstige Dateien, wo Permissions irrelevant sind.)

Der zweite Ansatz waere, die Daten in der VM zu halten und per Samba Richtung Host bereitzustellen, dort als Netzlaufwerk zu mounten und so ins Backup einbeziehen. Problem: Es liegen viele Softwareschichten und damit viele Problemquellen und viel Performanceverlust dazwischen.

Der dritte Ansatz waere, eine Hostpartition mit einem Dateisystem zu formatieren, das sowohl Unix File-Permissions bietet als auch von Windows gelesen werden kann. Problem: Es sollte keine zu tiefen Eingriffe in das Windowssystem erfordern, weil ich dafuer betteln gehen muss und die Erfolgschancen dann sinken.


Welche konkreten Moeglichkeiten gibt es fuer den dritten Ansatz?

Gibt es noch andere Ansaetze?

Wie geht ihr mit dem Problem um? (Ich denke mir, dass ich nicht der einzige in so einer Situation sein werde.)
Use ed once in a while!

Benutzeravatar
TRex
Moderator
Beiträge: 8038
Registriert: 23.11.2006 12:23:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: KA

Re: Gemeinsame Datenhaltung: Windows (Host) & Linux (VM)

Beitrag von TRex » 03.08.2017 10:27:18

Windows als Hostsystem hab ich zwar nicht, aber eine gewisse Isolationsschicht existiert dennoch. Für deinen Fall würde ich vermutlich ein separates vmdk-Image mit den Daten anlegen und das als Datei von Windows sichern lassen. Wenns drauf ankommt, kriegt man das auch ohne VMWare oder Windows gemountet oder konvertiert. Das mountest du dann in deine VM (per VMWare-Konfiguration, als zweite Festplatte).
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

s_fischer
Beiträge: 106
Registriert: 03.11.2002 16:17:17

Re: Gemeinsame Datenhaltung: Windows (Host) & Linux (VM)

Beitrag von s_fischer » 06.08.2017 16:46:03

Ich würde auch den Ansatz von TRex nehmen.
Eine zweite VM mit debian anlegen, Dateiserver (Bsp. NFS) drauf und die wichtigen Daten manuell, oder per Script (cron) sichern. Die "Backup VM" dann nach belieben backupen. Leider habe ich mit VMware keine Erfahrungen, nur mit VirtualBox.

Grüße

Benutzeravatar
TRex
Moderator
Beiträge: 8038
Registriert: 23.11.2006 12:23:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: KA

Re: Gemeinsame Datenhaltung: Windows (Host) & Linux (VM)

Beitrag von TRex » 06.08.2017 16:47:59

Zur Klarstellung: ich meinte keine zweite VM, nur eine zweite virtuelle Festplatte.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

Benutzeravatar
paedubucher
Beiträge: 850
Registriert: 22.02.2009 16:19:02
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Schweiz
Kontaktdaten:

Re: Gemeinsame Datenhaltung: Windows (Host) & Linux (VM)

Beitrag von paedubucher » 06.08.2017 18:32:51

Wie wäre es mit Docker? Das läuft nach meiner Erfahrung auf Hyper-V recht stabil. Beim Aufstarten des Containers kannst du dir ein beliebiges Verzeichnis an eine beliebige Stelle einhängen:

Code: Alles auswählen

docker start -it -v C:\vm-data\meillo:/home/meillo debian /bin/bash
Ich persönlich habe mir am Arbeitsplatz eine kleines Alpine Linux namens "plux" (paedubuchers Linux) gedreht, nur so mit dem Nötigsten, das ich eben am Arbeitsplatz brauche (Dockerfile):

Code: Alles auswählen

FROM alpine
RUN ["apk", "update"]
RUN ["apk", "add", "bash", "readline", "man-pages", "vim", "python3", "python3-doc", "R", "R-doc", "git"]
RUN ["adduser", "-h", "/home/pdb", "-s", "/bin/bash", "-D", "pdb"]
ADD "conf/.vimrc" "/home/pdb/.vimrc"
ADD "conf/.bashrc" "/home/pdb/.bashrc"
RUN ["mkdir", "/home/pdb/share"]
RUN ["chown", "-R", "pdb:pdb", "/home/pdb/share"]
RUN ["git", "config", "--global", "user.name", "Patrick Bucher"]
RUN ["git", "config", "--global", "user.email", "patrick.bucher@stud.hslu.ch"]
WORKDIR "home/pdb"
USER pdb
Ich installiere mir einige wichtige Pakete (readline, man-pages, vim etc.), erstelle meinen User (pdb) und kopiere ein paar Dateien vom lokalen Verzeichnis (conf) in das eingehängte home-Verzeichnis. Dann konfiguriere ich noch git, builde und starte es:

Code: Alles auswählen

docker build -t plux .
docker run --rm --name plux -it -v $(pwd)/share:/home/pdb/share --user pdb plux bash
Und wenn ich es kaputt mache, builde ich mir schnell ein neues. Mit der Zeit wächst natürlich das Dockerfile etwas an :wink:

Nachtrag: Ich muss noch erwähnen, dass dies meine persönliche Testumgebung ist, die ich unter Linux verwende. Am Arbeitsplatz habe ich eine ähnliche Umgebung mit einigen Unterschieden. Ich kann morgen gerne noch das Dockerfile der Umgebung posten, die ich tatsächlich auf Windows betreibe. (Ich sollte dazu übergehen, meine Dockerfiles auf Dockerhub hochzuladen...)
Habe nun, ach! Java
Python und C-Sharp,
Und leider auch Visual Basic!
Durchaus programmiert mit heissem Bemühn.
Da steh' ich nun, ich armer Tor!
Und bin so klug als wie zuvor.

Antworten