UFS /root 파티션에 상주하는 운영 체제를 실행하는 동안 UFS /root 파티션의 크기를 조정할 수 있는 방법이 있습니까? 저는 FreeBSD를 실행하고 있습니다.
답변1
FreeBSD에서 디스크 확장에 대한 상당히 포괄적인 가이드가 있습니다.설명서에UFS(FreeBSD의 기본값)의 경우 커널 버전 10.0 이상에서 온라인 업그레이드가 가능합니다.
그러나 마운트된 파일 시스템 주위의 파티션을 변경하면 다음에 시스템이 부팅을 시도할 때 먼저 발견될 수 있는 데이터 손실이나 불일치가 발생할 수 있습니다. 또한 부트로더를 확인하는 것을 잊지 마십시오.
파일 시스템 성장기본적으로 다음과 같이 요약됩니다.
파티션 테이블을 조정합니다.이 단계를 수행할 때 여기를 어지럽히면 전체 디스크가 손상될 수 있으므로 매우 주의하십시오. 최소한의 시스템을 실행하는 데 필요하지 않은 파티션, 특히 스왑 파티션을 마운트 해제할 수 있습니다.
귀하의 질문에서 나는
gpart
이것을 달성하기 위해 사용하는 방법을 알고 있다고 가정합니다.조정이 끝나면 모든 파티션을 안전하게 다시 마운트하고 스왑을 다시 활성화할 수 있습니다.
- 실제 성장 FS.
growfs <blockdevice>
FreeBSD의 경우 이는<blockdevice>
크기가 조정된 파티션을 발행하는 것만큼 간단합니다.
~을 위한축소, 다음 단계를 역순으로 수행해야 합니다.
- 파일 시스템 축소중요한 내용을 덮어쓰지 않도록 하세요
growfs -s <new_size> <blockdevice>
.새 목표보다 작은 크기를 선택하십시오.파일 시스템 크기. 즉, 100GB 파티션을 70GB로 줄이려면 이 단계에서 FS 크기를 약 60-65GB로 조정하세요. 오버슈트가 많을수록 여유 공간이 많아지지만 일반적으로 위치 변경이 많아져 대기 시간이 길어집니다. - 파티션 테이블을 조정합니다.이전과 달리 이 단계에서는 정확한 목표 크기를 선택할 수 있습니다. 특히 다른 파티션을 이동하는 경우 이 단계에서 다른 파티션을 마운트 해제할 수도 있습니다(실제로 이 경우~ 해야 하다제거하세요).
- 파일 시스템 확장. 이렇게 하면 (새) 파티션 끝에 남겨진 헤드룸이 제거됩니다
growfs <blockdevice>
. 크기 매개변수를 생략하면 전체 파티션을 사용하게 됩니다.
답변2
이를 수행하는 더 좋은 방법이 있습니다.
service growfs onestart
한 번 호출됩니다 /etc/rc.d/growfs
. 이 스크립트는 기본적으로 FreeBSD 매뉴얼에 있는 것과 동일한 명령을 모두 호출합니다. 이 스크립트는 아주 작은 가상 하드 디스크를 할당할 수 있도록 처음 부팅할 때 호출되도록 설계되었으며, 큰 가상 하드 디스크에서 처음 부팅하면 VM이 제공된 전체 디스크를 사용하도록 확장됩니다. 나중에 가상 디스크를 확장하는 경우(또는 dd
파일 시스템을 더 큰 물리적 디스크로 확장하는 경우) 스크립트를 한 번 수동으로 호출하여 모든 올바른 작업을 수행할 수 있습니다.
답변3
크기 조정이 완료되는 즉시 rootfs를 읽기 전용으로 마운트하고 재부팅해야 합니다.