명령 줄에서 ext4 파티션 (또는 방법에 따라 모든 유형 파티션)의 크기를 조정하는 가장 쉬운 방법은 무엇입니까? Gparted와 같은 도구를 사용하는 것은 GUI에서 분명히 쉽지만 명령 줄에서는 어떻습니까? 텍스트 기반 GUI도 그 답을 계산할 수 있다고 생각합니다. ” 기술적으로 여전히 명령 줄에 있습니다. 간단해야합니다.

파티션이란 개인용 컴퓨터 (예 : 랩톱)의 단일 디스크에있는 간단한 파티션을 의미합니다. 예를 들어 /dev/sda4의 크기를 조정하고 싶습니다. RAID가없고, 디스크 드라이브가 두 개 이하이며, 여기에는 복잡한 것이 없습니다. 단일 디스크에있는 단순한 파티션 (/ dev / sda의 / dev / sdaX)

댓글

  • 아시겠지만 Gparted는 GNU Parted의 GUI 프론트 엔드입니다. Parted 2.4 이전에는 크기를 조정할 수 있었지만 이후 제거되었습니다. 유일한 방법은 수동으로 수행하고, 파티션 테이블 크기를 조정하고, 장치 맵을 만든 다음 파일 시스템 크기를 조정하는 것입니다.
  • 이것 파티션 크기 조정에 대한 기사?
  • 특정 파티션을 ‘ 본 적이 없지만, 요점은 파티션을 삭제 한 다음 새 파티션을 만드는 것입니다. 원하는 크기입니다.하지만 ‘ 내가하는 일은 본질적으로 ” 삭제 “가 아닙니다. 이 질문에 대한 가장 좋은 답변은 ” 크기 조정 ” 파티션을 삭제하지 않고 새 파티션을 만들면 resize2fs 단계가 완전히 불필요하고 백그라운드에서 발생합니다 (자연스럽고 분명 사용자가 파티션의 공간을 모두 사용하기를 원하기 때문). 따라서 ‘ 추가 단계가 아니어야합니다.

답변

fdisk를 사용하여 실행 중에 파티션 테이블을 변경할 수 있습니다.이 링크를 참조하십시오. http://codesilence.wordpress.com/2013/03/14/live-resizing-of-an-ext4-filesytem-on-linux/

댓글

  • 링크 부패로 인해 링크의 관련 정보를 답변에 입력해야합니다. 또한 현재 내가 살고있는 곳 (중국)에서는 wordpress.com이 차단되어 있으므로 ‘ ” 답변

    .

  • @Thushi, fdisk -l paste.ubuntu의 출력. com / 24757891 . sda5와 sda6을 sda6으로 병합하고 싶습니다. 데이터가 손상됩니까?
  • fdisk 사용 / 무료 데이터를 고려하지 않는 것 같습니다. 이로 인해 잠재적 인 데이터 손실이 발생할 수 있습니다. ‘ ” 쉬운 ” 방식으로 나열되어야한다고 생각하지 않습니다. 케이스.

답변

파티션과 파일 시스템의 크기를 모두 늘리려는 경우 , 그런 다음 먼저 fdisk를 실행하여 파티션의 크기를 늘리고 resize2fs를 실행하여 파일 시스템의 크기를 늘리십시오.

둘 다 크기를 줄이려면 먼저 resize2fs를 실행 한 다음 fdisk를 실행하세요.

답변

gpartedresize2fs를 사용하여 파티션의 크기를 변경합니다. 많은 인수가 필요하지 않습니다. 다음은 내가 유용하다고 생각한 것입니다.

-M는 파일 시스템의 최소 크기로 축소됩니다.

-p는 백분율 표시기를 보여줍니다.

-P는 파일 시스템의 최소 크기를 인쇄하고 종료합니다.

주석

  • resize2fs는 파티션 테이블을 전혀 변경하지 않습니다. ‘ 파일 시스템 의 크기를 변경합니다. 사용한 후에는 ‘ 파일 시스템이 있던 파티션의 크기를 적절하게 조정해야합니다.

답변

크기를 조정할 파티션 바로 뒤에 여유 공간이 있다고 가정하는 스크립팅 가능한 방법 :

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

… 다음에 resize2fs /dev/sdX<partnum>가 있습니다.

-는 sfdisk에 기존 start 섹터를 재사용하도록 지시하고 +는 사용 가능한 공간을 고려할 때 최대한 큽니다.

댓글

  • 이상하게도 끔찍하지만 제가 원하는대로 정확히 수행했습니다. ddddrescue 이미지에서 더 큰 새 드라이브로 파일 시스템을 이동합니다. 감사합니다.

답변

당신이 저와 비슷한 상황에 처한 경우에 대답하겠습니다. 크기를 조정해야했습니다. 게스트로 Ubuntu 18.0.4 LTS를 실행하는 동적 디스크의 파일 시스템 (Ext4). 호스트에서 디스크 크기를 조정 한 다음 파일 시스템 크기를 조정할 수있었습니다.

일반적인 명령을 실행할 수 없었습니다. 예 :

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

fdisk는 상당히 복잡했습니다. 마운트되지 않은 디스크에서 작업합니다.

다음 두 명령은 내 문제를 쉽고 빠르게 해결했습니다.

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

