Esiste una sospensione per Linux?


8

La sospensione di un file system consente di eseguire un backup del database mentre è ancora in esecuzione e di altri programmi e dei relativi dati.

In genere l'applicazione deve essere informata dell'operazione di backup di sospensione perché tutti i buffer devono essere scaricati su disco e tutte le richieste di scrittura in arrivo devono essere arrestate in modo da poter creare un backup valido senza arrestare completamente il sistema.

Linux ha ancora qualche supporto per questo genere di cose? Ho letto che Microsoft Windows ha il supporto per questo sin da Windows Server 2003 e ho visto alcuni punti in cui parlano di come si può fare con Linux usando una VM. Ma non so quali VM specifiche, se le VM devono essere in esecuzione su Windows come host.

E che dire delle piattaforme al di sopra del livello del sistema operativo come Java? C'è qualche supporto per quiesce lì?


1
Sentiti libero di suggerire un tag wiki unix.stackexchange.com/edit-tag-wiki/2294 , dal momento che lo conosci
daisy

Esiste almeno un progetto OpenSource in Linux per ottenere qualcosa di simile a VSS in Linux?
leeand00,

@ warl0ck Non ho abbastanza rappresentante su questo sito per creare un tag quiesce.
leeand00,

Non sono sicuro che sia utile, ma il post qui: blog.liw.fi/posts/backups-6 fa riferimento alla mia domanda.
leeand00,

Risposte:


8

Quando si esegue un'istantanea LVM, i dati in sospeso (nei buffer del kernel, non nelle applicazioni) vengono scaricati sul disco e le applicazioni vengono bloccate dalla scrittura mentre lo snapshot è in corso. Puoi anche congelare un FS allo stesso modo se stai eseguendo il backup del dispositivo a blocchi su cui si trova FS con alcuni mezzi esterni (come se il disco sia virtuale e lo stai eseguendo sul backup sull'host) usando fsfreezeo xfs_aio. Anche i filesystem che implementano lo snapshot (come BTRFS, NILFS, ZFS ...) lo farebbero. In generale, le istantanee a quei livelli garantiscono che i dati nell'istantanea sono un congelamento istantaneo di ciò che è stato impegnato in FS in un determinato momento e che FS congelato si trova in uno stato pulito coerente.

Per quanto riguarda il dire alle applicazioni di sospendere e scaricare i loro dati bufferizzati in FS, non esiste un quadro generale e l'ultima volta che ho verificato, il consenso generale era che avrebbe più probabilmente causato danni introducendo complessità inutili e bug associati piuttosto che migliorare le cose come applicazioni dovrebbe concentrarsi sull'avere i loro dati in forma coerente sul disco in caso di crash del sistema / hardware comunque.

Ad alcune applicazioni, come ad esempio alcuni database, si può dire di sospendere come MySQL FLUSH TABLES WITH READ LOCK.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.