서버 저장장치 고장 대응 전략
본문에서는 DELL PowerEdge R710 서버에서 RAID 1 구성을 유지하던 SAS(6Gbps) 시스템 디스크가 손상된 상황을 가정합니다. 기존에 RAID 컨트롤러가 새로운 SSD(SATA/NVMe 등)를 직접 RAID 1 으로 미러링하는 것이 적합하지 않거나 호환성 문제가 발생했을 때, 물리적 디스크 교체를 위한 데이터 이주 및 재구성 과정을 다룹니다.
상황 분석 및 준비
기존 환경은 SAS 12000RPM 드라이브 2 대로 RAID 1 을 구성하고 있었으며, 한쪽이 고장으로 판명되었습니다. 새 하드웨어는 960GB 용량의 SSD 입니다. 컨트롤러 제한으로 인해 즉시 재구성 대신 백업 복구 방식을 선택하여 시스템을 안정화합니다.
- 검증 사항: 새로운 SSD 가 메인보드의 컨트롤러 인터페이스와 호환되는지 확인.
- 중요 경고: 모든 작업 전 필수 데이터를 외부 저장소나 다른 스토리지에 백업하세요. 데이터 손실 위험이 높은 물리 작업입니다.
MegaCLI 를 통한 상태 확인 및 조치
먼저 RAID 컨트롤러인 MegaCLI 를 사용하여 현재 물리 디스크의 상태 (State) 와 위치 (Slot) 를 파악해야 합니다. 명령어 실행 경로는 배포판에 따라 /opt/MegaRAID/MegaCLI/ 일 수 있습니다.
# 전체 어레이와 디스크 정보 조회
/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -LALL -aALL
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL
# 특정 디스크의 상세 로그 (예시: 0 번 컨트롤러, Slot 1)
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -a0
# 해당 디스크를 오프라인 상태로 설정 (고장 제거 준비)
/opt/MegaRAID/MegaCli/MegaCli64 -PDOffline -PhysDrv[0:1] -a0
데이터 클론 및 일시적 RAID 구성
새로운 SSD 에 운영 체제를 복원하기 위해 임시로 RAID 0 모드 (비내결함) 를 구성하거나, 외부 부팅 유즈를 활용하여 원본 디스크의 파티션 구조를 복사합니다. 여기서는 물리적 교체 직전의 데이터 이동 단계를 설명합니다.
- 임시 RAID 0 생성: 새 SSD 에 단일 디스크로 인식되도록 설정합니다.
- 데이터 전송: 부트 가능한 미디어 (Live USB 등) 를 통해 원본 SAS 디스크의 내용을 새 SSD 로 복사합니다. 기계적인 속도로 인해 장시간이 소요될 수 있습니다.
- 전력 차단 및 교체: 복사 완료 후 서버를 종료하고, 물리적인 SAS 디스크를 분리합니다.
- 최종 RAID 설정: 새로운 하드웨어 세트를 설치한 후 관리자가 필요한 RAID 레벨 (RAID 1 이상) 로 설정합니다.
# 외장 또는 내부 디스크 목록 확인
fdisk -l
lsblk
# 스마트 체크를 통한 건강도 진단
smartctl -a /dev/sda
smartctl -a /dev/sdX # 대상 디스크 ID 수정
볼륨 그룹 확장 및 마운트 검증
데이터가 새 저장소로 성공적으로 복제된 경우, 파일 시스템 크기를 실제 사용 가능한 공간에 맞게 늘려야 합니다. LVM(Logical Volume Manager) 이 구성된 환경에서는 PV 리사이즈 및 LV 확장이 필요합니다.
# 물리 볼륨 상태 확인
pvdisplay /dev/sdb3
# PV 크기 조정 (필요 시)
pvresize --force /dev/sdb3
# VG 및 LV 정보 출력
vgdisplay
lvdisplay
# 루트 파티션 용량 자동 확장 (시스템에 적용)
lvextend -r -l +100%FREE /dev/cl/root
# 최종 마운트 확인
df -h
mount | grep /
iDRAC 및 IPMI 모니터링 도구 활용
하드웨어 관리용 원격 제어기 (iDRAC) 와 IPMI 도구를 이용해 서버 상태와 이벤트 로그를 점검합니다. 계정 정보는 보안상 예시로 처리됩니다.
# IPMI 명령어 예시
ipmitool lan print
ipmitool sel elist
ipmitool event list -o -q
# DELL iDRAC 전용 관리자 도구 (idracadm7)
# 실제 환경에서는 보안을 위해 비밀번호 변수로 처리되어야 함
/opt/dell/srvadmin/bin/idracadm7 --username root --password <비밀번호> --ip <서버 IP> getsysinfo
# 전원 제어 및 상태 확인 (fence_tool)
fence_idrac --username root --ip <관리자 IP> --power status
추가 검사 항목
- 로그 파일 내 에러 기록 확인:
/var/log/megacli.log또는 유사 경로 - 네트워크 인터페이스 설정 확인:
nmcli connection show - 부팅 로드러 (GRUB/EFI) 확인:
efibootmgr를 사용하여 부팅 순서가 올바른지 검증