참고 : 는 /dev/sda 기기의 파티션 번호를 나타냅니다.

Answer

재부팅하지 않고 Linux 루트 파티션 크기 조정

소개

ProfitBricks 제공 이미지에서 배포 된 일반적인 Linux 서버에는 단일 스토리지 볼륨 인 /dev/vda가 있습니다. fdisk를 사용하여 살펴보면 디스크가 두 개의 파티션으로 나뉘어져 있음을 알 수 있습니다. 첫 번째 /dev/vda1는 OS가 상주하는 부팅 파티션입니다. 두 번째 파티션 인 /dev/vda2는 스왑 공간으로 구성됩니다.

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

위의 예에서 , 총 50GB 스토리지 볼륨은 46GB의 가용 공간과 스왑 용 4GB로 나뉩니다. 프로비저닝 후 46GB의 디스크 공간이 충분하지 않지만 추가 스토리지 볼륨을 추가하지 않으려는 경우 어떻게해야합니까? 목표는 루트 파일 시스템에서 사용 가능한 디스크 공간을 늘리는 것입니다. 이는 최소한의 중단으로 달성 할 수 있습니다. 서버를 재부팅 할 필요가 없습니다 !

요구 사항

  • ProfitBricks 제공 이미지에서 생성 된 Linux 서버
  • SSH 또는 콘솔 액세스 (DCD를 통해) )를 Linux 서버에 추가합니다.
  • partprobe 명령. 대부분의 Linux 배포판의 parted 패키지에서 설치할 수 있습니다.
  • fdisk, swapoff, mkswap, swaponresize2fs 명령. 기본적으로 사용 가능합니다.
  • 작업중인 시스템의 현재 스냅 샷 또는 기타 백업. 안전을 위해!

추가 공간 제공

하드 드라이브의 크기를 늘리려면 DCD (Data Center Designer)로 이동하여 드라이브를 업 스케일링하십시오.

드라이브 공간을 늘린 후 ” 프로비저닝 “을 통해 변경을 처리합니다. 1 분 정도 걸리며 하드 드라이브는 더 커집니다.

그런 다음 스왑을 해제해야합니다. 스왑 공간없이 몇 분 동안 살 수 있는지 확인하세요.

root@debian:~# swapoff -a 

스왑이 비활성화되면 fdisk를 사용하여 파티션을 다시 구성해야합니다.

두 개의 기존 파티션을 먼저 삭제합니다. . fdisk /dev/vda를 실행 한 다음 d 명령을 사용하여 파티션 2를 삭제 한 다음 파티션 1을 삭제합니다. 아래 예를 따르십시오.

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.

이제 파티션을 다시 만듭니다. 이 예에서는 4GB의 스왑 공간이 있습니다. 따라서 새 스왑 파티션에 사용할 수있는 최소한의 공간을 유지해야합니다.

먼저 /dev/vda1를 다시 만드십시오. n 을 눌러 새 파티션을 만듭니다. p 를 입력하여 기본 파티션을 만듭니다. Enter 를 눌러 기본값 2048

. 그런 다음 파티션 크기를 입력합니다. GB 단위로 값을 입력 할 수 있으므로 디스크를 100GB로 늘리는 경우 스왑을 위해 4GB를 빼고 + 96G 96GB 용.

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 을 누른 다음 p 를 눌러 새 주 파티션을 만듭니다. Enter 를 눌러 “첫 번째 섹터”의 기본값을 수락합니다. Enter 를 다시 눌러 “마지막 섹터”의 기본값을 적용 할 수도 있습니다.

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.

이 두 번째 파티션은 스왑 공간으로 사용되므로 파티션 유형을 변경해야합니다. fdisk 프롬프트에서 t 를 눌러 수행 할 수 있습니다. 그런 다음 2 를 눌러 두 번째 파티션을 선택합니다.사용 가능한 파티션 유형 목록을 보려면 L 를 누르고 그렇지 않으면 82 “Linux 스왑 / 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는 다음 메시지로 파티션 유형을 변경했음을 알려줍니다.

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

그 후 w 명령이 실행되고 셸 프롬프트로 반환됩니다.

Command (m for help): w 

셸 이전에 이와 같은 메시지가 표시 될 수 있습니다. 프롬프트 :

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

재부팅을 중단하고 대신 partprobe를 사용하여 새 파티션에 대해 커널에 알립니다. :

root@debian:~# partprobe 

partprobe의 출력없이 쉘 프롬프트로 돌아 가야합니다.

이제 /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 

The filesyst /dev/vda1의 em은 이제 25165824 (4k) 블록 길이입니다.

/dev/vda2의 새 스왑 위치를 초기화합니다.

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

마지막으로 /etc/fstab를 편집하고 이전 UUID를

명령. 변경할 줄에는 “mount point”값이 없으며 “type”이 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 

/etc/fstab를 수정 한 후 교체를 다시 활성화해야합니다.

root@debian:~# swapon -a 

확인

및 / 또는 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 

또한 uptime의 출력을 확인하여 서버가 재부팅되지 아니 :

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

요약

Linux 서버에서 사용 가능한 디스크 공간을 성공적으로 늘 렸습니다.

참조

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

또는

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

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다