명령줄을 사용하여 ext4 파티션 크기를 확장하는 방법은 무엇입니까?

명령줄을 사용하여 ext4 파티션 크기를 확장하는 방법은 무엇입니까?

다음 구성의 드라이브가 있습니다.

fdisk -l

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x000f1b8b

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        2612    20971520   83  Linux
/dev/sda3           60736       60801      525312   82  Linux swap / Solaris

/dev/sda1478GB의 할당되지 않은 공간이 있습니다. 현재 데이터를 잃지 않고 이 공간을 어떻게 추가합니까 /dev/sda1? (파일 시스템은 ext4입니다.)

참고: 이는 SSH 전용 서버이며 gparted와 같은 작업을 실행하기 위한 GUI는 없습니다.

답변1

파티션 확장: fdisk -u /dev/sda.

p파티션 테이블을 인쇄하려면 sda1의 번호, 시작, 끝 및 유형을 기록해 두십시오.

삭제하세요: d:

n동일한 숫자(1), 시작 및 유형을 사용하여 명령을 사용하여 다시 생성하되 더 큰 숫자를 사용하십시오.(다른 파티션과 겹치지 않도록 주의하세요.) 메가바이트 경계에 맞춰 정렬해 보세요., 2048에서 1을 뺀 배수가 됩니다. 필요한 경우 변경 유형을 사용하십시오 t(저장 extX또는 btrfs파일 시스템 파티션의 경우 기본값 83이면 충분함).

그런 다음 w글쓰기를 시작하고 q종료하십시오.

파티션 테이블이 수정되지만 일부 파티션이 이미 마운트되어 있기 때문에 커널은 이를 고려할 수 없습니다.

그러나 사용 중인 파티션만 확대하는 경우 커널이 새 레이아웃을 채택하도록 강제할 수 있습니다.

partx /dev/sda

실패하면 재부팅해야 합니다. 시스템이 정상적으로 부팅되어야 합니다.

/sbin그런 다음 확장된 파티션(위치할 수 있음 ) 범위 내에서 확장되도록 파일 시스템의 크기를 조정합니다 .

resize2fs /dev/sda1

ext4라이브 FS에서도 잘 작동합니다.

답변2

ext4 파티션 확장은 매우 쉽습니다성장 부분.

  1. 현재 파티션 테이블 백업

    sfdisk -d /dev/sdb > sdb_partition_bak.dmp
    
  2. 테스트 실행을 수행하여 무슨 일이 일어나는지 확인하세요. 이 도구가 없다면. 달리기apt-get 설치 클라우드 유틸리티

    growpart -N /dev/sdb 1
    
  3. 모든 것이 괜찮다면

    growpart /dev/sdb 1
    
  4. 파일 시스템의 크기를 조정합니다. 10초 정도 걸릴 수 있습니다

    resize2fs /dev/sdb1
    
  5. 새 사이즈 확인

    df -h
    

답변3

파티션이 마운트되어 있는 동안에는 이 작업을 안전하게 수행할 수 없습니다. 즉, 다른 파티션을 부팅하고 거기에서 수행해야 한다는 의미입니다.

gparted이 목적을 위한 훌륭하고 간단한 GUI입니다. 삭제된 댓글 교환에서 "디스플레이에 액세스할 수 없기 때문에" 시작되지 않는다고 언급하셨습니다. 이는 GUI이기 때문에 X에 있지 않고 X가 없으면 작동하지 않는다는 의미입니다.

물론, 작업할 다른 파티션이 없다면 Live CD 같은 것이 필요할 것입니다.생각하다그들은 일반적으로 gparted와 함께 제공됩니다. 최선의 선택이 실용적일 수 있습니다.갈라진 라이브 CD, 상당히 새로운 최신 안정 버전을 갖고 있는 것으로 보입니다.CD, "라이브 CD"가 빠르게 "라이브 DVD"로 바뀌고 있기 때문에 좋습니다.

저는 gparted에 문제가 있었던 적이 없지만, 물론 중요한 것들을 먼저 백업하세요.

그렇다면 다음의 인용문 man resize2fs에 관심이 있으실 것입니다 .

resize2fs 프로그램은 ext2, ext3 또는 ext4 파일 시스템의 크기를 조정합니다. 장치에 마운트되지 않은 파일 시스템을 확대하거나 축소하는 데 사용할 수 있습니다. 파일 시스템이 마운트된 경우 커널 및 파일 시스템이 온라인 크기 조정을 지원한다고 가정하면 이를 사용하여 마운트된 파일 시스템의 크기를 확장할 수 있습니다. (최신 Linux 2.6 커널은 ext3 및 ext4를 사용하여 마운트된 파일 시스템의 온라인 크기 조정을 지원합니다. ext3 파일 시스템에서는 resize_inode 기능이 활성화된 파일 시스템을 사용해야 합니다.)

하지만 기억하세요.파일 시스템 확장이건 다른 수술이에요파티션 확장(파일 시스템 확장 전에 수행해야 합니다.) 따라서 파티션을 마운트하는 동안 파티션을 확장할 수 있는 도구가 있다면정확히 동일한 시작 블록을 유지하십시오., rootfs를 내부에서 확장할 수 있습니다.

답변4

parted파티션을 삭제하고 다시 만드는 것보다 더 쉽고 안전하다고 생각합니다 fdisk.

sudo parted /dev/sda
print
resizepart

디스크를 채우기 위해 첫 번째 파티션의 크기를 조정하려면 스왑 resizepart 1 -1공간이 있으므로 명령줄에서 시작한 swapoff -a다음 rm.partedhttps://unix.stackexchange.com/a/238784/103025).

관련 정보