Hva er den enkleste måten å endre størrelse på en ext4-partisjon (eller hvilken som helst type partisjon avhengig av metode) fra kommandolinjen (potensielt med færrest kommandoer, men også det enkleste å forstå)?

Å bruke et verktøy som Gparted er åpenbart enkelt i en GUI, men hva med kommandolinjen? Jeg antar at tekstbaserte GUIer også kan telle på svaret siden det » s teknisk fremdeles på kommandolinjen. Det trenger bare å være enkelt.

Med partisjon mener jeg en enkel partisjon på en enkelt disk på en personlig datamaskin (f.eks. På en bærbar datamaskin). For eksempel vil jeg endre størrelse på /dev/sda4. Det er ingen RAID, det er ikke mer enn en diskstasjon, det er ikke noe komplisert her. Bare en enkel partisjon på en enkelt disk (/ dev / sdaX on / dev / sda).

Kommentarer

  • Du vet sikkert dette, men Gparted er en GUI-frontend til GNU Parted. Tidligere til Parted 2.4 kan du endre størrelse, men dette har siden blitt fjernet. Jeg mistenker at den eneste måten er å gjøre det manuelt, endre størrelse på partisjonstabellen, lage enhetskart og deretter endre størrelse på filsystemet.
  • Har du sett dette artikkel om å endre størrelse på partisjoner?
  • Jeg har ikke ‘ t sett den spesifikke, men kjernen i det er at du sletter partisjonen og deretter lager en ny av størrelsen du vil ha. Men det jeg ‘ gjør iboende, er ikke » sletting av » hva som helst, bare endre størrelse. Det beste svaret på dette spørsmålet vil sannsynligvis være en måte å » endre størrelse på » en partisjon, ikke slett en og opprett en ny, og trinnene resize2fs ville være helt unødvendige og skje i bakgrunnen (fordi brukeren naturlig og åpenbart også vil bruke alt rommet i partisjonen så det skal ikke ‘ ikke være et ekstra trinn).

Svar

Du kan bruke fdisk til å endre partisjonstabellen mens du kjører. Henvis til denne lenken http://codesilence.wordpress.com/2013/03/14/live-resizing-of-an-ext4-filesytem-on-linux/

Kommentarer

  • Du bør legge relevant informasjon fra lenken inn i svaret ditt på grunn av linkrot. Også wordpress.com er for øyeblikket blokkert der jeg bor (Kina), så jeg kan ‘ t til og med se » svaret «.
  • @Thushi, utdata fra fdisk -l paste.ubuntu. com / 24757891 . Jeg vil slå sammen sda5 og sda6 som sda6. Skader det dataene mine?
  • fdisk ser ikke ut til å ta hensyn til brukte / gratis data – noe som kan føre til potensielt datatap (etter min forståelse). Jeg tror ikke ‘ at det skal oppføres som en » enkel » måte på dette sak.

Svar

Hvis du skal øke størrelsen på både partisjonen og filsystemet , kjør deretter først fdisk for å øke størrelsen på partisjonen, og kjør deretter resize2fs for å øke størrelsen på filsystemet.

Hvis du skal krympe størrelsen på begge deler, kjør resize2fs først og kjør deretter fdisk.

Svar

gparted bruker resize2fs til endre partisjonens størrelse. Det tar ikke mange argumenter. Nedenfor er de jeg har funnet nyttige.

-M krymper til filsystemets minste størrelse.

-p viser en prosentvis indikator.

-P skriver ut filsystemets minste størrelse og går ut.

Kommentarer

  • resize2fs endrer ikke ‘ i det hele tatt partisjonstabellen, det endrer størrelsen på et filsystem . Etter å ha brukt det må du ‘ endre størrelsen på partisjonen som filsystemet var på tilsvarende.

Svar

En skriptbar metode, forutsatt at det er ledig plass rett etter størrelsen på partisjonen:

echo "- +" | sfdisk -N <partnum> /dev/sdX 

… etterfulgt av resize2fs /dev/sdX<partnum>.

- ber sfdisk om å bruke den eksisterende start sektoren, og + forteller at den skal lage så stor som mulig gitt den ledige plassen.

Kommentarer

  • Mens det var merkelig skremmende, gjorde dette akkurat det jeg ønsket etter dd -ing over et filsystem fra et ddrescue -bilde til en ny stasjon som tilfeldigvis var større. Takk skal du ha.

Svar

Jeg svarer på dette hvis du har en lignende situasjon som min. Jeg måtte endre størrelse FileSystem (Ext4) på en dynamisk disk som kjører Ubuntu 18.0.4 LTS som gjest. Jeg klarte å endre størrelse på disken fra verten og deretter endre størrelse på FileSystem.

Å kjøre de vanlige kommandoene var ikke mulig. For eksempel:

