답변:
사실 우분투가 실행되는 동안 루트 파일 시스템을 확대 할 수 있습니다 (최근에 여기에서 직접 배웠습니다 )-이것은 믿을 수 없을 정도로 들리지만 사실입니다 :)
다음은 두 개의 파티션이있는 간단한 시나리오의 단계 목록입니다 /dev/sda1
. OS가 부팅되고 /dev/sdb2
스왑 되는 ext4 파티션 입니다. 이 연습에서는 스왑 파티션 /dev/sda1
을 전체 디스크로 확장 합니다.
항상 그렇듯이 데이터를 백업해야합니다. 예를 들어 파티션 테이블을 수정하기 때문에 오타를 만들면 모든 데이터가 손실 될 수 있습니다.
운영 sudo fdisk /dev/sda
p
파티션을 나열합니다. 시작 실린더를 기록해 둡니다/dev/sda1
d
하기 삭제 먼저 스왑 파티션을 ( 2
)하고 /dev/sda1
파티션을. 변경 사항은 디스크에 기록 할 때까지 데이터가 디스크에 기록되지 않으므로 매우 무섭지 만 실제로는 무해합니다.n
을 만드는 데 사용 합니다. 시작 실린더가 예전 실린더와 정확히 같은지 확인하십시오 /dev/sda1
. 엔드 실린더의 경우 기본 선택에 동의합니다. 이는 파티션을 전체 디스크로 확장하는 것입니다.a
새로운 부팅 플래그를 토글하는 데 사용/dev/sda1
w
새 파티션 테이블을 디스크에 쓰는 데 사용 하십시오. 장치가 사용 중이기 때문에 커널이 파티션 테이블을 다시 읽을 수 없다는 메시지가 표시되지만 괜찮습니다.로 재부팅하십시오 sudo reboot
. 시스템이 부팅되면 더 큰 파티션 안에 작은 파일 시스템이 생깁니다 .
다음 마술 명령은 resize2fs
입니다. 실행 sudo resize2fs /dev/sda1
-이 형식은 파일 시스템이 파티션에서 사용 가능한 모든 공간을 차지하도록 기본 설정됩니다.
이제 외장 드라이브로 부팅하지 않고 우분투가 설치된 파티션의 크기를 조정했습니다.
fdisk
을 확장하는 데 사용할 수 있고 OS는 더 작은 파일 시스템을 계속 사용한다는 것입니다. 그때. 재부팅 후, 커널이 업데이트 된 파티션 테이블을 다시 읽은 후에는 파일 시스템의 크기 가 더 큰 파티션에 있으므로 크기를 조정할 수 있습니다 .
df
이 후 "결과"공간을 표시하는 데 사용할 수 있습니다 (작동했는지 확인). 2. 스왑 공간을 다시 만들어야합니다!
VMware ESXi에서 볼륨을 확장 한 후 (종료 vm, 백업 / 내보내기 vm, 모든 스냅 샷을 제거한 다음 디스크 크기 증가, 다음 단계를 수행하기 전에 vm의 스냅 샷을 다시 작성하여 실수 / 오류를 되돌릴 수 있음).
다음 예는 이미 LVM을 사용중인 시스템의 루트 파티션에서 볼륨을 확장하는 것입니다.
ssh
시스템으로 루트로 전환하고 cfdisk
# cfdisk를 실행하십시오 .
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
다음 단계 전에 시스템을 재부팅하십시오 (또는 그렇지 않으면 Device
/dev/sda3 not found (or ignored by filtering)
)
# shutdown now -r
새로운 볼륨을 초기화
# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created
확장 할 볼륨 이름 가져 오기
# 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
...
볼륨 그룹 확장
# vgextend linuxetc1-vg /dev/sda3
Volume group "linuxetc1-vg" successfully extended
루트 확장
# 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
다음 단계를위한 파일 시스템 이름 가져 오기
# 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
파일 시스템 확장
# 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.
확대 된 크기보기
# 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
이 방법은 첫 번째 방법보다 약간 빠릅니다. 이것은 cfdisk
메뉴의 "크기 변경" 이라는 새로운 옵션으로 인해 일부 단계를 저장하기 때문입니다.
VMware ESXi에서 볼륨을 확장 한 후 (종료 vm, 백업 / 내보내기 vm, 모든 스냅 샷을 제거한 다음 디스크 크기 증가, 다음 단계를 수행하기 전에 vm의 스냅 샷을 다시 작성하여 실수 / 오류를 되돌릴 수 있음).
다음 예는 이미 LVM을 사용중인 시스템의 루트 파티션에서 볼륨을 확장하는 것입니다.
ssh
시스템으로 루트로 전환하고 실행하십시오 cfdisk
.
Enter 키를 누르면 "Partition [someNumber] resized"라는 메모가있는 화면이 나타납니다.
이 시점에서 시스템을 재부팅했지만 필요하지 않을 수도 있습니다. 이제 첫 번째 방법에서 19 단계부터 픽업 할 수 있습니다 (아래 반복).
(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
기사 :
https://wiki.ubuntu.com/Lvm
http://www.geoffstratton.com/expand-hard-disk-ubuntu-lvm
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
와 (과의 유형 업데이트 n
및 t
명령).
여기에 설명 된 방법을 사용하여 기본 ext4 파티션을 확장하는 데 성공했습니다 .
내 개인적인 경험에서 몇 가지 참고 사항 :
raspi-config
루트 파일 시스템을 확장하는 것은 당신이 새로운 라즈베리 파이를 설정 거의 모든 시간을 할 뭔가가 어디 라즈베리 파이에 대해. github.com/RPi-Distro/raspi-config/blob/…