Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   VSS Writer benachrichtigen vom Hyper-V in die virtuelle Maschine (https://www.delphipraxis.net/196628-vss-writer-benachrichtigen-vom-hyper-v-die-virtuelle-maschine.html)

Hobbycoder 5. Jun 2018 09:31

VSS Writer benachrichtigen vom Hyper-V in die virtuelle Maschine
 
Hi,

manch einer von euch hat vielleicht einen Exchange-Server oder MS-SQL (betrifft evtl. aber auch andere Serverdienste) unter seiner Kontrolle. Gerade beim Exchange ist es aber sehr deutlich. Er schreibt jede Transkation in Logfiles, die erst abgeschnitten werden, wenn eine Datensicherung erfolgt ist. Macht man das nicht, so läuft der Server über kurz oder lang voll.
Normalerwiese wird die Datensicherung innerhalb der virtuellen Maschine durchgeführt, was z.B. im Falle vom Windows-Backup dann zum Abschneiden der Log-Dateien führt. Auch beim Sichern über VSS kann man den Writer benachrichtigen, der dann seinerseits dem Exchangeserver mitteilt, dass die Sicherung erfolgt ist und auch ein Abschneiden der Logs zur Folge hat.

Jetzt sichere ich meine Virtuellen Maschinen auf dem Hyper-V über VSS weg, und möchte natürlich das gleiche erreichen.

1. Frage: Geht das überhaupt, dass man vom Hyper-V in dem virtuellen Server den Exchange oder den SQL-Server über erfolgte Sicherung benachrichtigt?
2. Frage: Wenn ja, weiß einer wie das geht, bzw. wo ich dazu was nachlesen kann? Ich habe diesbezüglich nicht wirklich viel gefunden.

HolgerX 5. Jun 2018 10:14

AW: VSS Writer benachrichtigen vom Hyper-V in die virtuelle Maschine
 
Hmm..

[Nicht ganz der Frage nach ;) ]

Wenn dir die Transaktionslogs egal für die Datensicherung sind, können diese auch abgeschaltet werden.

In den Eigenschaften der Datenbank, bei Optionen gibt es den Parameter Wiederherstellungsmodel..

Hier auf Simple/Einfach stellen, eventuell noch ein Shrink der DB und weg sind die Logs...

Hobbycoder 5. Jun 2018 10:30

AW: VSS Writer benachrichtigen vom Hyper-V in die virtuelle Maschine
 
Das könnte man machen. Allerdings kann das katastrophale Folgen haben. Gerade beim Exchange würde ich das nach Möglichkeit nicht machen. Wenn da die DB mal so richtig inkonsistent ist, und man muss ins Recovery, geht das ohne Logs selten ohne Datenverlust. Gerade deswegen suche ich dafür eine Möglichkeit. Bei DB's ist der Log-Zuwachs meist nicht ganz so gravierend. Aber beim Exchange reichen schon ein, zwei Wochen und die VHD explodiert förmlich.
Zur Zeit fahre ich Zweigleisig und sichere den Exchange innerhalb der VM nochmals, um dem entgegenzuwirken.

jobo 5. Jun 2018 11:04

AW: VSS Writer benachrichtigen vom Hyper-V in die virtuelle Maschine
 
Du könntest sowas mal probieren (als SQL / TSQL), ich schätze das geht auch per command line tool und ist sicher bequemer und verteilbarer:
Code:
DECLARE @path NVARCHAR(255) = N'\\backup_share\log\testdb_'
  + CONVERT(CHAR(8), GETDATE(), 112) + '_'
  + REPLACE(CONVERT(CHAR(8), GETDATE(), 108),':','')
  + '.trn';

BACKUP LOG foo TO DISK = @path WITH INIT, COMPRESSION;
und das Ergebnis natürlich wegwerfen und den Vorgang mit dem "Großen" Backup synchronisieren.

Stammt von hier:
https://stackoverflow.com/questions/...ransaction-log

Hobbycoder 5. Jun 2018 11:26

AW: VSS Writer benachrichtigen vom Hyper-V in die virtuelle Maschine
 
Danke Jobo, aber mir ging es mehr um eine Lösung, die nicht nur beim SQL funktioniert. Hauptsächlich geht es um einen Exchange.
Aber ich habe eine Lösung gefunden:

1. Man erstelle eine Scriptdatei:
Code:
add volume d:
begin backup
create
end backup
exit
(Sind die Logs und die DB auf verschiedenen Laufwerken, dann müssen natürlich alle Laufwerke per add hinzugefügt werden. Bei mir ist alles auf D)

2. Dazu eine Batch:
Code:
diskshadow /s <scriptdatei> /l <Logdatei>
Und schwups werden alle vsswriter benachrichtigt, und die Logs werden ordnungsgemäß abschnitten. Allerdings sollte man darauf achten, dass man auch wirklich seine VHD's/VHDX's der VM vorher kopiert hat.
Nachteil: Muss natürlich innerhalb der VM laufen, geht also nur indirekt von außen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz