ubuntuusers.de

mysql und apache2 in einem Verzeichnis

Status: Ungelöst | Ubuntu-Version: Ubuntu 16.04 (Xenial Xerus)
Antworten |

xylit

Anmeldungsdatum:
22. September 2016

Beiträge: 138

Hallo,

auf einem Ubuntu Server wurde ZFS eingerichtet. Das Ziel ist es, später Snapshots durchzuführen.

Ich habe einen Pool und ein Dataset rpool/web.

In diese Verzeichnis "Dataset"soll mysql und der apache2 liegen

1
2
DocumentRoot /rpool/web/www.domain
datadir      /rpool/web/mysql 

Gibt es da etwas zu beachten? Eventuell wegen der Sicherheit?

danke

Tronde Team-Icon

Avatar von Tronde

Anmeldungsdatum:
23. November 2006

Beiträge: 1640

Guten Morgen,

erhältst du konsistente Daten, wenn du einen ZFS-Snapshot erstellst, währende MySQL in die DB-Dateien schreibt?

LG
Tronde

xylit

(Themenstarter)

Anmeldungsdatum:
22. September 2016

Beiträge: 138

Guten morgen Tronde,

ich habe ersteinmal meinen snapshot hingebkommen.

mit diesem Script mache ich einen snapshot

1
2
rpool/web          384M   134G   148M  /rpool/web
rpool/web/db       236M   134G   209M  /rpool/web/db
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
mysql_locked=/var/run/mysql_locked

# flush & lock MySQL, touch mysql_locked, and wait until it is removed
mysql -hlocalhost -udbuser -p -NB <<-EOF &
    flush tables with read lock;
    delimiter ;;
    system touch $mysql_locked
    system while test -e $mysql_locked; do sleep 1; done
    exit
EOF

# wait for the preceding command to touch mysql_locked
while ! test -e $mysql_locked; do sleep 1; done

# take a snapshot of the filesystem, while MySQL is being held locked
#zfs snapshot rpool/test@$(date +"%Y-%m-%d_%H:%M")

zfs snapshot -r rpool/web@all
# unlock MySQL
rm -f $mysql_locked

Das Script habe ich aus dem INTERNET, leider verstehe ich dieses noch nicht so richtig!

Zurück spiele ich das ganze mit diesem Befehl

1
service mysql stop && zfs rollback rpool/web/db@nurdatenbank && service mysql start

Zum Testen habe ich einen Typo3 Server und in der Datenbank einige Tabellen gelöscht. Nach dem roolback war alles wieder vorhanden und es scheint alles gut zu gehen

Die Konsitent habe ich noch nicht geprüft

https://dba.stackexchange.com/questions/10822/how-to-check-the-consistency-of-tables-in-mysql

Hier finde ich es schade, dass ich den Mysql Server bei einem zfs rollback neu starten muss. Aber ich finde, wenn dass alles klappt, ist dass das kleinste Übel.

Jetzt muss ich noch etwas spielen, "Typo3 Seiten löschen, Extensions installierern DB wieder zurückspielen usw, dann wird dass ganze auf einem Seafile Server getestet, dass wird supper interessant, denn Seafile speichert seine Dateien und Ordnern in Blöcken

Sobald dass alles klappt, werde ich mich mal damit befassen, wie ich die Konsistenz der Daten prüfe und natürlich muss ich mal mit zfs send die Snapshots auf einen anderen Server spielen und sehen, ob dass auch alles klappt.

Würde mich dann nochmal melden, kann aber noch dauern 😊

gruss

Tronde Team-Icon

Avatar von Tronde

Anmeldungsdatum:
23. November 2006

Beiträge: 1640

Guten Morgen xylit,

danke für deine Antwort. Ich freue mich, wenn du deine weiteren Erfahrungen hier ebenfalls mit uns teilst.

LG
Tronde

xylit

(Themenstarter)

Anmeldungsdatum:
22. September 2016

Beiträge: 138

Guten morgen Tronde,

dass Typo3 konnte ich soweit in den Griff bekommen, dass ich snapshots machen kann. Der rollback klappt auch!

Die Datenbank hatte ich nach dem rollback mit mysqlcheck kontrolliert. Weiterhin hatte ich immer eine Extension installiert, einen snapshot vorgenommen, einen rollback und alles stimmte. Im Typo3 selbst stimmte auch immer "der Globale Referenz-Index".

Dass ganze läuft auf einer VM mit zwei Partitionen.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
zpool status
  pool: rpool
 state: ONLINE
  scan: scrub repaired 0 in 0h0m with 0 errors on Sun Sep 10 00:24:30 2017
config:

        NAME                                            STATE     READ WRITE CKSUM
        rpool                                           ONLINE       0     0     0
          mirror-0                                      ONLINE       0     0     0
            scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-part6  ONLINE       0     0     0
            scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-part7  ONLINE       0     0     0

errors: No known data errors
1
2
3
4
5
6
zfs list
NAME           USED  AVAIL  REFER  MOUNTPOINT
rpool          452M   134G    96K  /rpool
rpool/web      451M   134G   130M  /rpool/web
rpool/web/db   293M   134G   250M  /rpool/web/db
root@graf:~#
1
2
3
4
5
6
7
8
9
Medium /dev/sda6: 139,7 GiB, 149998796800 Bytes, 292966400 Sektoren
Einheiten: sectors von 1 * 512 = 512 Bytes
Sektorengröße (logisch/physisch): 512 Bytes / 512 Bytes
I/O Größe (minimal/optimal): 512 Bytes / 512 Bytes
root@graf:~# fdisk -l /dev/sda7
Medium /dev/sda7: 139,7 GiB, 149998796800 Bytes, 292966400 Sektoren
Einheiten: sectors von 1 * 512 = 512 Bytes
Sektorengröße (logisch/physisch): 512 Bytes / 512 Bytes
I/O Größe (minimal/optimal): 512 Bytes / 512 Bytes

Die VM selbst läuft unter Proxmox 5 mit 3 Platten. Platte 1 System "SSD" Platte 2 und 3 für das Raid1

Auf dem Proxmox habe ich für jede VM einen Datset angelegt, so kann ich jede einzelne VM auch unter der Console sichern "snapshot" auch wenn die VM ein RAW "unter Proxmox_webgui angelegt wird.

Auf einem älteren Proxmox habe ich einen Webserver, der 300GB Daten hat. Mit der Proxmox Sicherung vzdump dauert dass ca. 3 Stunden. Auf dem ZFS nicht mal eine Sekunde.

Weiterhin habe ich auf dem Promxox ein Script https://gist.github.com/petervanderdoes/bd6660302404ed5b094dlaufen, dass erkennt, wenn eine Festplatte ausfällt.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
 NAME    SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
rpool   464G   230G   234G         -    33%    49%  1.00x  DEGRADED  - 


   pool: rpool
 state: DEGRADED
status: One or more devices has been taken offline by the administrator.
	Sufficient replicas exist for the pool to continue functioning in a
	degraded state.
action: Online the device using 'zpool online' or replace the device with
	'zpool replace'.
  scan: scrub repaired 0 in 0h38m with 0 errors on Tue Sep 12 22:38:09 2017
config:

	NAME                                      STATE     READ WRITE CKSUM
	rpool                                     DEGRADED     0     0     0
	  mirror-0                                DEGRADED     0     0     0
	    ata-ST500DM002-1BD142_Z3TARV2A-part2  OFFLINE      0     0     0
	    ata-ST500DM002-1BD142_Z3T36H9H-part2  ONLINE       0     0     0

errors: No known data errors

Soweit bin ich mit allem zufrieden. Der Proxmox läuft seit ca. 4 Wochen. Alles im allem eine feine Sache mit dem ZFS.

Nur muss man Testen,Testen,Testen.

jb-alvarado

Anmeldungsdatum:
28. November 2012

Beiträge: 345

Hallo xylit, xylit schrieb:

1
2
rpool/web          384M   134G   148M  /rpool/web
rpool/web/db       236M   134G   209M  /rpool/web/db

macht das Sinn, den DB Pool im WEB Pool zu haben? Wenn du ein Snapshopt von web machst, macht er immer auch von db einen mit, falls das gewünscht ist würde ich beides auf einen Pool machen, aber separate Ordner:

# Pool:
rpool/web

# Ordner:
web/www
web/db

Wenn du zwei Pools haben möchtest, dann auch nicht verschachtelt:

rpool/web
rpool/db

Für das sichern von VMs gibt es auch Möglichkeiten das Live zu machen, ob das mit Proxmox auch klappt weiß ich allerdings nicht. Wenn man Linux VMs hat kann man den qemu-agent einsetzen, um das System einzufrieren, solange der virsh snapshot gemacht wird, der dauert auch nur eine Sekunde.

Habe da ein Script aus dem Internet umgeschrieben, in Kombination mit borgbackup. Ist ne feine Sache, kann so von einer VM die ~60GB hat, 17 Backups machen und habe nur einen Speicherverbrauch von 82.57GB.

xylit

(Themenstarter)

Anmeldungsdatum:
22. September 2016

Beiträge: 138

Guten morgen,

1
"Wenn du ein Snapshopt von web machst, macht er immer auch von db einen mit",

nein, ich kann von web einen snapshot erstellen ohne einen von db zubekommen. Wenn alle beide einen snapshot bekommen sollen, dann nehme - den flag -r mit.

Wenn man bei Typo3 seiten anlegt, dann werden diese in die Datenbank geschrieben und die Erweiterungen in die Datenbank und in den Ordner web. Typo3 bietet auch die möglichkeit, Dateien hochzuladen "fileadmin", dieser liegt ebenfalls im Ornder web.

Da ich nun entweder von web und db zusammen einen snapshot mache und einzeln, bin ich hier sehr flexibel was die Rücksicherung angeht.

1
"Für das sichern von VMs gibt es auch Möglichkeiten das Live zu machen, ob das mit Proxmox auch klappt weiß ich allerdings nicht.",

ja das geht auch, du kannst auch über die Console oder direkt im Webgui von Proxmox einen Snapshot durchführen.

ABER! wenn ich mit Proxmox im Webgui snapshots durchführe

1
2
Montag, Dienstag, Mittwoch, dann kann ich nicht direkt auf Montag zu greifen, sondern dann muss ich rückwarts alles zurückspielen.
Mittwoch, Dienstag, Montag.

Leider habe ich noch keine andere Möglichkeit gefunden mit den CLIs von Proxmox .!

Bei ZFS clone ich mir den Snapshot "egal ob Montag, Dienstag, oder Mittwochh"und promote diesen. Und kann notfalls die VM auf einem anderen Server einspielen, wobei bei einem zfs rollback zu Dienstag auch der MIttwoch weg wäre.

Da muss man sich das beste aus dem Proxmox und den ZFS raussuchen.

Übrigens ein Vollbackup eines Webservers mit vzdump unter Proxmox dauert ca. 2Stunden. Bei ZFS nicht mal eine Sekunde.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
INFO: starting new backup job: vzdump 102 --remove 0 --mode snapshot --compress lzo --storage externalusb --node hauptserver
INFO: Starting Backup of VM 102 (qemu)
INFO: status = running
INFO: update VM 102: -lock backup
INFO: backup mode: snapshot
INFO: ionice priority: 7
INFO: creating archive '/mnt/usbexternal/dump/vzdump-qemu-102-2017_09_13-17_50_23.vma.lzo'
INFO: started backup task 'f08d8d01-b807-49a5-8eb1-f31cb48b5842'
INFO: status: 0% (263389184/322122547200), sparse 0% (131821568), duration 3, 87/43 MB/s
INFO: status: 1% (3223322624/322122547200), sparse 0% (377798656), duration 84, 36/33 MB/s
INFO: status: 2% (6443892736/322122547200), sparse 0% (521842688), duration 184, 32/30 MB/s
INFO: status: 3% (9751166976/322122547200), sparse 0% (778256384), duration 272, 37/34 MB/s
INFO: status: 4% (13036224512/322122547200), sparse 0% (1042067456), duration 336, 51/47 MB/s
INFO: status: 5% (16219766784/322122547200), sparse 0% (1170731008), duration 456, 26/25 MB/s
INFO: status: 6% (19339935744/322122547200), sparse 0% (1304461312), duration 541, 36/35 MB/s
INFO: status: 7% (22646882304/322122547200), sparse 0% (1558478848), duration 616, 44/40 MB/s
INFO: status: 8% (25961431040/322122547200), sparse 0% (1816666112), duration 745, 25/23 MB/s
INFO: status: 9% (29068296192/322122547200), sparse 0% (1943011328), duration 843, 31/30 MB/s
INFO: status: 10% (32223723520/322122547200), sparse 0% (2070261760), duration 949, 29/28 MB/s
INFO: status: 11% (35485384704/322122547200), sparse 0% (2333945856), duration 1018, 47/43 MB/s
INFO: status: 12% (38683148288/322122547200), sparse 0% (2462814208), duration 1090, 44/42 MB/s
INFO: status: 13% (41925738496/322122547200), sparse 0% (2718539776), duration 1295, 15/14 MB/s
INFO: status: 14% (45118914560/322122547200), sparse 0% (2852753408), duration 1381, 37/35 MB/s
INFO: status: 15% (48351150080/322122547200), sparse 0% (3129483264), duration 1444, 51/46 MB/s
INFO: status: 16% (51714523136/322122547200), sparse 1% (3397910528), duration 1565, 27/25 MB/s
INFO: status: 17% (54773678080/322122547200), sparse 1% (3532132352), duration 1686, 25/24 MB/s
INFO: status: 18% (58004668416/322122547200), sparse 1% (3674787840), duration 1797, 29/27 MB/s
INFO: status: 19% (61244243968/322122547200), sparse 1% (3943215104), duration 1925, 25/23 MB/s
INFO: status: 20% (64614694912/322122547200), sparse 1% (4211642368), duration 1953, 120/110 MB/s
INFO: status: 21% (67716382720/322122547200), sparse 1% (4345860096), duration 2084, 23/22 MB/s
INFO: status: 22% (70895468544/322122547200), sparse 1% (4480102400), duration 2185, 31/30 MB/s
INFO: status: 23% (74154967040/322122547200), sparse 1% (4745064448), duration 2296, 29/26 MB/s
INFO: status: 24% (77470564352/322122547200), sparse 1% (4986552320), duration 2354, 57/53 MB/s
INFO: status: 25% (80541908992/322122547200), sparse 1% (5146763264), duration 2432, 39/37 MB/s
INFO: status: 26% (83813990400/322122547200), sparse 1% (5281062912), duration 2582, 21/20 MB/s
INFO: status: 27% (87008739328/322122547200), sparse 1% (5557809152), duration 2700, 27/24 MB/s
INFO: status: 28% (90261946368/322122547200), sparse 1% (5700214784), duration 2807, 30/29 MB/s
INFO: status: 29% (93740400640/322122547200), sparse 2% (8474693632), duration 2824, 204/41 MB/s
INFO: status: 30% (96845430784/322122547200), sparse 3% (11579715584), duration 2827, 1035/0 MB/s
INFO: status: 31% (99951050752/322122547200), sparse 4% (14524588032), duration 2874, 66/3 MB/s
INFO: status: 32% (103213039616/322122547200), sparse 5% (16903639040), duration 2893, 171/46 MB/s
INFO: status: 33% (106320035840/322122547200), sparse 5% (17067065344), duration 3001, 28/27 MB/s
INFO: status: 34% (109549453312/322122547200), sparse 5% (17104388096), duration 3062, 52/52 MB/s
INFO: status: 35% (112777232384/322122547200), sparse 5% (17191149568), duration 3183, 26/25 MB/s
INFO: status: 36% (116016807936/322122547200), sparse 5% (17261723648), duration 3318, 23/23 MB/s
INFO: status: 37% (119251533824/322122547200), sparse 5% (17364017152), duration 3384, 49/47 MB/s
INFO: status: 38% (122450542592/322122547200), sparse 5% (17423011840), duration 3491, 29/29 MB/s
INFO: status: 39% (125741694976/322122547200), sparse 5% (17493377024), duration 3623, 24/24 MB/s
INFO: status: 40% (128860684288/322122547200), sparse 5% (17536040960), duration 3701, 39/39 MB/s
INFO: status: 41% (132072603648/322122547200), sparse 5% (17608421376), duration 3815, 28/27 MB/s
INFO: status: 42% (135314931712/322122547200), sparse 5% (17655078912), duration 3909, 34/33 MB/s
INFO: status: 43% (138527571968/322122547200), sparse 5% (17736798208), duration 4043, 23/23 MB/s
INFO: status: 44% (141750501376/322122547200), sparse 5% (17775538176), duration 4138, 33/33 MB/s
INFO: status: 45% (144996302848/322122547200), sparse 5% (17860349952), duration 4238, 32/31 MB/s
INFO: status: 46% (148178534400/322122547200), sparse 5% (17905451008), duration 4344, 30/29 MB/s
INFO: status: 47% (151409917952/322122547200), sparse 5% (17980162048), duration 4499, 20/20 MB/s
INFO: status: 48% (154700218368/322122547200), sparse 5% (18022047744), duration 4585, 38/37 MB/s
INFO: status: 49% (157881991168/322122547200), sparse 5% (18098393088), duration 4726, 22/22 MB/s
INFO: status: 50% (161073201152/322122547200), sparse 5% (18134622208), duration 4813, 36/36 MB/s
INFO: status: 51% (164290625536/322122547200), sparse 5% (18224209920), duration 4893, 40/39 MB/s
INFO: status: 52% (167563362304/322122547200), sparse 5% (18275577856), duration 4985, 35/35 MB/s
INFO: status: 53% (170731372544/322122547200), sparse 5% (18372837376), duration 5062, 41/39 MB/s
INFO: status: 54% (173948141568/322122547200), sparse 5% (18424713216), duration 5179, 27/27 MB/s
INFO: status: 55% (177254039552/322122547200), sparse 5% (18509410304), duration 5286, 30/30 MB/s
INFO: status: 56% (180414054400/322122547200), sparse 5% (18547236864), duration 5366, 39/39 MB/s
INFO: status: 57% (183689936896/322122547200), sparse 5% (18617958400), duration 5462, 34/33 MB/s
INFO: status: 58% (186900283392/322122547200), sparse 5% (18657849344), duration 5570, 29/29 MB/s
INFO: status: 59% (190116265984/322122547200), sparse 5% (18745274368), duration 5636, 48/47 MB/s
INFO: status: 60% (193322024960/322122547200), sparse 5% (18820825088), duration 5718, 39/38 MB/s
INFO: status: 61% (196504846336/322122547200), sparse 5% (18959974400), duration 5818, 31/30 MB/s
INFO: status: 62% (199760740352/322122547200), sparse 5% (19086532608), duration 5888, 46/44 MB/s
INFO: status: 63% (203002216448/322122547200), sparse 6% (19333443584), duration 5933, 72/66 MB/s
INFO: status: 64% (206165508096/322122547200), sparse 6% (19458973696), duration 6022, 35/34 MB/s
INFO: status: 65% (209483857920/322122547200), sparse 6% (19710173184), duration 6118, 34/31 MB/s
INFO: status: 66% (212642365440/322122547200), sparse 6% (19835043840), duration 6228, 28/27 MB/s
INFO: status: 67% (215837179904/322122547200), sparse 6% (20083093504), duration 6330, 31/28 MB/s
INFO: status: 68% (219114242048/322122547200), sparse 6% (20225728512), duration 6425, 34/32 MB/s
INFO: status: 69% (222281400320/322122547200), sparse 6% (20444090368), duration 6537, 28/26 MB/s
INFO: status: 70% (225512652800/322122547200), sparse 6% (20571213824), duration 6634, 33/32 MB/s
INFO: status: 71% (228804657152/322122547200), sparse 6% (20817707008), duration 6715, 40/37 MB/s
INFO: status: 72% (231961460736/322122547200), sparse 6% (20944306176), duration 6789, 42/40 MB/s
INFO: status: 73% (235173314560/322122547200), sparse 6% (21211148288), duration 6960, 18/17 MB/s
INFO: status: 74% (238372782080/322122547200), sparse 6% (21429116928), duration 7096, 23/21 MB/s
INFO: status: 75% (241640275968/322122547200), sparse 6% (21700546560), duration 7190, 34/31 MB/s
INFO: status: 76% (244830044160/322122547200), sparse 6% (21861785600), duration 7292, 31/29 MB/s
INFO: status: 77% (248040325120/322122547200), sparse 6% (22029012992), duration 7386, 34/32 MB/s
INFO: status: 78% (251360247808/322122547200), sparse 6% (22176706560), duration 7500, 29/27 MB/s
INFO: status: 79% (254510628864/322122547200), sparse 6% (22337122304), duration 7569, 45/43 MB/s
INFO: status: 80% (257705902080/322122547200), sparse 6% (22418112512), duration 7691, 26/25 MB/s
INFO: status: 81% (260948492288/322122547200), sparse 7% (22584561664), duration 7838, 22/20 MB/s
INFO: status: 82% (264196849664/322122547200), sparse 7% (22697148416), duration 7950, 29/27 MB/s
INFO: status: 83% (267395137536/322122547200), sparse 7% (22883295232), duration 8066, 27/25 MB/s
INFO: status: 84% (270718926848/322122547200), sparse 7% (23131750400), duration 8187, 27/25 MB/s
INFO: status: 85% (273864589312/322122547200), sparse 7% (23264223232), duration 8235, 65/62 MB/s
INFO: status: 86% (277162557440/322122547200), sparse 7% (23486234624), duration 8390, 21/19 MB/s
INFO: status: 87% (280295374848/322122547200), sparse 7% (23664689152), duration 8491, 31/29 MB/s
INFO: status: 88% (283657502720/322122547200), sparse 7% (24995487744), duration 8564, 46/27 MB/s
INFO: status: 89% (287039160320/322122547200), sparse 8% (28359774208), duration 8568, 845/4 MB/s
INFO: status: 90% (289945550848/322122547200), sparse 9% (31217766400), duration 8572, 726/12 MB/s
INFO: status: 91% (293137022976/322122547200), sparse 10% (34283102208), duration 8577, 638/25 MB/s
INFO: status: 92% (296354381824/322122547200), sparse 11% (37468725248), duration 8581, 804/7 MB/s
INFO: status: 93% (300074795008/322122547200), sparse 12% (41112649728), duration 8586, 744/15 MB/s
INFO: status: 94% (302950252544/322122547200), sparse 13% (43933417472), duration 8590, 718/13 MB/s
INFO: status: 95% (306870157312/322122547200), sparse 14% (47787589632), duration 8600, 391/6 MB/s
INFO: status: 96% (309245181952/322122547200), sparse 15% (50142281728), duration 8603, 791/6 MB/s
INFO: status: 97% (312528011264/322122547200), sparse 16% (53394800640), duration 8607, 820/7 MB/s
INFO: status: 98% (316295741440/322122547200), sparse 17% (57129619456), duration 8613, 627/5 MB/s
INFO: status: 99% (319394480128/322122547200), sparse 18% (60038438912), duration 8621, 387/23 MB/s
INFO: status: 100% (322122547200/322122547200), sparse 19% (62766505984), duration 8624, 909/0 MB/s
INFO: transferred 322122 MB in 8624 seconds (37 MB/s)
INFO: archive file size: 219.05GB
INFO: Finished Backup of VM 102 (02:23:46)
INFO: Backup job finished successfully
TASK OK

