기본 파티션의 크기를 조정할 수 있습니까?

기본 파티션의 크기를 조정할 수 있습니까?

우리 회사는 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를 확대하는 것입니다. 디스크에 커밋 하면 fdiskMBR(즉, 로 표시되는 디스크의 첫 번째 섹터)만 /dev/sda덮어쓰게 됩니다. 섹터 251658240 이후에 저장된 데이터는 변경되지 않습니다. 더 높은 수준(GUI...심지어partedresizepart) 도구는 확대 옵션( 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
    

관련 정보