CentOS 8 시스템 실행 시 디스크 파티션 및 /var 파일 시스템 추가

CentOS 8 시스템 실행 시 디스크 파티션 및 /var 파일 시스템 추가

/dev/sdc1 디스크의 /var 파일 시스템 부분이 있습니다. 디스크 크기를 25GB에서 60GB로 늘려야 합니다. 디스크 크기를 늘렸습니다. 이제 시스템이 실행되는 동안 sdc1 파티션 테이블을 늘리고 파일 시스템을 확장하는 올바른 단계를 찾고 있습니다.

# df -h /var
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdc1        25G   18G  7.8G  70% /var

# sgdisk -p /dev/sdc
Disk /dev/sdc: 125829120 sectors, 60.0 GiB
Model: Virtual disk
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): A7852C28-6258-451D-A2BD-9F5A7CB7DB40
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 52428766
Partitions will be aligned on 2048-sector boundaries
Total free space is 4029 sectors (2.0 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048        52426751   25.0 GiB    8300

시스템이 실행되는 동안에도 가능한지, 그렇다면 추가해야 할 단계를 알 수 있을까요?

/var는 xfs 파일 시스템입니다. xfs_grow를 사용하여 파일 시스템을 늘릴 수 있습니다. 파티션 크기를 늘리는 올바른 단계를 알아야 합니다.

답변1

첫 번째 단계는 완전하고 적절한 백업을 만드는 것입니다. 사고는 발생하며 아시다시피 XFS 시스템이 약간 손상되거나 크기 조정 중에 완전히 충돌할 수 있습니다. 아니면 내가 멍청이가 되어 파일 시스템이 양동이를 버릴 때 당신의 얼굴을 상상하기 위해 나쁜 조언을 줄 수도 있습니다.또는 지침이 작동할 것이라고 진심으로 믿을 수도 있지만 실제로는 그렇지 않을 수도 있습니다. 소중한 데이터를 모두 잃어버렸다고 하면 충격을 받을 것 같지만, 그 손실을 되돌릴 수는 없습니다..

그래서:지원.

두 번째 단계는 파티션을 확장하는 것입니다. 이렇게 하려면 파티션 크기를 조정하면 됩니다(삭제하고 다시 만들 수도 있습니다).동일한 시작 섹터를 가짐, 물론 완료하기 전에 저장하고 다시 시작하지 않으면 됩니다! ).

파티션을 자동으로 확장할 수 있는 도구와 많은 튜토리얼도 있습니다. 이것은하나. 하지만 "재부팅 없이 루트 파티션 늘리기"를 검색하면 됩니다. (예, 루트 파티션은 아니지만 /var그렇게 하면 "더 안전한" 튜토리얼을 선택하게 됩니다. /에 작동하는 것 적용하다더 나은 것그리고 /var).

이 작업을 완료하면(재부팅이 필요하지 않습니다. 하지만 파티션을 다시 읽어야 합니다. fdisk이 작업을 자동으로 수행하고, 그렇지 않으면 를 사용하십시오 partprobe) 다음과 같은 파티션을 갖게 됩니다(실제 끝 섹터는 "GB" 크기와 약간 다를 수 있음) 그건 취향의 문제임)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         125824202  60.0 GiB   8300

하지만 이 60GB 파티션에는 파일 시스템에 25GB만 남아 있습니다. 안전하게 재부팅하고 시스템을 정상적으로 사용할 수 있으며 추가 공간이 필요하지 않습니다.

하지만 계속하기 전에: 당신은했다전체 백업이죠?

이 시점에서는 다음과 같이 다르게 수행할 수도 있다고 언급할 수 있습니다.새 파티션 추가그리고 /dev/sdc1혼자 남겨졌습니다. 예를 들어 데이터 양이 많다면 /home(예: 기존 25GB 중 15GB)? /dev/sdc2추가로 35GB가 있는 파티션을 생성하고 /home그곳으로 이동하면 이제 에 15GB의 여유 공간이 있고 /dev/sdc1에 20GB가 남아 있으며 /sdc2원래 파티션은 변경되지 않은 상태로 유지됩니다(아직백업해두세요)! 크기를 조정할 필요가 없습니다.만약에추가 공간은 /dev/sdc2당신에게 충분합니다.

하지만 그렇지 않고 모든 것을 하나의 블록에 담기를 원한다면 /dev/sdc1성장해야 합니다.

# xfs_growfs -n /dev/sdc1

기존 25GB 파일 시스템에 대한 정보가 제공됩니다. 데이터 블록의 수는 아마도 약 650만 개일 것입니다.

이 작업을 수행-n옵션 없음그러다가 - 시간이 좀 지나면 보통 속삭이곤 해요"적어도 백업은 해뒀는데..."- 다음과 같은 내용이 표시됩니다.

data blocks changed from 6553600 to 15728640

확인차,

# xfs_info /dev/sdc1

무엇보다도 다음과 같이 말해야 합니다.

data     = bsize=4096   blocks=15728640, imaxpct=25

지금 실행하면 df60GB의 새로운 FS 크기가 표시됩니다. 더 큰 디스크에 오신 것을 환영합니다!

답변2

사용한 응용 프로그램을 모두 종료하지 않는 한 이는 불가능합니다 /var.

이렇게 하려면 커널에서 파티션 데이터를 읽는 resize2fs를 사용해야 하므로 첫 번째 단계는 크기를 조정하는 것입니다. /dev/sdc1그러나 Linux 커널은 디스크 파티션이 마운트된 경우 변경을 허용하지 않습니다.

답변3

모든 의견에 감사드립니다.

다음 명령을 사용하여 파일 시스템의 크기를 조정합니다. growpart도구는 정말 도움이 됩니다.

이 링크를 기반으로 다음 단계를 수행하십시오.

https://www.cyberciti.biz/faq/linux-extend-file-system-after-resize-disk-volume/

1.
   # dnf install cloud-utils-growpart -y
  
2.  
  #  growpart --dry-run /dev/sdc 1
  #  growpart /dev/sdc 1

# sgdisk -p /dev/sdc
Disk /dev/sdc: 125829120 sectors, 60.0 GiB
Model: Virtual disk
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): A7852C28-6258-451D-A2BD-9F5A7CB7DB40
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 125829086
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048       125829086   60.0 GiB    8300


3.

  #  xfs_growfs -n /dev/sdc1
  #  xfs_growfs  /dev/sdc1
 
4.   
    # df -h /var
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sdc1        60G   17G   44G  27% /var

관련 정보