Puncte:0

Cum se redimensionează partiția la dimensiunea maximă pe Debian 8?

drapel us

Întrebarea mea este cum să redimensionez partiția pe Debian 8 fără a pierde date? Am o partiție de 90 GB, dar discul meu are 150 GB spațiu pe serverul VPS, deci 50 GB sunt gratuit și vreau să adaug acești 50 GB fără a pierde date, așa se prezintă:

2

Am încercat să folosesc resize2fs comandă, dar acest lucru nu m-a ajutat pentru că îmi arată o eroare:

Sistemul de fișiere are deja n blocuri. Nimic de făcut!

Am extins deja o partiție pe Debian 11 cu resize2fs și totul a fost bine, aici nu știu de ce, dar nu vrea să funcționeze.

EDITAȚI | ×

introduceți descrierea imaginii aici

paladin avatar
drapel id
Utilizați un manager de partiții, cum ar fi fdisk sau parted, tipăriți tabelul de partiții curent în octeți, ștergeți partiția pe care doriți să o măriți, creați o nouă partiție cu exact aceleași valori ca cea șters, dar octetul final este de data aceasta mai mare, salvați modificările în partiție și părăsiți managerul de partiții. Utilizați din nou resize2fs. **PS creați o copie de rezervă a tabelului original de partiții înainte de a șterge orice. PPS dacă creați greșit noua partiție, probabil veți pierde date. PPPS utilizează o versiune Debian mai nouă.**
paladin avatar
drapel id
PS, de asemenea, dezactivează mai întâi partiția SWAP și șterge și partiția SWAP.
drapel pl
Trebuie să (1) redimensionați partiția, care necesită un spațiu liber chiar lângă vda1 (unde se află schimbul dvs. pe disc?) și trebuie să fie transportat în timp ce *demontați* pentru majoritatea tipurilor de sisteme de fișiere (al dvs. este un ext*?). Numai atunci, trebuie să (2) redimensionați sistemul de fișiere.
drapel pl
vă rugăm să furnizați rezultatul `lsblk --fs`
Piotror avatar
drapel us
@Brahim vda1 este ext4
Nikita Kipriyanov avatar
drapel za
Vedem două partiții, dar nu este clar cum este așezat pe disc. Numerele nu corespund întotdeauna cu ordinea reală de pe disc, ci cu ordinea intrărilor din tabelul de partiții. De exemplu. este posibil ca vda2 să fie localizat înaintea vda1 pe disc. Pentru a fi sigur, afișați `fdisk -l /dev/vda`. (De fapt, am nevoie de asta să știu dacă ar trebui să faci ceva cu acea partiție de swap sau nu.)
Puncte:1
drapel pl

În funcție de aspectul discului, trebuie

(0) îndepărtați partiția de schimb pentru a lăsa spațiu pentru extindere vda1; spațiul de partiție trebuie să fie contiguu. în acest scop:

  • dezactivați schimbul, cu swapoff /dev/vda2 (/dev/vda2 este fișierul dispozitivului dvs. de schimb. Verificați întotdeauna argumentele mele)
  • eliminați partiția de swap folosind parted /dev/vda rm partno Unde partno este numărul partiției swap conform despărțit /dev/vda, (ar trebui să fie 2?)
  • recreați partiția de swap de la sfârșitul discului, cu /dev/parted /dev/vda mkpart -4G -1s. Numerele negative aici sunt referințe de la sfârșitul discului, ceea ce înseamnă că partiția se întinde pe ultimul 4 GiB de disc (-1s înseamnă că partiția se termină la ultimul sector al discului, ceea ce este imposibil, deoarece aceasta va suprascrie antetul GPT secundar, deci despărțit va modifica exact începutul/sfârșitul și alinierea partiției (vi se va solicita). Partiția va fi creată cu același număr 2. Deci fișierul dispozitivului va fi numit /dev/vda2. Trebuie să-l verifici.
  • reactivați schimbul, cu mkswap /dev/vda2 atunci swapon /dev/vda2
  • actualizați linia având RELUARE= în /etc/initramfs-tools/conf.d/resume dacă există. Această linie specifică partiția folosită pentru hibernare și este identificată fie cu UUID=... sau LABEL=.... Puteți găsi UUID-ul sau eticheta partiției de swap folosind blkid
  • actualizați linia care descrie partiția de swap din tabelul fs /etc/fstab. Doar actualizați UUID-ul, eticheta sau numărul partiției (în funcție de modul în care este desemnată partiția de swap în fișier)

Odată ce schimbul este mutat, trebuie

(1) redimensionați partiția rădăcină, care acum are spațiu liber lângă ea. Puteți folosi comanda parte de creștere (din pachet cloud-utils) care face ca o partiție să utilizeze tot spațiul disponibil. Dacă nu puteți obține acest pachet pe sistemul dvs., o puteți face manual cu subcomandă resizepart de despărțit, spunând numai numărul partiției (1?) și poziția END (în blocuri). A se referi la despărțit /dev/vda pentru a obține poziția END așteptată. despărțit vă va împiedica să suprascrieți accidental schimbul.

(2) redimensionați sistemul de fișiere (ext4 poate fi crescut online, nu este nevoie să-l demontați) folosind resize2fs /dev/vda1

Acești pași vă vor rezolva problema, în mod normal fără pierderi de date. Cu toate acestea, se recomandă să faceți backup pentru cele mai importante date.

Puncte:0
drapel za

Trebuie să eliminați partiția de swap, să extindeți partiția de date și să recreați swap-ul dacă aveți nevoie.

Dacă aveți suficientă memorie liberă (swap-ul nu este folosit prea mult), puteți face acest lucru fără întrerupere a serviciului. Începe cu: swapoff /dev/vda2, pentru a elibera schimbul. Dacă nu puteți face acest lucru (memorie insuficientă), va trebui să opriți serviciile care consumă memorie până când puteți dezactiva schimbarea.

După schimbarea cu succes, rulați fdisk /dev/vda și scoateți a doua partiție.

Acum decide de cât schimb ai nevoie și calculează de unde ar trebui să înceapă. De exemplu, dacă doriți să aveți un schimb de exact 8 GiB (16777216 sectoare) așa cum aveți acum și aveți exact un disc de 150 GiB (314572800 sectoare), schimbul dvs. ar trebui să înceapă de la sectorul 314572800-16777216 = 2977955584, deci creați o nouă partiție vda. de tip 82 (Linux swap), care începe pe acest sector și 314572799 (ar trebui să sugereze această valoare de la sine). Nu folosiți orbește numerele mele, calculați-le singur, pentru că am făcut o presupunere despre dimensiunea discului – ascundeți oarecum părți de informații care ar putea face acest calcul exact. (Și în viitor nu postați capturi de ecran ale consolei, ci doar copiați și lipiți-l ca text, asta este mult mai bine. Și nu omiteți informații precum partiționarea discului, mai bine copiați rezultatul complet; nu ar putea fi folosit pentru să vă identifice sau să vă facă vreun rău, dar face viața mai ușoară.)

Când ați recreat partiția de swap la sfârșitul unității, puteți extinde prima partiție. Este descris în detaliu în acest raspuns, așa că doar îl subliniez aici și puteți oricând să consultați acolo pentru detalii.

Observați-vă vda1 începe la sectorul 2048. Acest lucru este foarte important!

  1. Scoateți prima partiție. Da, fă-o. Da, pe sistemul de rulare. Nimic nu se va întâmpla și nimic nu se va pierde.
  2. Creați o nouă partiție 1, ar trebui să înceapă exact la sectorul 2048 și să se termine la sau după ultimul sector curent, 188745727. Asigurați-vă că noua partiție începe la 2048 și nu este mai mică decât era! De asemenea, observați că poate detecta o semnătură de sistem de fișiere și sugerează să o ștergeți. Nu șterge.
  3. Commiteți modificări pe disc (w), fdisk ar trebui să iasă și să spună că tabelul de partiții este scris, dar nucleul încă folosește tabelul de partiții vechi. Utilizare kpartx sau sondă parțială pentru a-l reîncărca, așa cum sugerează. Sau dezactivați schimbul /etc/fstab și reporniți (trebuie să îl dezactivați pentru ca acesta să nu oprească boot-ul din cauza lipsei semnăturii de schimb).
  4. În acest moment dvs lsblk ar trebui să arate deja noua dimensiune a partiției. Puteți extinde sistemul de fișiere cu resize2fs /dev/vda1. În ceea ce privește schimbul, creați o nouă structură de schimb cu mkswap /dev/vda2 si daca /etc/fstab se referă la swap folosind UUID, actualizați-l cu o nouă valoare pe care v-a imprimat-o mkswap.
drapel pl
de ce ar trebui eliminată partiția 1? nu este aceasta partiția rădăcină!!
Nikita Kipriyanov avatar
drapel za
Eliminați și apoi creați o partiție care începe la același sector este exact același lucru cu „redimensionarea” unei partiții. În esență, schimbă doar unele numere din înregistrarea tabelului de partiții. Dacă crezi că „growpart” face altceva, nu înțelegi ce se întâmplă.
drapel pl
Nu, eu nu. Dar cred că creșterea (`growpart`) sau redimensionarea (`parted resizepart`) sunt mai puțin predispuse la erori de utilizator și mai ușor.
Nikita Kipriyanov avatar
drapel za
Dar de ce ar trebui să instalez software suplimentar pe care nu l-aș folosi aproape niciodată, când există deja un software care ar putea face treaba? Da, unele instrumente pot părea mai puțin predispuse la erori, dar oferă și mai puțin control. De asemenea, de ce vă referiți în continuare la aceeași operațiune folosind termeni diferiți, ca și cum acele instrumente ar face altceva decât să actualizeze aceleași numere în tabelul de partiții în același mod?
drapel pl
Fiecare lucru are un cost, astfel încât cineva poate accepta să instaleze software suplimentar pentru a evita sarcinile de rutină sau consumatoare de concentrare. Rețineți că `parted` oferă subcomandă `resizepart` pentru a îndeplini acest caz de utilizare comun, `growpart` este o alternativă independentă. S-ar recurge la `fdisk` pentru un scenariu neobișnuit de manipulare a partițiilor.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.