리눅스 설치를 망칠까 두려우신가요? 파티션을 안전하게 조정하는 방법은 다음과 같습니다
리눅스는 다른 운영체제와 비교했을 때 최소한 운영체제의 명령어 줄에 대한 기본 지식을 갖추고 있어야 한다는 점에서 고유합니다. 명령어 줄에서 거의 모든 것을 할 수 있으며, 종종 GUI를 이리저리 조작하는 것보다 더 쉬울 때도 있습니다.
명령어 줄로 할 수 있는 것들 중에는 파티션 크기 조정도 있습니다. 그것을 수행하는 방법에 대한 분해 설명은 다음과 같습니다.
준비
적절한 준비가 핵심이다
디스크 파티션을 수정하기 전에, 치명적인 데이터 손실을 피하고 싶다면 모든 것을 준비해야 합니다. 파티션 크기 조정 작업에서 절대적인 첫 번째 단계는 대상 드라이브에 있는 모든 중요한 데이터를 포괄적이고 검증된 백업으로 만드는 것입니다. 디스크 작업은 본질적으로 파일 시스템 손상이나 실수로 인한 삭제의 위험을 수반하므로, 드라이브를 이미지하거나 중요한 파일을 외부 저장 매체에 안전하게 복사하는 도구를 사용하는 것은 선택 사항이 아닙니다.
백업이 확보되면, 관리자는 명령줄 유틸리티를 사용하여 현재 디스크 구성을 평가해야 합니다. lsblk 명령은 연결된 모든 블록 장치와 해당 파티션들의 명확한 계층적 뷰를 제공하여 /dev/sda1 또는 /dev/nvme0n1p2와 같은 특정 드라이브 및 파티션 지정을 식별할 수 있게 합니다. 또한 df -h 및 fdisk -l 같은 명령은 파일 시스템 사용량, 섹터 크기, 기존 파티션의 정확한 시작 및 종료 경계에 대한 중요한 정보를 제공합니다.
파티션을 성공적으로 확장하려면, 확장하려는 파티션과 바로 인접한 물리적 드라이브에 할당되지 않은 공간이 있어야 합니다. 할당되지 않은 공간이 드라이브의 시작 부분에 있거나 다른 활성 파티션에 의해 분리되어 있는 경우, 데이터를 이동하지 않고는 표준 확장 방법을 사용할 수 없으며, 이는 훨씬 복잡하고 위험한 절차가 됩니다. 또한, 관리자는 파티션에 현재 포맷된 파일 시스템 유형(예: ext4 또는 XFS)을 확인해야 하는데, 이는 최종 크기 조정 단계에서 필요한 특정 도구를 결정하기 때문입니다. 최신 Linux 커널은 ext4 및 XFS 파일 시스템을 활성 상태로 마운트하고 사용 중일 때 온라인 크기 조정을 지원하는 경우가 많지만, 축소 작업이나 파티션 테이블 자체의 구조 변경은 드라이브를 언마운트하거나 라이브 USB 환경에서 부팅하여 저장 장치에 대한 독점 접근을 확보해야 할 수 있습니다.
표준(비-LVM) 파티션 확장
대부분의 사용자에게
표준 비-LVM 파티션을 확장하는 것은 엄격한 두 단계 과정으로 이루어집니다: 먼저 파티션 테이블을 수정하여 더 큰 물리적 공간을 인식하게 하고, 그 다음 파일 시스템에게 새로 할당된 경계로 확장하도록 지시하는 것입니다.
첫 번째 단계에서는 fdisk나 parted와 같은 도구를 사용하여 파티션 경계를 변경해야 합니다. fdisk를 사용하는 일반적이지만 다소 위협적인 방법은 기존 파티션 기록을 삭제한 다음 즉시 다시 생성하는 것입니다. 이 재생성 과정에서 새로운 파티션이 원래 파티션과 정확히 동일한 시작 섹터에서 시작되는 것이 절대적으로 중요합니다. 시작 섹터가 일치하지 않으면 즉시 데이터 손실과 파일 시스템 파괴가 발생합니다.
fdisk를 사용하는 것은 비교적 간단합니다:
- 다음 명령어를 실행하세요:
sudo fdisk /dev/sda. - 파티션 테이블을 출력하려면
p를 입력하고 크기를 조정하려는 파티션의 시작 섹터를 기록하세요. d를 입력하여 파티션을 삭제한 다음, 파티션 번호(e.g.,1)를 입력합니다. 이는 파티션 테이블의 파티션 항목만 삭제하며, 데이터는 삭제되지 않습니다.- 새 파티션을 만들려면
n을 입력하십시오. 앞서 기록한 것과 동일한 시작 섹터를 사용하고, 사용 가능한 모든 공간을 사용하려면 기본 종료 섹터를 수락하십시오. - 디스크에 변경 사항을 기록하고 종료하려면
w를 입력하세요. - 커널이 파티션 테이블 변경을 인식하도록 시스템을 재부팅해야 할 수도 있습니다:
sudo reboot.
그런 다음 종료 섹터는 인접한 할당되지 않은 공간을 포함하도록 확장됩니다. 또는 growpart 유틸리티는 지정된 파티션을 사용 가능한 연속 공간으로 확장하도록 파티션 테이블을 자동으로 다시 작성하여 수동으로 섹터 경계를 삭제하고 재생성할 필요 없이 보다 안전하고 간편한 방법을 제공합니다.
기본 파티션 테이블이 증가된 크기를 반영하도록 업데이트되면, 운영 체제에 하드웨어 변경 사항을 알려야 합니다. partprobe 명령을 실행하면 커널이 파티션 테이블을 다시 읽도록 강제하여 시스템 재부팅 없이 블록 장치의 새로운 크기를 인식하게 합니다. 두 번째 단계는 추가 공간을 아직 인식하지 못하고 원래 크기 제한을 유지하고 있는 파일 시스템 자체를 다룹니다. 표준 ext2, ext3 또는 ext4 파일 시스템의 경우, 대상 파티션 블록 장치에 대해 resize2fs 명령을 실행합니다. 이 유틸리티는 파일 시스템 구조를 새로 확장된 파티션 전체를 채우도록 조정합니다. 파티션이 XFS 파일 시스템을 사용하는 경우, 대신 xfs_growfs 명령을 사용하며, 이는 파티션이 마운트되어 있어야 하고 장치 경로 대신 마운트 지점 디렉터리를 인수로 받습니다.
LVM으로 확장하기
당신은 또한 이 작업을 당신의 서버에서도 할 수 있습니다
논리 볼륨 관리자는 물리적 스토리지 위에 매우 유연한 추상화 계층을 제공하여, 표준 파티션을 다루는 것보다 확장 과정을 훨씬 더 동적으로 만듭니다.
LVM 아키텍처는 세 가지 주요 구성 요소로 구축됩니다: 실제 저장 장치에 매핑되는 물리적 볼륨(Physical Volumes), 하나 이상의 물리적 볼륨의 저장 공간을 통합하는 볼륨 그룹(Volume Groups), 그리고 볼륨 그룹에서 최종적으로 사용할 수 있는 파티션으로 만들어지는 논리적 볼륨(Logical Volumes). LVM 설정을 확장하려면 관리자는 먼저 사용할 수 있는 원시 저장 공간이 필요합니다. 이는 시스템에 완전히 새로운 하드 드라이브를 추가하거나 기존 드라이브에 할당되지 않은 공간을 활용하여 달성할 수 있습니다.
새로운 스토리지 공간은 먼저 pvcreate 명령을 사용하여 물리 볼륨으로 초기화되어야 합니다. 이 단계는 LVM 메타데이터를 디스크나 파티션에 기록하여 원시 디스크나 파티션을 준비하고, 장치를 기존 스토리지 풀에 통합할 준비가 되었다는 것을 LVM 서브시스템에 알립니다.
물리 볼륨이 초기화되면 다음 단계는 상위 볼륨 그룹의 용량을 확장하는 것입니다. vgextend 명령어를 사용하여 새로 생성된 물리 볼륨을 원하는 볼륨 그룹에 추가합니다. 이렇게 하면 해당 볼륨 그룹 내에서 사용 가능한 미할당 스토리지 블록의 전체 풀(pool)이 즉시 증가합니다. 볼륨 그룹이 성공적으로 확장되면 관리자는 이제 이 새 공간을 특정 논리 볼륨에 할당할 수 있습니다.
lvextend 명령은 논리 볼륨 자체의 크기를 증가시키는 역할을 합니다. 이 LVM 프로세스의 주요 장점 중 하나는 lvextend 명령 내에서 직접 -r 또는 --resizefs 플래그를 사용할 수 있다는 점입니다. 이 통합 플래그는 하위 파일 시스템이 ext4이든 XFS이든 자동으로 감지하고, 볼륨 확장과 동시에 적절한 파일 시스템 크기 조정 유틸리티를 원활하게 실행합니다. 이를 통해 resize2fs 또는 xfs_growfs와 같은 별도의 명령을 수동으로 실행할 필요가 없어집니다.
명령어 줄은 위협적으로 느껴질 수 있으며, 특히 파티션 분할처럼 복잡한 작업을 다룰 때 더욱 그렇습니다. 하지만 이 설명이 조금이나마 더 쉽게 만드는 데 도움이 되기를 바랍니다.