$ resize2fs /dev/sda2 resize2fs 1.44.1 (24-Mar-2018) The filesystem is already 13180160 (4k) blocks long. Nothing to do! 

og fdisk var ganske komplisert, også sannsynligvis måtte jeg kjøre en LiveCD for å kunne jobbe på den umonterte disken.

Disse to kommandoene løste problemet mitt enkelt og raskt:

$ growpart /dev/sda 2 CHANGED: partition=2 start=4096 old: size=105441280 end=105445376 new: size=409595871,end=409599967 $ resize2fs /dev/sda2 resize2fs 1.44.1 (24-Mar-2018) Filesystem at /dev/sda2 is mounted on /; on-line resizing required old_desc_blocks = 7, new_desc_blocks = 25 The filesystem on /dev/sda2 is now 51199483 (4k) blocks long. 

Merk: 2 i den første kommandoen, som indikerer partisjonsnummeret på enheten /dev/sda.

Svar

Endre størrelse på en Linux-rotpartisjon uten å starte på nytt

Innledning

En typisk Linux-server distribuert fra et ProfitBricks-medfølgende bilde har et enkelt lagringsvolum, /dev/vda. Hvis vi tar en titt på det ved å bruke fdisk, vil vi se at disken er delt inn i to partisjoner. Den første, /dev/vda1, er oppstartspartisjonen der operativsystemet ligger. Den andre partisjonen, /dev/vda2, er konfigurert som bytteplass.

root@debian:~# fdisk -l /dev/vda 

Disk /dev/vda: 50 GiB, 53687091200 bytes, 104857600 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x0041f8a8

Device Boot Start End Sectors Size Id Type /dev/vda1 2048 96471039 96468992 46G 83 Linux /dev/vda2 96471040 104857599 8386560 4G 82 Linux swap / Solaris

I eksemplet ovenfor , er det totale lagringsvolumet på 50 GB delt inn i 46 GB brukbar plass og 4 GB for bytte. Hva om vi etter klargjøring finner ut at 46 GB diskplass ikke er nok, men vi foretrekker ikke å legge til et ekstra lagringsvolum? Målet er å øke mengden ledig diskplass på rotfilsystemet. Dette kan oppnås med minimal forstyrrelse. Vi trenger ikke å starte serveren på nytt!

Krav

  • En Linux-server opprettet fra et ProfitBricks-levert bilde.
  • SSH- eller konsolltilgang (via DCD ) til Linux-serveren.
  • Kommandoen partprobe. Kan installeres fra parted -pakken på de fleste Linux-distribusjoner.
  • fdisk, swapoff, mkswap, swapon og resize2fs kommandoer. Sannsynligvis tilgjengelig som standard.
  • Et nåværende øyeblikksbilde eller annen sikkerhetskopi av systemet du jobber med. Bare for å være trygg!

Tilleggsstørrelse

For å øke størrelsen på harddisken, gå inn i DCD (Data Center Designer) og oppskaler harddisken.

Etter at du har økt mengden diskplass, klikk på » klargjøring «for å behandle endringen. Tar omtrent et minutt og harddisken din blir større.

Vi må da slå av byttet – så sørg for at du kan leve noen minutter uten bytteplass:

root@debian:~# swapoff -a 

Når bytte er deaktivert, må vi konfigurere partisjonene på nytt ved hjelp av fdisk:

Vi vil først slette de to eksisterende partisjonene . Vi kjører fdisk /dev/vda og bruker deretter d -kommandoen for å slette partisjon 2, og deretter slette partisjon 1. Følg eksemplet nedenfor:

root@debian:~# fdisk /dev/vda 

Command (m for help): d Partition number (1,2, default 2):

Partition 2 has been deleted.

Command (m for help): d Selected partition 1 Partition 1 has been deleted.

Nå gjenskaper vi partisjonene våre. I eksemplet har vi 4 GB bytterom. Så vi må ha minst så mye plass tilgjengelig for den nye byttepartisjonen.

Gjenopprett /dev/vda1 først. Trykk på n for å opprette en ny partisjon. Skriv inn p for å opprette en primær partisjon. Vi kan trykke Skriv inn for å godta standardverdien 2048 for første sektor. Angi deretter en størrelse for partisjonen. Du kan angi en verdi i GB, så hvis vi øker disken til 100 GB, trekker vi 4 GB for bytte, og skriver + 96G for 96 GB.

Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-209715199, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-209715199, default 209715199): +96G 

Created a new partition 1 of type "Linux" and of size 96 GiB.

Nå gjenskaper vi byttepartisjonen etter en lignende prosess. Trykk n og deretter p for å opprette en ny primærpartisjon. Trykk på Skriv inn for å godta standardverdien for «Første sektor». Vi kan også trykke Skriv inn igjen for å godta standardverdien for «Siste sektor».

Command (m for help): n Partition type p primary (1 primary, 0 extended, 3 free) e extended (container for logical partitions) Select (default p): p Partition number (2-4, default 2): 2 First sector (201328640-209715199, default 201328640): Last sector, +sectors or +size{K,M,G,T,P} (201328640-209715199, default 209715199): 

Created a new partition 2 of type "Linux" and of size 4 GiB.

Siden denne andre partisjonen skal brukes til å bytte plass, må vi endre partisjonstypen. Dette kan gjøres ved å trykke t ved fdisk ledeteksten. Vi trykker deretter på 2 for å velge den andre partisjonen.Hvis du vil se listen over tilgjengelige partisjonstyper, trykker du L , ellers skriver du inn 82 for å velge «Linux swap / Solaris».

Command (m for help): t Partition number (1,2, default 2): 2 Partition type (type L to list all types): L 

0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris 1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT- 2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT- 3 XENIX usr 3c PartitionMagic 84 OS/2 hidden or c6 DRDOS/sec (FAT- 4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx 5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data 6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / . 7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility 8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt 9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi ea Rufus alignment e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD eb BeOS fs f W95 Ext"d (LBA) 54 OnTrackDM6 a6 OpenBSD ee GPT 10 OPUS 55 EZ-Drive a7 NeXTSTEP ef EFI (FAT-12/16/ 11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f0 Linux/PA-RISC b 12 Compaq diagnost 5c Priam Edisk a9 NetBSD f1 SpeedStor 14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f4 SpeedStor 16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ f2 DOS secondary 17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fb VMware VMFS 18 AST SmartSleep 65 Novell Netware b8 BSDI swap fc VMware VMKCORE 1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fd Linux raid auto 1c Hidden W95 FAT3 75 PC/IX bc Acronis FAT32 L fe LANstep 1e Hidden W95 FAT1 80 Old Minix be Solaris boot ff BBT Partition type (type L to list all types): 82

fdisk informerer oss nyttig om at vi har endret partisjonstypen med meldingen:

Changed type of partition "Linux" to "Linux swap / Solaris". 

Etter det lagrer vi ved å bruke w -kommando og returneres til en shell-ledetekst:

Command (m for help): w 

Du kan få en melding som denne før skallet ledetekst:

The partition table has been altered. Calling ioctl() to re-read partition table. Re-reading the partition table failed.: Device or resource busy 

The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).

Lar oss si fra omstart og i stedet fortelle kjernen om de nye partisjonene ved hjelp av partprobe :

root@debian:~# partprobe 

Vi skal returneres til shell-ledeteksten uten utdata fra partprobe.

Nå må vi endre størrelsen på filsystemet vårt på /dev/vda1:

root@debian:~# resize2fs /dev/vda1 resize2fs 1.42.12 (29-Aug-2014) Filesystem at /dev/vda1 is mounted on /; on-line resizing required old_desc_blocks = 2, new_desc_blocks = 3 

Filesyst em på /dev/vda1 er nå 25165824 (4k) blokker lange.

Initier den nye bytteplasseringen til /dev/vda2:

root@debian:~# mkswap /dev/vda2 Setting up swapspace version 1, size = 4193276 KiB no label, UUID=c55c25a2-a386-4653-8455-4d9030586dd2 

Endelig redigerer vi /etc/fstab og erstatter den gamle UUID med den nye som returneres i utgangen av mkswap kommando. Linjen som skal endres har ingen verdi for «monteringspunkt» og har «type» satt til bytt .

# /etc/fstab: static file system information. # # Use "blkid" to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> UUID=332f8fb5-ff1f-4297-b512-f2c93a277296 / ext4 errors=remount-ro 0 1 /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0 UUID=c55c25a2-a386-4653-8455-4d9030586dd2 none swap sw 0 0 

Etter redigering av /etc/fstab, må vi aktivere bytte igjen:

root@debian:~# swapon -a 

Bekreft

Vi kan verifisere den nye større diskstørrelsen ved å bruke df og / eller fdisk.

Device Boot Start End Sectors Size Id Type /dev/vda1 2048 201328639 201326592 96G 83 Linux /dev/vda2 201328640 209715199 8386560 4G 82 Linux swap / Solaris 

Vi kan også bekrefte at serveren ble ikke startet på nytt ved å se på utdata fra uptime:

$ uptime 23:54:21 up 7 days, 1:15, 1 user, load average: 0.00, 0.01, 0.05 

Sammendrag

Vi har økt mengden diskplass tilgjengelig på Linux-serveren vår.

Referanse

https://devops.ionos.com/tutorials/increase-the-size-of-a-linux-root-partition-without-rebooting/

ELLER

https: //web.archive .org / web / 20201113021238 / https://devops.ionos.com/tutorials/increase-the-size-of-a-linux-root-partition-without-rebooting/

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *