우분투가 설치된 파티션 크기를 늘리시겠습니까?


60

드라이브에 Ubuntu가 설치되어 있습니다. 문제는 디스크 공간이 부족하다는 것입니다. 이것은 vmware에 설치됩니다. 가상 드라이브를 확장하고 우분투로 부팅했습니다. 그러나 gparted (sudo gparted)를 열면 이동 / 크기 조정 옵션을 사용할 수 없습니다. 이것은 우분투가 설치된 파티션이지만 크기를 조정해야합니다. 어떤 아이디어? 나는 커맨드 라인을 사용하는 것이 편안합니다.


당신은 그들이 그것을에서 어떻게 볼 수있는 raspi-config루트 파일 시스템을 확장하는 것은 당신이 새로운 라즈베리 파이를 설정 거의 모든 시간을 할 뭔가가 어디 라즈베리 파이에 대해. github.com/RPi-Distro/raspi-config/blob/…
sshow

답변:


16

거의 다 왔습니다.
당신은 할 수 우분투가 실행되는 동안 GParted와를 사용하여 파티션 크기를 조정합니다.
GParted ISO를 CD로 CD 머신에 첨부하고 머신을 재부팅하여 Gbuned가 Ubuntu 대신로드되도록해야합니다 (머신이 시작된 직후 F12를 누르면 가상 CD에서 부팅 할 수 있습니다).
GParted로 부팅하면 Ubuntu가 현재 실행되고 있지 않으므로 이동 / 크기 조정 옵션이 활성화됩니다.


139

사실 우분투가 실행되는 동안 루트 파일 시스템을 확대수 있습니다 (최근에 여기에서 직접 배웠습니다 )-이것은 믿을 수 없을 정도로 들리지만 사실입니다 :)

다음은 두 개의 파티션이있는 간단한 시나리오의 단계 목록입니다 /dev/sda1. OS가 부팅되고 /dev/sdb2스왑 되는 ext4 파티션 입니다. 이 연습에서는 스왑 파티션 /dev/sda1을 전체 디스크로 확장 합니다.

  1. 항상 그렇듯이 데이터를 백업해야합니다. 예를 들어 파티션 테이블을 수정하기 때문에 오타를 만들면 모든 데이터가 손실 될 수 있습니다.

  2. 운영 sudo fdisk /dev/sda

    • 사용하는 p파티션을 나열합니다. 시작 실린더를 기록해 둡니다/dev/sda1
    • 사용 d하기 삭제 먼저 스왑 파티션을 ( 2)하고 /dev/sda1파티션을. 변경 사항은 디스크에 기록 할 때까지 데이터가 디스크에 기록되지 않으므로 매우 무섭지 만 실제로는 무해합니다.
    • 새로운 주 파티션 n만드는 데 사용 합니다. 시작 실린더가 예전 실린더와 정확히 같은지 확인하십시오 /dev/sda1. 엔드 실린더의 경우 기본 선택에 동의합니다. 이는 파티션을 전체 디스크로 확장하는 것입니다.
    • a새로운 부팅 플래그를 토글하는 데 사용/dev/sda1
    • 변경 사항을 검토하고 심호흡을하고 w새 파티션 테이블을 디스크에 쓰는 데 사용 하십시오. 장치가 사용 중이기 때문에 커널이 파티션 테이블을 다시 읽을 수 없다는 메시지가 표시되지만 괜찮습니다.
  3. 로 재부팅하십시오 sudo reboot. 시스템이 부팅되면 더 큰 파티션 안에 작은 파일 시스템이 생깁니다 .

  4. 다음 마술 명령은 resize2fs입니다. 실행 sudo resize2fs /dev/sda1-이 형식은 파일 시스템이 파티션에서 사용 가능한 모든 공간을 차지하도록 기본 설정됩니다.

이제 외장 드라이브로 부팅하지 않고 우분투가 설치된 파티션의 크기를 조정했습니다.


@EliahKagan : 연결된 Gilles의 답변을 살펴보십시오. 아이디어는 파티션fdisk 을 확장하는 데 사용할 수 있고 OS는 더 작은 파일 시스템을 계속 사용한다는 것입니다. 그때. 재부팅 후, 커널이 업데이트 된 파티션 테이블을 다시 읽은 후에는 파일 시스템의 크기 가 더 큰 파티션에 있으므로 크기를 조정할 수 있습니다 .
Sergey