Was ich bisher immer noch nicht hingekommen habe, wie kann ich eine einzelne Datenbank mit einem zfs snapshot versehen.

Natürlich könnte ich auch immer nur die VM sichern, aber ich suche eine Möglichkeit dass ganze per einzelnen Server ohne VM hinzugekommen. Auf meinem Webhoster kann ich keine Snapshots meines Servers anlegen, aber wenn ich diesen mit ZFS einrichte, dann habe ich alle Wege offen, selbst inkementelle snapshot können wiederum auf einen anderen Server gelagert werden und und und. Ich bin total begeistert davon.

viele grüsse

jb-alvarado

Anmeldungsdatum:
28. November 2012

Beiträge: 345

xylit schrieb:

nein, ich kann von web einen snapshot erstellen ohne einen von db zubekommen. Wenn alle beide einen snapshot bekommen sollen, dann nehme - den flag -r mit.

Ah cool, das wusste ich nicht.

ja das geht auch, du kannst auch über die Console oder direkt im Webgui von Proxmox einen Snapshot durchführen.

ABER! wenn ich mit Proxmox im Webgui snapshots durchführe Montag, Dienstag, Mittwoch, dann kann ich nicht direkt auf Montag zu greifen, sondern dann muss ich rückwarts alles zurückspielen. Mittwoch, Dienstag, Montag.

Das Script von dem ich gesprochen habe funktioniert anders:

Es macht einen Snapshot im Livebetrieb, sichert das komplette VM Image - im Zustand vor dem Snapshot, und merged anschließen den Snapshot wieder in das Image. Dadurch habe ich für 17 Tage immer ein komplette Images was ich unabhängig zurück spielen kann.

VMs ständig snapshoten und nie mergen wäre mir zu riskant, die bauen ja aufeinander auf.

Bei ZFS clone ich mir den Snapshot "egal ob Montag, Dienstag, oder Mittwochh"und promote diesen. Und kann notfalls die VM auf einem anderen Server einspielen, wobei bei einem zfs rollback zu Dienstag auch der MIttwoch weg wäre.

Ist natürlich auch eine feine Sache!

Da muss man sich das beste aus dem Proxmox und den ZFS raussuchen.

Warum dann überhaupt Proxmox?

Übrigens ein Vollbackup eines Webservers mit vzdump unter Proxmox dauert ca. 2Stunden. Bei ZFS nicht mal eine Sekunde.

Klar, wenn ein Image weg sichern dauert halt seine Zeit. Meine VMs dauern auch ca. 30min, weil sie ja auf ein andere Storage kopiert werden. Davon bekommt aber niemand was mit, weil die VM ja trotzdem Online ist. Und dank borgbackup, wird auch nur das gesichert, was sich geändert hat.

Was ich bisher immer noch nicht hingekommen habe, wie kann ich eine einzelne Datenbank mit einem zfs snapshot versehen.

Müsste doch gehen, wenn jede DB auf einen eigenen Pool liegt?

Natürlich könnte ich auch immer nur die VM sichern, aber ich suche eine Möglichkeit dass ganze per einzelnen Server ohne VM hinzugekommen. Auf meinem Webhoster kann ich keine Snapshots meines Servers anlegen, aber wenn ich diesen mit ZFS einrichte, dann habe ich alle Wege offen, selbst inkementelle snapshot können wiederum auf einen anderen Server gelagert werden und und und. Ich bin total begeistert davon.

Ja ZFS ist genial! Bis jetzt kommt es bei uns nur als NAS Dateisystem zum Einsatz. Habe aber von dir ein paar Anregungen bekommen, die ich vielleicht umsetzen werde wenn neue Server ins Haus kommen. Hoffe dass ZFS 0.71 auf Debian bald verfügbar ist.

Grüße

Jonathan

xylit

(Themenstarter)

Anmeldungsdatum:
22. September 2016

Beiträge: 138

Hallo,

Proxmox nehme ich schon seit ein paar Jahren, hat sich so ergeben. Bei der Version 5 kann ich schon bei der Installation ein ZFS Raid anlegen. Später kann man mit zpool history sehen, was bei der Installion angelegt wurde. Das Proxmox läuft auf der Version Debian 9 mit ZFS .

