Wat is de gemakkelijkste manier om de grootte van een ext4-partitie (of een willekeurig type partitie, afhankelijk van de methode) vanaf de opdrachtregel te wijzigen (mogelijk met de minste opdrachten, maar ook het gemakkelijkst te begrijpen)?

Het gebruik van een tool als Gparted is duidelijk gemakkelijk in een GUI, maar hoe zit het met de opdrachtregel? Ik denk dat tekstgebaseerde GUIs ook kunnen tellen voor het antwoord, aangezien het ” s technisch gezien nog steeds in de opdrachtregel. Het moet gewoon makkelijk zijn.

Met partitie bedoel ik een simpele partitie op een enkele schijf van een personal computer (bijvoorbeeld op een laptop). Ik wil bijvoorbeeld het formaat van /dev/sda4 wijzigen. Er zijn geen RAIDs, er is niet meer dan één schijfstation, er is hier niets ingewikkelds. Gewoon een simpele partitie op een enkele schijf (/ dev / sdaX op / dev / sda).

Reacties

  • Je weet dit waarschijnlijk, maar Gparted is een GUI front-end voor GNU Parted. Voorafgaand aan Parted 2.4 kon je de grootte aanpassen, maar dit is sindsdien verwijderd. Ik vermoed dat de enige manier is om het handmatig te doen, de grootte van de partitietabel te wijzigen, apparaatkaarten te maken en vervolgens de grootte van het bestandssysteem te wijzigen.
  • Heb je dit gezien artikel over het wijzigen van de grootte van partities?
  • Ik heb ‘ die specifieke partitie niet gezien, maar de kern ervan is dat je de partitie verwijdert en vervolgens een nieuwe maakt van het formaat dat u wilt. Maar wat ik ‘ van nature doe, is niet ” het verwijderen van ” iets, alleen het formaat wijzigen. Het beste antwoord op deze vraag is waarschijnlijk een manier om ” het formaat van ” een partitie, niet een verwijderen en een nieuwe aanmaken, en de resize2fs-stappen zouden helemaal niet nodig zijn en gebeuren op de achtergrond (omdat de gebruiker natuurlijk en uiteraard ook alle ruimte in de partitie wil gebruiken dus het mag ‘ geen extra stap zijn).

Answer

U kunt fdisk gebruiken om uw partitietabel te wijzigen terwijl u bezig bent. Raadpleeg deze link http://codesilence.wordpress.com/2013/03/14/live-resizing-of-an-ext4-filesytem-on-linux/

Reacties

  • Je moet de relevante informatie van de link in je antwoord opnemen, vanwege linkrot. Bovendien is wordpress.com momenteel geblokkeerd waar ik woon (China), dus ik kan ‘ zelfs het ” antwoord “.
  • @Thushi, uitvoer van fdisk -l paste.ubuntu. com / 24757891 . Ik wil sda5 en sda6 samenvoegen als sda6. Beschadigt het mijn gegevens?
  • fdisk houdt blijkbaar geen rekening met gebruikte / vrije gegevens – wat kan leiden tot mogelijk gegevensverlies (voor zover ik weet). Ik denk niet dat ‘ niet moet worden vermeld als een ” gemakkelijke ” manier case.

Antwoord

Als je “de grootte van zowel de partitie als het bestandssysteem gaat vergroten , voer dan eerst fdisk uit om de grootte van de partitie te vergroten, en voer vervolgens resize2fs uit om de grootte van het bestandssysteem te vergroten.

Als je “de grootte van beide gaat verkleinen, voer dan eerst resize2fs uit en vervolgens fdisk.

Antwoord

gparted gebruikt resize2fs om verander de grootte van de partitie. Er zijn niet veel argumenten voor nodig. Hieronder staan degene die ik nuttig vond.

-M krimpt tot de minimale grootte van het bestandssysteem.

-p toont een percentage-indicator.

-P drukt de minimale grootte van het bestandssysteem af en sluit af.

Opmerkingen

  • resize2fs verandert de partitietabel helemaal niet, ‘ verandert de grootte van een bestandssysteem . Na gebruik ‘ zul je de partitie waarop het bestandssysteem stond dienovereenkomstig moeten aanpassen.

Answer

Een scriptbare methode, ervan uitgaande dat er vrije ruimte is direct na de partitie waarvan de grootte moet worden gewijzigd:

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

… gevolgd door resize2fs /dev/sdX<partnum>.

De - vertelt sfdisk om de bestaande start sector te hergebruiken, en de + vertelt het om de zo groot mogelijk gezien de beschikbare ruimte.

Reacties

  • Vreemd genoeg angstaanjagend, maar dit deed precies wat ik wilde na dd -ing over een bestandssysteem van een ddrescue afbeelding naar een nieuwe schijf die toevallig groter was. Dank je.

Antwoord

Ik beantwoord dit voor het geval je een vergelijkbare situatie hebt als de mijne. Ik moest het formaat wijzigen het bestandssysteem (Ext4) op een dynamische schijf waarop Ubuntu 18.0.4 LTS als gast draait. Ik slaagde erin de schijf van de host te verkleinen en vervolgens het bestandssysteem te verkleinen.

Het uitvoeren van de gebruikelijke commandos was niet mogelijk. Bijvoorbeeld:

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

en fdisk was behoorlijk ingewikkeld, waarschijnlijk moest ik ook een LiveCD draaien om werk op de niet-gekoppelde schijf.

Deze twee commandos hebben mijn probleem gemakkelijk en snel opgelost:

$ 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. 

