Born2BeRoot를 진행하기 위해 가장 먼저 해야할 것은 파티션 할당이다. 이번 글에서는 파티션 할당 과제(rocky linux를 기준)를 진행하면서 궁금했던 부분들에 대해서 탐구해 볼 예정이다.
LVM vs 표준파티션
Born2BeRoot를 진행할 때 가장 먼저 마주하게 되는 벽이 바로 LVM이다. LVM은 Logical Volume Manager의 약자로 LINUX OS가 가진 기능 중 하나라 보면 되는데(정확히는 커널의 일부다), 그렇다면 표준 파티션과 무엇이 다른 것일까?
OS가 디스크에서 파일을 불러오고 저장하기 위해 물리적으로 디스크에 존재하는 공간을 할당하는데 이걸 파티션이라 한다. 전통적으로는 파일 시스템이 이 파티션을 직접 하나씩 사용했다면 LVM은 파티션들을 가상화 해서 그룹을 만든 후, 그 그룹을 다시 나눠서 사용할 수 있게 해준다.
가상화 방법
다음은 표준 파티션과 LV(논리 볼륨)로 구성된 시스템을 다이어그램으로 나타낸 것이다.
/boot, /home/a, /home/b는 표준파티션으로 생성하였기 때문에 파티션과 바로 연결되는 반면, 나머지 영역은 볼륨 그룹인 LVMGroup에서 각각 논리 볼륨으로 다시 나뉘어져 할당된다.
lvm의 장점은 무엇일까?
1.
유동적으로 그 용량을 줄이고 늘리는 것에 용이하다.
2.
여러 장치를 하나의 장치처럼 사용할 수 있다.
위의 그림에서는 sda하나의 디스크만 사용하는 것을 보여줬지만 단일 볼륨 그룹에 여러 물리 볼륨(다른 디스크여도 가능)를 붙일 수 있다.
만약 sda의 용량이 부족하여 sdb라는 새로운 디스크를 설치한 후 확장한다면 다음과 같아질 것이다.
옵션으로 나오는 RAID는 대체 무엇인가?
RAID는 여러 디스크를 한개의 성능이 좋은, 혹은 안전성이 좋은 디스크처럼 사용하기 위해 만들어진 기술이다. RAID의 목적은 안전성과 성능 향상으로 나뉘며 한개를 높일 수록 나머지 한가지는 줄어들게 된다. 혹은 더 많은 용량(비용)을 소비하는 경우도 있다. RAID는 구성 방식에 따라서 성능과 비용이 달라지며 레벨이라 불리는 뒷자리의 수가 바뀌게 된다.
RAID 0
RAID 1
RAID 2
RAID 3
RAID 4
RAID 5
왜 sda4에 만들지도 않았던 extended partition이 생기는가?
보너스 과제를 진행했다면 sda5를 생성하던 도중 분명 sda3까지 생성했는데도 불구하고 sda4가 생성되지 않은 채 sda5가 생성된 것을 목격 했을 것이다.
설치 후 파티션 상태
그 이유는 임의로 생성하기 전에 시스템이 먼저 sda4를 extended partition으로 할당했기 때문이다. 그렇다면 extended partition은 무엇이고 왜 생성 되었을까?
답은 MBR(Master Boot Record)에 숨겨져 있다
컴퓨터의 전원을 킨 후 바로 실행되는 것은 메인보드에 저장된 바이오스(BIOS)다. 바이오스가 메모리에 OS파일들을 불러오면서 OS가 부팅 할 수 있지만 파일 전부를 읽으며 부팅하진 못한다.
바이오스는 디스크의 첫 번째 섹터를 읽고 이 섹터에 아무것도 없다면 디스크에 OS가 없다고 판단한다. 따라서 디스크의 첫 번째 섹터에 OS가 가장 처음 실행되는 코드(작성된 파일을 MBR이라 부른다)를 저장해야 했고, 섹터 한 개의 크기는 512 바이트다. 이 제한된 공간에 코드를 집어넣다보니 파티션 정보를 4개 밖에 저장하지 못해 4개 이상 만들경우 우회로를 만든 것이다.
일반적인 MBR의 경우에 4개다. 다른 종류는 그 이상의 파티션 정보를 저장 가능한 것도 있다.