우리 회사는 CentOS를 사용하여 클라우드 호스팅을 실행하고 있습니다. 과거에는 SSD가 최대 용량에 도달하면 SSD를 업그레이드했습니다.
내가 이해한 바로는 기본 파티션을 생성하고 /에 마운트하는 방식으로 수행됩니다. 따라서 우리는 sda에 4개의 기본 파티션을 갖게 됩니다.
이제 공간을 300GB에서 400GB로 다시 업그레이드했고 이 100GB의 추가 공간을 할당해야 합니다.
이 100GB를 추가할 때 내가 할 수 있는 가장 좋은 일은 무엇입니까?
내가 수집한 일부 정보:
/dev/sda를 분리하여 인쇄하세요:
Numero Inicio Fin Tamaño Typo Sistema de ficheros Banderas
1 1049kB 525MB 524MB primary xfs arranque
2 525MB 85,9GB 85,4GB primary lvm
3 85,9GB 129GB 42,9GB primary lvm
4 129GB 322GB 193GB primary lvm
fdisk /dev/sda > p:
Disk /dev/sda: 429.5 GB, 429496729600 bytes, 838860800 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
Disk label type: dos
Identificador del disco: 0x000a2b1e
Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 167772159 83373056 8e Linux LVM
/dev/sda3 167772160 251658239 41943040 8e Linux LVM
/dev/sda4 251658240 629145599 188743680 8e Linux LVM
df -h:
S.ficheros Tamaño Usados Disp Uso% Montado en
/dev/mapper/centos-root 298G 290G 8,4G 98% /
devtmpfs 7,8G 0 7,8G 0% /dev
tmpfs 7,8G 0 7,8G 0% /dev/shm
tmpfs 7,8G 12M 7,8G 1% /run
tmpfs 7,8G 0 7,8G 0% /sys/fs/cgroup
/dev/sda1 497M 187M 311M 38% /boot
tmpfs 1,6G 0 1,6G 0% /run/user/0
lsblk:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 300G 0 disk
├─sda1 8:1 0 500M 0 part /boot
├─sda2 8:2 0 79,5G 0 part
│ ├─centos-swap 253:0 0 2G 0 lvm [SWAP]
│ └─centos-root 253:1 0 297,5G 0 lvm /
├─sda3 8:3 0 40G 0 part
│ └─centos-root 253:1 0 297,5G 0 lvm /
└─sda4 8:4 0 180G 0 part
└─centos-root 253:1 0 297,5G 0 lvm /
sr0 11:0 1 1024M 0 rom
답변1
이 질문에 표시된 설명과 달리 파티션 테이블이 Disk label type: dos
아니기 때문에 Disk label type: gpt
먼저 물리적 파티션을 삭제하여 논리적 파티션 컨테이너 역할을 하지 않고는 논리적 파티션을 추가할 수 없습니다.MBR에는 물리적 파티션 슬롯이 4개만 있습니다.. 기존 데이터를 손실/손상시키지 않고 이를 수행하는 것은 쉽지 않습니다. 논리 파티션의 레이아웃이 물리적 파티션의 레이아웃과 정확히 일치하지 않기 때문입니다. 그렇지 않은 것이 더 좋습니다.
xfs
새 파티션을 추가하는 대신 ext4
다시 시작하거나 가동 중지 시간 없이 이전에 수행할 수 있었던 작업(예: 첫 번째 LVM 파티션에서)을 수행할 수 있습니다.
백업을 가지고. 항상 실수(오타...)가 발생할 가능성이 있습니다.
디스크 파티션 확장
확장 공간이 있는 파티션이 마지막 파티션입니다(해당 블록이 최소한 여기에 있고 디스크의 마지막 위치를 차지하기 때문입니다). 이것이 내 대답 중 가장 까다로운 부분입니다. 를 사용하여
fdisk
파티션 4의 시작 부분을 기록하고삭제4. 이 작업이 완료되었습니다.기억 속에만 존재한다지금. "새" 기본 파티션 4를 다시 만들고(위에서 언급한 대로 논리 파티션을 시도하지 마세요), 동일한 파티션을 다시 사용하여 시작하세요251658240
. 전체 나머지 크기를 제공하여 더 크게 만듭니다.경고하다: 최신
fdisk
도구는 감지된 파티션 서명을 지우는 기능을 제공할 수 있습니다.아니요요청을 받거나 디스크에 쓸 때 지금 이 작업을 수행하면 현재 PV/LVM 서명이 감지됩니다.파티션 유형을 다시 설정합니다
8e
(아마도 장식용일 것입니다). 모든 것이 정상이면 새 파티션 테이블을 작성하고 종료합니다fdisk
.업데이트: 명확하게 말하면 위 작업은 메모리에서 먼저 수행됩니다.
fdisk
동일한 시작 위치에서 파티션 4를 삭제하고 다시 생성( 메모리에서 수행)한 전체 결과는 파티션 4를 확대하는 것입니다. 디스크에 커밋 하면fdisk
MBR(즉, 로 표시되는 디스크의 첫 번째 섹터)만/dev/sda
덮어쓰게 됩니다. 섹터 251658240 이후에 저장된 데이터는 변경되지 않습니다. 더 높은 수준(GUI...심지어parted
resizepart
) 도구는 확대 옵션(parted
)을 제공하지만 최종 결과는 동일합니다. 파티션 4는 디스크에서 삭제된 적이 없습니다. 실수로 디스크에서 삭제했더라도 OS가 불만을 표시하기 전에 동일한 위치에 다시 생성했다면 여전히 치명적이지는 않습니다.새로운 파티션 크기의 커널 보기 업데이트
파티션이 사용 중이기 때문에(장치 매퍼 등에 의해)
fdisk
시스템이 파티션 테이블을 다시 읽도록 할 수 없으며 이전 파티션 테이블이 여전히 사용 중이라고 분명히 불평할 것입니다. 다시 시작하지 않으려면 올바른 도구를 사용하여 변경된 콘텐츠를 업데이트하세요.partx
. 파티션의 크기만 변경되므로 여기서는 매우 간단합니다.# cat /sys/class/block/sda4/size 188743680 # partx -u /dev/sda4 $ cat /sys/class/block/sda4/size [bigger value]
이제 유효성 검사 크기가 늘어났으며 를 사용하여 표시된 결과와 일치합니다
fdisk
. 그렇지 않으면 문제가 발생하여 다시 시작해야 할 수 있습니다.PV, LV, 파일 시스템을 확대합니다. 일부 LVM 옵션은 더 적은 수의 명령으로 이러한 옵션을 연결할 수 있지만 다음 단계를 따르세요.
옵션이 없으면 사용 가능한 모든 공간을 사용합니다.
# pvresize /dev/sda4
PV의 추가 공간은 VG의 LV에서 즉시 사용할 수 있습니다.
# lvextend -l +100%FREE /dev/centos/root # or any other choice
그런 다음 xfs의 경우:
# xfs_growfs / # remember that xfs may never shrink back
또는 ext4:
# resize2fs /dev/centos/root # and ext4 can't be shrunk back while mounted