Opmerking: 2 in de eerste opdracht, die het partitienummer op het apparaat aangeeft /dev/sda.

Antwoord

De grootte van een Linux-rootpartitie wijzigen zonder opnieuw op te starten

Introductie

Een typische Linux-server die wordt ingezet vanaf een door ProfitBricks geleverde image heeft een enkel opslagvolume, /dev/vda. Als we dat bekijken met fdisk, zullen we zien dat de schijf in twee partities is verdeeld. De eerste, /dev/vda1, is de opstartpartitie waar het besturingssysteem zich bevindt. De tweede partitie, /dev/vda2, is geconfigureerd als swapspace.

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

In het bovenstaande voorbeeld wordt het totale opslagvolume van 50 GB opgesplitst in 46 GB bruikbare ruimte en 4 GB voor swap. Wat als we na het inrichten ontdekken dat 46 GB schijfruimte niet genoeg is, maar we liever geen extra opslagvolume toevoegen? Het doel is om de hoeveelheid beschikbare schijfruimte op het rootbestandssysteem te vergroten. Dit kan worden bereikt met minimale verstoring. We niet hoeven de server opnieuw op te starten!

Vereisten

  • Een Linux-server gemaakt op basis van een door ProfitBricks geleverde afbeelding.
  • SSH- of consoletoegang (via de DCD ) naar de Linux Server.
  • Het partprobe commando. Kan worden geïnstalleerd vanaf het parted -pakket op de meeste Linux-distributies.
  • Het fdisk, swapoff, mkswap, swapon, en resize2fs opdrachten. Waarschijnlijk standaard beschikbaar.
  • Een actuele momentopname of andere back-up van het systeem waaraan u werkt. Voor de zekerheid!

Voorzie extra ruimte

Om de grootte van de harde schijf te vergroten, gaat u naar de DCD (Data Center Designer) en schaalt u de schijf op.

Nadat u de hoeveelheid schijfruimte heeft vergroot, klikt u op ” provisioning om de wijziging te verwerken. Duurt ongeveer een minuut en je harde schijf is groter.

We moeten dan de ruil uitschakelen – dus zorg ervoor dat je een paar minuten zonder swapruimte kunt leven:

root@debian:~# swapoff -a 

Zodra swap is uitgeschakeld, moeten we de partities opnieuw configureren met fdisk:

We zullen eerst de twee bestaande partities verwijderen . We voeren fdisk /dev/vda uit en gebruiken vervolgens de opdracht d om partitie 2 te verwijderen en vervolgens partitie 1 te verwijderen. Volg het onderstaande voorbeeld:

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.

Nu maken we onze partities opnieuw aan. In het voorbeeld hebben we 4 GB swapruimte. We moeten dus tenminste zoveel ruimte beschikbaar houden voor de nieuwe swappartitie.

Maak eerst /dev/vda1 opnieuw aan. Druk op n om een nieuwe partitie te maken. Typ p om een primaire partitie te maken. We kunnen op Enter drukken om de standaardwaarde van 2048 voor de eerste sector. Voer vervolgens een grootte in voor de partitie. U kunt een waarde in GB invoeren, dus als we de schijf vergroten naar 100 GB, trekken we onze 4 GB af voor swap en voeren we + 96G voor 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.

Nu maken we de swappartitie opnieuw aan volgens een vergelijkbaar proces. Druk op n en vervolgens op p om een nieuwe primaire partitie te maken. Druk op Voer in om de standaardwaarde voor “Eerste sector” te accepteren. We kunnen ook op invoeren om de standaardwaarde voor “Laatste sector” te accepteren.

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.

Aangezien deze tweede partitie gebruikt gaat worden voor swapspace, moeten we het partitietype veranderen. Dit kan gedaan worden door op t te drukken bij de fdisk prompt. We drukken vervolgens op 2 om de tweede partitie te selecteren.Als je de lijst met beschikbare partitietypen wilt zien, druk dan op L , of typ anders 82 om “Linux swap / Solaris” te selecteren.

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 informeert ons op nuttige wijze dat we het partitietype hebben gewijzigd met het bericht:

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

Daarna besparen we met de w commando en worden teruggestuurd naar een shell-prompt:

Command (m for help): w 

Mogelijk krijgt u een bericht als dit voor de shell prompt:

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).

Laten we afzien van rebooten en in plaats daarvan de kernel vertellen over de nieuwe partities met partprobe :

root@debian:~# partprobe 

We zouden moeten terugkeren naar de shell-prompt zonder uitvoer van partprobe.

Nu moeten we ons bestandssysteem vergroten of verkleinen op /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 

De filesyst em op /dev/vda1 is nu 25165824 (4k) blokken lang.

Initialiseer de nieuwe wissellocatie van /dev/vda2:

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

Ten slotte bewerken we /etc/fstab en vervangen we de oude UUID door de nieuwe die wordt geretourneerd in de uitvoer van de mkswap commando. De regel die gewijzigd moet worden, heeft geen waarde voor “mount point” en heeft “type” ingesteld op swap .

# /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 

Na het bewerken van /etc/fstab, moeten we swap opnieuw inschakelen:

root@debian:~# swapon -a 

Verifieer

We kunnen de nieuwe grotere schijfgrootte verifiëren door df en / of 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 

We kunnen ook bevestigen dat de server is niet opnieuw opgestart door te kijken naar de uitvoer van uptime:

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

Samenvatting

We hebben met succes de hoeveelheid beschikbare schijfruimte op onze Linux-server vergroot.

Referentie

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

OF

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

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *