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