공간이 부족한 웹 서버를 실행하고 있습니다. VMware ESX에서 가상 머신으로 실행되고 있으며 하드 드라이브 크기를 두 배로 늘렸습니다.
Disk /dev/sda: 96 GiB, 103079215104 bytes, 201326592 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: 0x51f6b050
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 999423 997376 487M 83 Linux
/dev/sda2 1001470 100661247 99659778 47.5G 5 Extended
/dev/sda5 1001472 100661247 99659776 47.5G 8e Linux LVM
dev/sda가 96GB로 표시됩니다. 이는 물리적 볼륨을 참조해야 합니다. 이는 아래 테이블에 sda1, sda2 및 sda2의 세 가지 파티션이 있음을 의미합니다.
그러나 DF 명령을 실행하면 다음과 같은 결과가 나타납니다.
Filesystem 1K-blocks Used Available Use% Mounted on
udev 4068132 0 4068132 0% /dev
tmpfs 817508 9312 808196 2% /run
/dev/mapper/webserver--vg-root 44762192 35857748 6607612 85% /
tmpfs 4087524 0 4087524 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 4087524 0 4087524 0% /sys/fs/cgroup
/dev/sda1 482922 152390 305598 34% /boot
tmpfs 817508 0 817508 0% /run/user/1000
파티션이 아닌 경우 파티션은 무엇입니까? 문제는 /dev/mapper/webserver--vg-root인 것 같습니다(시스템을 사용할 수 있도록 일부 파일을 삭제했습니다). 디스크 공간 증가에 따라 크기를 어떻게 늘릴 수 있습니까?
미리 감사드립니다
답변1
추가 디스크 공간이 표시되지 않는 이유는 디스크(확장한)와 운영 체제에서 사용 가능한 공간 사이에 여러 수준이 관련되어 있기 때문입니다.
- 디스크 자체
- 디스크의 파티션(단일 디스크를 다양한 목적으로 사용할 수 있음)
- LVM(논리 볼륨 관리, 디스크 공간 관리를 더 쉽게 해줍니다)
- 파일 시스템(파티션 또는 논리 볼륨의 파일 저장소 관리)
이러한 각 계층은 디스크 공간의 증가를 인식해야 합니다.
LVM을 사용하고 있으므로 두 가지 방법이 있습니다. 새 파티션을 추가하고 다음에 설명된 대로 사용할 수 있습니다.날카로운~의답변(충분히 가깝습니다. 이는 새 디스크 추가에 대해 설명하지만 동일한 방식으로 기존 디스크에 추가된 공간을 사용하기 위해 새 기본 파티션을 추가할 수 있습니다.) 기존 파티션을 확장할 수도 있습니다...
레이어별로 살펴보겠습니다.
- 디스크 자체: 완료되었습니다.
파티션: 파티션을 확장하려면
gparted
또는 일반 과 같은 그래픽 도구를 사용할 수 있습니다fdisk
.fdisk /dev/sda
기존 파티션과 해당 컨테이너를 삭제하고 시작 섹터를 기록해 둡니다.
p
(이렇게 하면 파티션 테이블이 인쇄되고 나중에 필요한 정보가 제공됩니다.)
d 5 d 2
이는 데이터를 삭제하지 않고 표시만 삭제합니다(어쨌든
fdisk
쓰라고 지시하지 않는 한 디스크에서는 아무 것도 변경되지 않습니다). 새로운 확장 파티션을 생성합니다:n e
기본 파티션 번호를 수락합니다. 첫 번째 섹터의 경우
fdisk
이전에 사용한 것과 동일한 시작 섹터sda2
(귀하의 경우 1001470)를 사용해야 합니다. 마지막 섹터의 경우fdisk
가능한 가장 큰 값이 자동으로 선택됩니다(원하는 모든 디스크 공간 사용). 내부에 새 논리 파티션을 만듭니다.n l
시작 섹터(귀하의 경우 1001472)를 다시 확인하고 디스크 공간을 모두 사용하십시오.
w
변경 사항이 디스크에 기록됩니다. 사용 중에 파티션을 변경했기 때문에 이때 재부팅해야 할 수도 있습니다.
LVM: 새로운 디스크 공간에 대해 LV 하위 시스템에 알려야 합니다. 먼저 파티션을 차지하는 물리적 볼륨을 확장하여 이를 수행합니다.
pvresize /dev/sda5
그런 다음 논리 볼륨
lvresize -r -l 100%PVS /dev/mapper/webserver--vg-root
파일 시스템: 위
-r
옵션 은 매우 간단lvresize
합니다fsadm
.
답변2
디스크가 GPT를 사용하는 경우 parted가 이 문제를 해결하는 좋은 방법이 될 것입니다.
예:
sudo parted
(parted) select /dev/sda
Using /dev/sda
(parted) mkpart
Partition type?
primary File system type? [ext2]?
Start? 1
End? 10000
(parted) quit
cro@mac-mini-Ubuntu $
답변3
중요: 파티션을 조작하기 몇 시간 전에 VM의 스냅샷을 찍는 것이 좋습니다. VMWare의 스냅샷은 수정 시 종종 잘못됩니다.곧마무리 후.
가장 쉬운 방법은 새 디스크, 새 기본 파티션을 생성하고 이를 볼륨 그룹에 추가하는 것입니다.
fdisk를 사용하여 새 파티션을 만들어야 합니다.
그런 다음 새 디스크에 새 파티션을 만듭니다(또는 기존 디스크의 파티션 1 대신 /dev/sda 및 파티션 3 - /dev/sda ).
sudo fdisk /dev/sdb
n -- new
p -- primary
(accept all defaults with ENTER)
파티션 유형 변경:
t
1
8E -- Linux LVM
그것을 쓰세요:
w
q
(이 시점에서 생성된 것으로 가정합니다 /dev/sdb1
. 다른 것이라면 vgextend
아래에서 교체해 주세요.)
시스템에 따라 이 시점에서 재부팅하라는 메시지가 나타날 수 있습니다. 재부팅하거나 다음을 실행할 수 있습니다.
partprobe
해당 명령이 없으면 다음을 사용하여 설치하십시오.
sudo apt-get install parted
볼륨 그룹(VG 이름)의 내용을 확인합니다.
vgdisplay
지금부터 나는 그것이 웹 서버라고 가정합니다 --vg
볼륨 그룹에 파티션을 추가합니다.
vgextend webserver--vg /dev/sdb1
그런 다음 (실시간으로 참조 튜토리얼의 lvextend + resize보다 더 좋음)을 사용하여 크기를 조정할 수 있습니다.
lvextend -r -l+100%FREE /dev/vg/webserver--vg-root
PS 이것은 파티션을 삭제하지 않고 @Stephen Kitt의 대체 경로입니다. 디스크 확장에 충분히 유연하며 프로세스가 너무 복잡하지 않습니다. 단점은 파일 시스템을 확장할 때 시간이 지남에 따라 파일 시스템 관리가 더 복잡해진다는 것입니다. 실제로 이 프로세스는 일반적으로 두 번째 디스크에서 LVM 파티션을 늘리는 것과 같이 보다 물리적인 시스템 지향적입니다.
인용하다:
Linux 시스템을 다시 시작하지 않고 파티션 테이블을 다시 읽습니다.
LVM(논리 볼륨 관리) 관리 및 사용 방법
관련 질문: