Kako premakniti domači imenik na novo particijo ali disk v Linuxu


V katerem koli sistemu Linux mora biti eden od imenikov, ki se bodo zagotovo povečali, imenik /home . To je zato, ker bodo imeniki sistemskih računov (uporabnikov) prebivali v/home, razen v korenskem računu - tukaj bodo uporabniki neprekinjeno shranjevali dokumente in druge datoteke.

Drug pomemben imenik z enakim vedenjem je /var , ki vsebuje dnevniške datoteke, katerih velikost se bo postopoma povečevala, ko se bo sistem še naprej zaganjal, na primer datoteke dnevnika, spletne datoteke, datoteke tiskalnih spool itd.

Ko se ti imeniki napolnijo, lahko to povzroči kritične težave v korenskem datotečnem sistemu, kar povzroči okvaro sistema ali nekatere druge s tem povezane težave. Včasih pa lahko to opazite šele po namestitvi sistema in konfiguraciji vseh imenikov v korenskem datotečnem sistemu/particiji.

V tem priročniku bomo pokazali, kako premakniti domači imenik v namensko particijo, po možnosti na novem disku za shranjevanje v sistemu Linux.

Namestitev in razdelitev novega trdega diska v Linux

Preden nadaljujemo, bomo na kratko razložili, kako dodati nov trdi disk obstoječemu strežniku Linux.

Opomba: Če imate particijo že pripravljeno za operacijo, se pomaknite na razdelek, ki pojasnjuje korake za premik imenika /home v lastno particijo spodaj.

Predvidevamo, da ste nov disk pritrdili na sistem. Na trdem disku se število particij, ki jih je treba ustvariti, kot tudi tabela particij običajno določa glede na vrsto nalepke diska, prvih nekaj bajtov prostora pa bo opredelilo MBR (Master Boot Record), ki shrani particijsko tabelo in zagonski nalagalnik (za zagonske diske).

Čeprav obstaja veliko vrst nalepk, Linux sprejema le dve: MSDOS MBR (velikost 516 bajtov) ali GPR (tabela particij GUID) MBR.

Predpostavimo tudi, da bo novi trdi disk (/ dev/sdb velikosti 270 GB, uporabljen za namene tega vodnika, verjetno potreboval večjo zmogljivost strežnika za večje uporabniške baze.

Najprej se morate ločiti; v tem primeru smo uporabili ime oznake GPT.

# parted /dev/sdb mklabel gpt

Opomba: ločeno podpira obe nalepki.

Zdaj ustvarite prvo particijo (/ dev/sdb1) z velikostjo 106 GB. Za MBR smo rezervirali 1024 MB prostora.

# parted -a cylinder /dev/sdb mkpart primary 1074MB 107GB

Razlaga zgornjega ukaza:

  • a - možnost določitve poravnave particije.
  • mkpart - pod ukaz za ustvarjanje particije.
  • primarni - nastavi vrsto particije kot primarno na trdem disku (druge vrednosti so logične ali razširjene).
  • 1074 MB - začetek particije.
  • 107 GB - konec particije.

Zdaj preverite prosti prostor na disku, kot sledi.

# parted /dev/sdb print free

Ustvarili bomo drugo particijo (/dev/sdb2) velikosti 154 GB.

# parted -a cylinder /dev/sdb mkpart primary 115GB 268GB

Nato nastavimo vrsto datotečnega sistema na vsaki particiji.

# mkfs.ext4 /dev/sdb1
# mkfs.xfs /dev/sdb2

Če si želite ogledati vse pomnilniške naprave, priključene na sistem, vnesite.

# parted -l

Zdaj smo dodali nov disk in ustvarili potrebno particijo; zdaj je čas, da domačo mapo premaknete v eno od particij. Če želite uporabljati datotečni sistem, ga morate namestiti v korenski datotečni sistem na točki pritrditve: ciljni imenik, na primer /home.

Najprej s pomočjo ukaza df v sistemu navedite uporabo datotečnega sistema.

# df -l

Začeli bomo z ustvarjanjem novega imenika/srv/home, kamor lahko zaenkrat namestimo/dev/sdb1.

# mkdir -p /srv/home
# mount /dev/sdb1 /srv/home 

Nato vsebino/home premaknite v/srv/home (tako bodo praktično shranjene v/dev/sdb1) z ukazom cp.

# rsync -av /home/* /srv/home/
OR
# cp -aR /home/* /srv/home/

Po tem bomo našli orodje diff, če je vse v redu, nadaljujte z naslednjim korakom.

# diff -r /home /srv/home

Nato odstranite vso staro vsebino v /home na naslednji način.

# rm -rf /home/*

Naslednji odklop /srv /home.

# umount /srv/home

Nazadnje moramo datotečni sistem /dev /sdb1 vmes namestiti v /home.

# mount /dev/sdb1 /home
# ls -l /home

Zgornje spremembe bodo trajale samo za trenutni zagon, dodajte spodnjo vrstico v /etc /fstab, da bodo spremembe trajne.

Uporabite naslednji ukaz, da dobite UUID particije.

# blkid /dev/sdb1

/dev/sdb1: UUID="e087e709-20f9-42a4-a4dc-d74544c490a6" TYPE="ext4" PARTLABEL="primary" PARTUUID="52d77e5c-0b20-4a68-ada4-881851b2ca99"

Ko poznate UUID particije, odprite datoteko/etc/fstab in dodajte naslednjo vrstico.

UUID=e087e709-20f9-42a4-a4dc-d74544c490a6   /home   ext4   defaults   0   2

Pojasnilo polja v zgornji vrstici:

  • UUID - določa blok napravo, lahko pa uporabite tudi datoteko naprave/dev/sdb1.
  • /home - to je točka namestitve.
  • etx4 - opisuje vrsto datotečnega sistema na napravi/particiji.
  • privzeto - možnosti namestitve, (tukaj ta vrednost pomeni rw, suid, dev, exec, auto, nouser in async).
  • 0 - uporablja orodje za izpis, 0 pomeni, da ne izstreli, če datotečni sistem ni prisoten.
  • 2 - orodje fsck uporablja za odkrivanje vrstnega reda preverjanja datotečnega sistema. Ta vrednost pomeni preverjanje te naprave po korenskem datotečnem sistemu.

Shranite datoteko in znova zaženite sistem.

Zaženete lahko naslednji ukaz, da vidite, ali je bil imenik/home uspešno premaknjen v namensko particijo.

# df -hl

To je za zdaj! Če želite izvedeti več o datotečnem sistemu Linux, preberite te vodnike o upravljanju datotečnega sistema v Linuxu.

  1. Kako izbrisati uporabniške račune z domačim imenikom v Linuxu
  2. Kaj so Ext2, Ext3 in Ext4 ter kako ustvariti in pretvoriti datotečne sisteme Linux
  3. 7 načinov za določitev vrste datotečnega sistema v Linuxu (Ext2, Ext3 ali Ext4)
  4. Kako namestiti oddaljeni datotečni sistem Linux ali imenik z uporabo SSHFS prek SSH

V tem priročniku smo vam razložili, kako premakniti imenik /home v namensko particijo v sistemu Linux. Vse misli v zvezi s tem člankom lahko delite prek spodnjega obrazca za komentar.