오늘은 HPE ProLiant DL20 Gen10 서버에 Ubuntu 리눅스를 설치하는 과정에서 겪은 문제와 해결 과정을 기록하려 한다.
생각해 봤을때 단순한 설치 과정이겠다라고 생각했지만, 실제로는 HDD 인식 불량으로 인 RAID 설정 실패, UEFI/ACHI 부팅 모드 이해 부족 등 여러 트러블 상황을 마주하게 되었다.. 이번 경험을 정리하면서 앞으로 비슷한 상황이 생겼을 때 참고 하도록 하자.
1. 문제 상황 정리
1-1. 물리 디스크 문제
- 서버에는 1TB HDD 하나만 장착되어 있었음.
- 설치 과정에서 RAID 구성을 하려 했으나, 물리적으로 디스크가 1개뿐이라 RAID1(미러링) 구성이 불가능.
- 하나의 HDD 에는 미러링 구성이 불가능 하기 때문에 파티션을 모두 포멧하고 통으로 하나의 파티션 구성.
- / , /boot, /home. swap 용량을 잡아서 운영체제 설치 완료
1-2. RAID vs AHCI 혼동
- HPE 서버 BIOS 기본 부팅 설정은 RAID 모드.
- RAID 모드에서 부팅 시 OS 가 설치된 HDD 를 인식하지 못함.
- 부트 모드가 UEFI 로 설정되어 있어도 RAID 모드에서는 부팅 불가.
1-3. UEFI 라는 개념의 등장
- 부트 메뉴에는 ubuntu 항목이 있었지만, RAID 모드에서는 여전히 부팅 실패.
- 결국 UEFI 자체 문제가 아니라, 스토리지 컨트롤러 모드(ACHI vs RAID) 불일치가 핵심 원인이었음.
2. 새로운 개념 정리
2-1. AHCI (Advanced Host Controller Interface)
- SATA 디스크를 OS 가 직접 제어할 수 있도록 하는 인터페이스 모드.
- RAID 기능을 쓰지 않고 단일 디스크를 운영할 때 사용.
- 하나의 HDD에 OS 설치 시 AHCI 모드로 변경해야 OS 가 정상적으로 부팅됨.
2-2. UEFI (Unified Extensible Firmware Interface)
- 기존 BIOS 를 대체하는 펌웨어 인터페이스.
- 디스크의 EFI 시스템 파티션(보통 100MB, FAT32)에 부트로더(예: GRUB)를 기록하고 부팅.
- RAID 문제와는 별개로, 부팅 엔트리를 관리하는 역할을 함.
3. 해결 과정
3-1. BIOS 진입 → Storage Options 변경
- RAID 모드 → AHCI 모드로 변경.
3-2. Ubuntu 설치 확인
- AHCI 모드에서 HDD 인식이 정상적으로 되었고, UEFI 부트 엔트리에 ubuntu 가 추가됨.
- 설치된 OS 부팅 성공.
3-3. 최종 부팅 순서 변경
- BIOS 부팅 순서에서 ubuntu (UEFI 엔트리)를 최상단으로 배치.
- 이후 서버 전원을 껐다 켜도 Ubuntu 가 자동 부팅됨.
4. 오늘 배운 것
- 디스크가 1개뿐이면 RAID는 불가능하다.
→ RAID1, RAID5 같은 구조를 실습하려면 최소 2개 이상의 디스크가 필요하다.
또 1개의 HDD 에 파티션을 나누어 RAID 를 시도하는 것은 안된다. - 부트 모드와 스토리지 모드가 일치해야 한다.
→ RAID 모드에서 설치했으면 RAID 모드에서만 부팅 가능. AHCI 모드로 설치했으면 AHCI 모드에서만 정상 부팅 가능하다. - UEFI는 부팅 방식을 관리하는 레이어일 뿐이다.
→ 옛날 컴퓨터는 BIOS(Basic Input/Output System) 라는 펌웨어가 OS를 불러오는 역할을 했지만, 시간이 지나며 디스크 용량이 커지고 보안 기능도 필요해지면서 UEFI 라는 것이 등장했다.
UEFI 는 OS 를 직접 부팅하는 것이 아니라, 부트로더를 찾아서 실행하고 부트로더가 OS 를 실행시킨다.
Ubuntu 의 EFI 파티션에 부트로더가 설치되어 있었지만 UEFI 가 부트로더를 찾지 못하고 있었다. 그 이유는 디스크가 RAID 방식이라고 알고 있기 때문이였다. - 트러블슈팅은 문제를 나눠 생각해야 한다.
→ 물리적 디스크 상태 → RAID/AHCI 설정 → UEFI 엔트리 순으로 원인을 좁혀가야 문제를 해결할 수 있었다.
'CS 공부 > 기타' 카테고리의 다른 글
| [ETC]시스템 리소스 수집 방식 비교 (0) | 2026.01.05 |
|---|---|
| [ETC] MobaXterm으로 Jump Host + SSH 포트포워딩 설정하기 (0) | 2025.10.14 |
| [ETC] QoS(Quality of Service)란 무엇인가? (0) | 2025.09.16 |
| [ETC] 긴 프로세스 명령어, systemd 서비스로 정의하여 사용하기 (0) | 2025.09.08 |
| [ETC] 트래픽 흐름에 대해서 알아보기 (0) | 2025.09.04 |