1
@Isaac : 예. 커널이 파티션 테이블을 다시 읽도록하려면 재부팅해야합니다. 그러나 많은 시나리오에서 빠른 재부팅은 외부 매체 (원격 시스템, 헤드리스 시스템, VPS 등)에서 부팅하는 것보다 훨씬 작은 문제입니다.
Sergey

2
두 가지 빠른 참고 사항 : 1. df이 후 "결과"공간을 표시하는 데 사용할 수 있습니다 (작동했는지 확인). 2. 스왑 공간을 다시 만들어야합니다!
Christian Rondeau

1
정말 고마워. 우분투는 내가 VirtualBox vdisk에 준 공간을 사용하지 않았습니다. 이제 이유를 알았습니다. 많은 감사합니다!
penderi

1
@Sid : 시작 실린더가 정확히 같은 것이 매우 중요합니다. 여유 공간이 파티션 바로 뒤에 있지만 파티션 바로 다음에 다른 방법을 사용해야하는 경우 (다른 드라이브에서 부팅해야 함)
Sergey

21

두 가지 방법

1. 우분투 서버 16.04에서 18.10에서 테스트

VMware ESXi에서 볼륨을 확장 한 후 (종료 vm, 백업 / 내보내기 vm, 모든 스냅 샷을 제거한 다음 디스크 크기 증가, 다음 단계를 수행하기 전에 vm의 스냅 샷을 다시 작성하여 실수 / 오류를 되돌릴 수 있음).

