English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Metodo di spostamento del directory home senza cambiare la struttura del directory in linux

Problema proposto

Il server di sviluppo e test dell'azienda è distribuito su Aliyun, gli esempi di istanza forniti da Aliyun sono generalmente un'unico partizione, di circa 20G a 40G, e poi l'archiviazione viene acquistata e montata su altri directory.

Il directory home si trova nella partizione di root di questo disco di 20G. Con l'aumentare del numero di sviluppatori, la partizione di root viene rapidamente riempita.

Poiché è un progetto di ricerca a più luoghi, c'è bisogno di un piano di trasferimento home senza percezione per tutti.

Principio fondamentale

Ricevuta questa attività, la prima cosa che ho pensato è stato il metodo di mount bind:

mount --bind /some/where /else/where

Può realizzare un trasferimento home senza percepire.

Sembra che la ricerca in cinese non abbia spiegato questo comando chiaramente.Questa domanda e risposta Spiega chiaramente, gli studenti con una buona conoscenza dell'inglese possono fare riferimento.

Certo, puoi anche chiedere "uomo": man mount

Operazioni specifiche

Prima di tutto, scegli un momento in cui il rumore è basso, utilizza il comando who per vedere quali bambini sono rimasti nel server senza andarsene e chiamare per pulire uno per uno:

$ who
Frodo  pts/0    2017-04-17 09:07 (xx.xxx.xxx.xx)
Sam   pts/1    2017-04-18 08:45 (xx.xxx.xxx.xx)
Pippin  pts/3    2017-04-18 09:06 (xx.xxx.xxx.xx)
Merry  pts/4    2017-04-18 09:07 (xx.xxx.xxx.xx)

Dopo aver verificato che non ci sono persone intorno, inizia il trasferimento (copia). Quando si utilizza il comando cp, ricordati di aggiungere il parametro -p per mantenere le impostazioni dei permessi dei file. Utilizza i permessi di root, supponendo che il partitione di destinazione sia /new_disk:

# cp -p -r /home /new_disk/

Il nuovo domicilio è stato costruito, prima diamo all'antica casa un altro numero di porta per evitare di perdere il numero di porta dopo aver dato il numero di porta al nuovo domicilio. Utilizza mount --bind per montare il percorso originale home su un nuovo percorso:

# mkdir /home_bkp
# mount --bind /home /home_bkp

In questo momento possiamo trovare tutti i file dell'antica casa nel percorso /home_bkp. Possiamo dare al nuovo domicilio il numero di porta /home:

# mount --bind /new_disk/home /home

Il trasferimento è completato! Puoi avvisare i tuoi amici di lavorare felicemente. In realtà, puoi anche non avvisare nessuno, questo trasferimento non ha alcun impatto sui tuoi amici.

Certo, ci saranno alcuni studenti che chiederanno, nuova casa e vecchia casa con lo stesso numero di porta, entrambe sono /home, come posso sapere se il trasferimento è stato un successo? Puoi utilizzare il comando df per confermarlo:

# cd /home_bkp
# df -h .
Filesystem   Size Used Avail Use% Mounted on
/dev/xvda1    20G  17G 2.1G 90% /
# cd /home
# df -h .
Filesystem   Size Used Avail Use% Mounted on
/dev/xvdb1   296G  42G 240G 15% /new_disk

-h è human-readable, non è necessario aggiungerlo, altrimenti l'elenco sarà "antropocentrico" in unità di blocchi.

Il comando sopra, prima controlla la casa vecchia, il punto di mount è /; poi controlla la nuova casa, il punto di mount è /new_disk. Ora possiamo essere sicuri.

Persistenza

Il lavoro non è ancora finito. Il lavoro sopra assicura che l'indirizzo nuovo sia attualmente corretto. Dopo il riavvio, questa informazione verrà persa e l'indirizzo tornerà all'indirizzo originale. Dobbiamo trovare un modo per mantenere questa informazione.

Modifica il file /etc/fstab. Apri questo file e aggiungi le seguenti due righe alla fine:

/home      /home_bkp none bind 0 0
/new_disk/home  /home   none bind 0 0

Così è completato il lavoro di switch di partizione per l'intero home.

Postilla

Questo piano è stato pensato all'impulso, non è stato trovato un esempio precedente, non si sa se ci saranno problemi... Attualmente il server è in esecuzione da quasi un anno sotto questo piano e non ci sono stati problemi, tutti lavorano molto bene, persino molte persone non sanno nemmeno di questa cosa.

Il percorso di casa /home_bkp non ha problemi con l'implementazione di questo piano dopo un mese, quindi è stato svuotato per liberare spazio.

Dichiarazione: il contenuto di questo articolo è stato raccolto da Internet, di proprietà del rispettivo autore, il contenuto è stato contribuito e caricato autonomamente dagli utenti di Internet, il sito web non detiene i diritti di proprietà, non è stato editato manualmente e non assume responsabilità legali correlate. Se trovi contenuti sospetti di violazione del copyright, ti preghiamo di inviare una e-mail a: notice#oldtoolbag.com (al momento dell'invio dell'e-mail, sostituisci # con @) per segnalare il problema e fornire prove pertinenti. Una volta verificata, il sito web rimuoverà immediatamente il contenuto sospetto di violazione del copyright.

Ti potrebbe interessare