Davor hatte ich mit ZFS nichts zu tun. Doch dann schaute ich mir das Video https://vimeo.com/16429564 und https://vimeo.com/8666489 Und endlich kein Hardware Controller mehr!

Nochmals zum Backup des Webservers

1
2
3
zfs snapshot rpool/webserver@heute
zfs clone rpool/webserver@heute rpool/cloneweb
zfs promote rpool/cloneweb

keine 3 Sekunden!

Jetzt sichert Bacula die VM weg. Danach

1
2
zfs destory rpool/cloneweb
zfs destroy zfs clone rpool/webserver@heute

fertig!.

Ich möchte später meinen Kunden eine gute und sichere Lösung anbieten, die auch Kostengünstig von der Hardware ist. Da benötige ich keinen Server mehr für ein paar 1000 Euro.

3 Festplatten "2 Schubrahmen HOTPLUG" uind fertig.

Mit Proxmox den Hypervisor und mit Bacula wird alles auf die USB Platte gesichert. Wenn der Plattenplatz mal ausgeht, wird der mirror einfach um zwei Festplatten erweitert. Hat der Rechner 64 GB und mehr, kann da noch locker ein Seafile oder Owncloud Server dazugenommen werden oder ein Typo3 Server.

Sollte die Workstation ein mal abrauchen, dann installiere ich auf einen anderen Rechner Proxmox und spiele die Daten von der USB wieder zurück.

Nächtes Jahr möchte ich kleinere Betriebe mit EDV betreuen, und ich denke, dass gerade bei mir ZFS eine grosse Rolle spielen wird. Selbst der Bacula Server solle auch gesichert werden, dass wird mit ZFS ein kinderspiel, obwohl zur Zeit wird unser Bacula Server von Proxmox auf eine externe USB Platte gesichert.

1
vzdump 103 --quiet 1 --mode suspend --node hauptserver --compress lzo --storage externalusb  --maxfiles 2 --remove 1 --mailto 

Da kann ich immer zwei Tage zurück gehen und die Sicherung dauert keine 10 Minuten, da die ganzen Daten werden vom Bacula Server direkt über SSH auf eine NAS gesichert.

Also habe ich nun Proxmox Sicherungen und snapshots mit zfs und die reinen Daten auf einer NAS die mit Bacula gesichert werden. Nun kann ich auch selbst auf dem Proxmox raw Images nehmen.

Dazu lege ich mir für jeden Server ein pool an

1
2
3
4
rpool/webserver
rpool/seafile
rpool/Baikal
rpool/bacula

Im Webgui von Proxmox füge ich diese als Storage ein. Danach kann ich entweder direkt mit Proxmox die Sicherungen durchführen oder direkt mit ZFS auf der Console.

viele grüsse

Antworten |