다음 예는 이미 LVM을 사용중인 시스템의 루트 파티션에서 볼륨을 확장하는 것입니다.

  1. ssh시스템으로 루트로 전환하고 cfdisk
    # cfdisk를 실행하십시오 .

  2. 여기에 이미지 설명을 입력하십시오

  3. 여기에 이미지 설명을 입력하십시오

  4. 여기에 이미지 설명을 입력하십시오

  5. 여기에 이미지 설명을 입력하십시오

  6. 여기에 이미지 설명을 입력하십시오

  7. 여기에 이미지 설명을 입력하십시오

  8. 여기에 이미지 설명을 입력하십시오

  9. 여기에 이미지 설명을 입력하십시오

  10. 여기에 이미지 설명을 입력하십시오

  11. 여기에 이미지 설명을 입력하십시오

  12. 여기에 이미지 설명을 입력하십시오

  13. cfdisk를 종료 한 후

     # fdisk -l /dev/sda 
     Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 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: 0xc8b647ff
    
     Device     Boot    Start      End  Sectors  Size Id Type
     /dev/sda1  *        2048   999423   997376  487M 83 Linux
     /dev/sda2        1001470 16775167 15773698  7.5G  5 Extended
     /dev/sda3       16775168 41943039 25167872   12G 8e Linux LVM (***** See new partition /dev/sda3*****)
     /dev/sda5        1001472 16775167 15773696  7.5G 8e Linux LVM
    
  14. 다음 단계 전에 시스템을 재부팅하십시오 (또는 그렇지 않으면 Device /dev/sda3 not found (or ignored by filtering))

     # shutdown now -r
    
  15. 새로운 볼륨을 초기화

     # pvcreate /dev/sda3
       Physical volume "/dev/sda3" successfully created
    
  16. 확장 할 볼륨 이름 가져 오기

     # vgdisplay
       --- Volume group ---
       VG Name               linuxetc1-vg (***** this is vg i'm extending*****)
       System ID             
       Format                lvm2
       Metadata Areas        1
       Metadata Sequence No  3
       VG Access             read/write
       VG Status             resizable
       MAX LV                0
       Cur LV                2
       Open LV               2
       Max PV                0
       Cur PV                1
       Act PV                1
       VG Size               7.52 GiB
       PE Size               4.00 MiB
       Total PE              1925
       Alloc PE / Size       1925 / 7.52 GiB
       Free  PE / Size       0 / 0  
       ...
    
  17. 볼륨 그룹 확장

     # vgextend linuxetc1-vg /dev/sda3
       Volume group "linuxetc1-vg" successfully extended
    
  18. 루트 확장

     # lvextend -l+100%FREE /dev/linuxetc1-vg/root
       Size of logical volume linuxetc1-vg/root changed from 6.52 GiB (1669 extents) to 18.52 GiB (4741 extents).
       Logical volume root successfully resized.
    
    
     Or if you only wanted to give 5 more GB to root
     # lvextend -L +5g /dev/linuxetc1-vg/root
    
  19. 다음 단계를위한 파일 시스템 이름 가져 오기

     # df -h
     Filesystem                      Size  Used Avail Use% Mounted on
     udev                            477M     0  477M   0% /dev
     tmpfs                           100M  4.6M   95M   5% /run
     /dev/mapper/linuxetc1--vg-root  6.3G  2.5G  3.5G  42% /            (***** this line*****)
     tmpfs                           497M     0  497M   0% /dev/shm
     tmpfs                           5.0M     0  5.0M   0% /run/lock
     tmpfs                           497M     0  497M   0% /sys/fs/cgroup
     /dev/sda1                       472M  105M  343M  24% /boot
     tmpfs                           100M     0  100M   0% /run/user/1000
    
  20. 파일 시스템 확장

     # resize2fs /dev/mapper/linuxetc1--vg-root
     resize2fs 1.42.13 (17-May-2015)
     Filesystem at /dev/mapper/linuxetc1--vg-root is mounted on /; on-line resizing required
     old_desc_blocks = 1, new_desc_blocks = 2
     The filesystem on /dev/mapper/linuxetc1--vg-root is now 4854784 (4k) blocks long.
    
  21. 확대 된 크기보기

     # df -h
     Filesystem                      Size  Used Avail Use% Mounted on
     udev                            477M     0  477M   0% /dev
     tmpfs                           100M  4.6M   95M   5% /run
     /dev/mapper/linuxetc1--vg-root   19G  2.5G   15G  15% /         (***** this line*****)
     tmpfs                           497M     0  497M   0% /dev/shm
     tmpfs                           5.0M     0  5.0M   0% /run/lock
     tmpfs                           497M     0  497M   0% /sys/fs/cgroup
     /dev/sda1                       472M  105M  343M  24% /boot
     tmpfs                           100M     0  100M   0% /run/user/1000
    

2. Ubuntu Server 18.04.3 LTS에서 더 빠른 방법 테스트

이 방법은 첫 번째 방법보다 약간 빠릅니다. 이것은 cfdisk메뉴의 "크기 변경" 이라는 새로운 옵션으로 인해 일부 단계를 저장하기 때문입니다.

VMware ESXi에서 볼륨을 확장 한 후 (종료 vm, 백업 / 내보내기 vm, 모든 스냅 샷을 제거한 다음 디스크 크기 증가, 다음 단계를 수행하기 전에 vm의 스냅 샷을 다시 작성하여 실수 / 오류를 되돌릴 수 있음).

다음 예는 이미 LVM을 사용중인 시스템의 루트 파티션에서 볼륨을 확장하는 것입니다.

  1. ssh시스템으로 루트로 전환하고 실행하십시오 cfdisk.

  2. 확장 할 파티션을 선택하고 "크기 조정"을 선택하십시오. 여기에 이미지 설명을 입력하십시오

  3. "새 크기"를 설정하십시오. 여기에 이미지 설명을 입력하십시오

  4. Enter 키를 누르면 "Partition [someNumber] resized"라는 메모가있는 화면이 나타납니다. 여기에 이미지 설명을 입력하십시오

  5. 다음으로 변경 사항을 "쓰기"(저장)해야합니다. 여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오

  6. 종료하십시오 cfdisk. 종료하면 "디스크 동기화 중"메시지가 표시 될 수 있습니다. 여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오

  7. 이 시점에서 시스템을 재부팅했지만 필요하지 않을 수도 있습니다. 이제 첫 번째 방법에서 19 단계부터 픽업 할 수 있습니다 (아래 반복).

  8. (19) 다음 단계를위한 파일 시스템 이름 가져 오기

     # df -h
     Filesystem                      Size  Used Avail Use% Mounted on
     udev                            477M     0  477M   0% /dev
     tmpfs                           100M  4.6M   95M   5% /run
     /dev/mapper/linuxetc1--vg-root  6.3G  2.5G  3.5G  42% /            (***** this line*****)
     tmpfs                           497M     0  497M   0% /dev/shm
     tmpfs                           5.0M     0  5.0M   0% /run/lock
     tmpfs                           497M     0  497M   0% /sys/fs/cgroup
     /dev/sda1                       472M  105M  343M  24% /boot
     tmpfs                           100M     0  100M   0% /run/user/1000
    
  9. (20) 파일 시스템 확장

     # resize2fs /dev/mapper/linuxetc1--vg-root
     resize2fs 1.42.13 (17-May-2015)
     Filesystem at /dev/mapper/linuxetc1--vg-root is mounted on /; on-line resizing required
     old_desc_blocks = 1, new_desc_blocks = 2
     The filesystem on /dev/mapper/linuxetc1--vg-root is now 4854784 (4k) blocks long.
    
  10. (21) 늘어난 크기를 본다

     # df -h
     Filesystem                      Size  Used Avail Use% Mounted on
     udev                            477M     0  477M   0% /dev
     tmpfs                           100M  4.6M   95M   5% /run
     /dev/mapper/linuxetc1--vg-root   19G  2.5G   15G  15% /         (***** this line*****)
     tmpfs                           497M     0  497M   0% /dev/shm
     tmpfs                           5.0M     0  5.0M   0% /run/lock
     tmpfs                           497M     0  497M   0% /sys/fs/cgroup
     /dev/sda1                       472M  105M  343M  24% /boot
     tmpfs                           100M     0  100M   0% /run/user/1000
    

기사 :
https://wiki.ubuntu.com/Lvm
http://www.geoffstratton.com/expand-hard-disk-ubuntu-lvm


와. 이것은 매우 도움이되었습니다. 한 번 이상 공표 할 수 있기를 바랍니다. 감사!
마리오 Tacke

1
ESXi에서 실행되는 18.10에서 완벽하게 작동했습니다. 감사!
John Vinopal

절대적으로 훌륭하다. 내가 리눅스 멍청한 놈으로 필요한 것. .
bigbadmouse

좋은 가이드! 이에 따라 Proxmox VM으로 실행되는 Ubuntu의 스토리지를 확장했습니다.
tokenizer_fsj

환상적인! 감사합니다. 이것은 ESXi에서 실행되는 18.04에서 작동했습니다.
one.time

0

Sergey의 답변은 훌륭했습니다. 그러나 다음 장치에 비어 있지 않은 빈 공간이 있으면 다른 장치를 삭제해야합니다. 예를 들면 다음과 같습니다.

Device     Boot    Start       End  Sectors Size Id Type
/dev/sda1  *        2048  33556477 33554430  16G 83 Linux
/dev/sda2       33556478  41940991  8384514   4G  5 Extended
/dev/sda3       41940992 125829119 83888128  40G 83 Linux
/dev/sda5       33556480  41940991  8384512   4G 82 Linux swap / Solaris

위의 경우 병합 할 경우 /dev/sda3/dev/sda1, 당신은 제거해야 할 것 /dev/sda1, /dev/sda2그리고 /dev/sda3(와 d명령)하고, 다시 추가 /dev/sda2와 (과의 유형 업데이트 nt명령).


0

여기에 설명 된 방법을 사용하여 기본 ext4 파티션을 확장하는 데 성공했습니다 .

내 개인적인 경험에서 몇 가지 참고 사항 :

  • 링크 예제는 파티션을 축소하기위한 것이므로 순서는 resize2fs이고 fdisk입니다. 파티션을 확대 할 때 (내 경우와 같이) 순서는 먼저 fdisk이고 재부팅 한 다음 resize2fs이어야합니다. 또한 fdisk를 사용할 때 기본 파티션과 확장 파티션을 제거하고 다시 정의해야합니다.
  • 다른 드라이브에서 Ubuntu를 부팅 한 다음 실제로 이전 드라이브의 미러 (dd 사용) 인이 드라이브에서 작업했습니다. GParted를 사용하여 부팅 가능
  • resize2fs의 현재 버전 (우분투 12.04LTS를 사용하고 있습니다)은 ext4를 지원합니다-ext2를 변경하는 링크에 설명 된 작업을 수행 할 필요가 없습니다.

1
이 이론적으로 질문에 대답 할 수 있습니다 동안, 바람직 할 것이다 여기에 대한 대답의 본질적인 부분을 포함하고 참조 할 수 있도록 링크를 제공합니다.
Braiam
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.