/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
지금 실행하면 df
60GB의 새로운 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