유진 중간평가
- 문제에 답은 하나가 아닌 아는 것을 모두 써주시면 됩니다.
(빌트인 명령어, 벤더사 명령어 등 아는 것을 모두 써주세요)
(문제 지문의 내용이 이해가 되지 않으면 물어보셔도 됩니다.)
Q1. 싱글디스크 구성되어 있는 장비의 디스크 교체 절차.(장애디스크 /dev/sdb)
디스크가 하나 = 레이드 상태 x -> 디스크를 바로 마운트 해제한 뒤 교체해도 되는지 SE에게 질의 -> 해당 서버에 원격 접속 후. “disk u sdb” -> 물리 디스크 제거 및 교체 -> “disk m sdb” 다시 마운트 작업.
======================================================================================================================================================
Q2. cache, kage, tset 디스크 장애시 처리 절차
cache = SYS_IO_ERROR 발생 시 서버 원격 접속 후 로그 확인. -> 에러난 영역 확인 후 “df -Th” , “fdisk -l” , “smartctl” 등의 명령어를 활용하여 해당 영역의 오류가 맞는지 다시한 번 확인. -> “disk u [영역]” 으로 마운트 해제 -> 물리 디스크 제거 및 교체 -> “disk m [해당 영역]” 으로 마운드. -> 앞서 사용했던 확인 명령어로 디스크 마운트 잘 됬는지 확인.
kage = SYS_IO_ERROR 발생 시 원격 서버 접속 후 로그 확인. -> 에러난 영역 확인 후 “df -Th” , “fdisk -l” , “smartctl” 등의 명령어를 활용하여 해당 영역의 오류가 맞는지 다시한 번 확인. -> “./kagedisk.sh” 스크립트 사용하여 작업진행.
tset =. ….?
======================================================================================================================================================
Q3. 디스크 장애시 디스크 상태를 알 수 있는 벤더사별 명령어
공통
Ipmitool -I lanplus -H [iBMC IP] -U [user] -P [passworc] sdr type “Drive Slot”
: 서버의 드라이브 슬록에 대한 센서 정보를 나열하여 장애가 있는 디스크를 식별할 수 있다.
DELL
omreport system summary : 시스템의 전반적인 상태 확인(디스크 드라이브 정보 포함)
omreport storage controller : 서버에 설치된 모든 스토리지 컨트롤러의 상세 정보 확인
omreport storage pdisk controller=0 : 물리 디스크 상새정보 확인
omreprot storage vdisk controller=0 : 가상 디스크 상세정보 확인
omconfig storage pdisk controller=controller ID vdisk=virtual disk ID : 가상 디스크에 할당된 디스크 확인
HP
ssacli ctrl all show status : 컨트롤러 상태 확인
ssacli ctrl all show config : 모든 RAID 컨트롤러와 연결된 드라이브의 구성 및 상태 확인
ssacli ctrl slot=[슬롯 번호] pd all show status : 물리 드라이브 상태 확인
ssacli ctrl slot=0 pd all show detail : 물리 드라이브 상세 정보 ( slot 은 컨트롤러 정보 확인)
ssacli ctrl slot=[슬롯 번호] id all show status : 논리 드라이브 상태 확인
ssacli slot=0 id all show detail : 논리 드라이브 상세 정보 ( slot 은 컨트롤러 정보 확인)
Supermicro
sdc.sh : 디스크 정보 및 상태 확인
Huawei
uREST —method GET —resource /redfish/v1/System/1/Storage : REST API 를 통해 서버의 스토리지 시스템의 상태를 조회
Megaraid
megacli -PDlist -aALL : 물리 디스크 정보 확인
megacli -LDInfo -Lall -aALL : 논리 디스크 정보 확인
megacli -AdpAllInfo -aALL : 컨트롤러 정보 보기
megacli -PDInfo -PhysDrv [인클로저 번호 : 슬롯 번호] -aALL : 특정 물리 디스크에 대한 상세 정보 확인
megacli -AdpEventLog -GetEvents -aALL : 모든 이벤트 로그 보기
megacli -AdpBbuCmd -aALL : 배터리 백업 유닛(BBU) 상태 확인
megacli -CfgLdAdd -r0 [E:S] [E:S] -a0 : RAID 구성 생성
명령어 간편화
우선 절대 경로로 명령어를 사용하기엔 명령어가 상당히 길기때문에 링크 명령어로 간편화 한다.
ln -s /opt/MegaRAID/MegaCli/MegaCli64 /bin/megacli이제부터 megacli로 명령어 사용 가능.
- 레이드 상태 요약 명령어
-
megacli -ShowSummary -aALL
섹션 제목: “megacli -ShowSummary -aALL”
- 물리적 디스크 상태 확인
-
megacli
섹션 제목: “megacli”
- 레이드 정보 확인
-
megacli -LDinfo -Lall -aALL
섹션 제목: “megacli -LDinfo -Lall -aALL”
- 디스크 시간 체크
-
smartctl -a –device=sat+megaraid,10 /dev/sda
섹션 제목: “smartctl -a –device=sat+megaraid,10 /dev/sda”
- 리빌딩 상태 확인
-
megacli -pdrbld -showprog -physdrv[252:1] -a0
섹션 제목: “megacli -pdrbld -showprog -physdrv[252:1] -a0”
- 리빌딩 속도 확인
-
megacli -AdpGetProp RebuildRate -a0
섹션 제목: “megacli -AdpGetProp RebuildRate -a0” -
./MegaCli64 -AdpSetProp RebuildRate 40 -a0 (속도 증가 가능)
섹션 제목: “./MegaCli64 -AdpSetProp RebuildRate 40 -a0 (속도 증가 가능)”
- RAID 컨트롤러 로그
-
magacli -fwtermlog -dsply -aall
섹션 제목: “magacli -fwtermlog -dsply -aall”
- RAID 컨트롤러 정보 확인
-
megacli -adpallinfo -aall
섹션 제목: “megacli -adpallinfo -aall”
- 인클로저 정보 확인
-
megacli -encinfo -aall
섹션 제목: “megacli -encinfo -aall”
- 디바이스 별 펌웨어 상태 확인
-
megacli -PDlist -aALL | grep -iE “slot | firmware”
섹션 제목: “megacli -PDlist -aALL | grep -iE “slot | firmware””
StorCLI
storcli /c0 /eall /sall show : 컴트롤러 0에 연결된 모든 인클로저의 모든 슬롯에 있는 모든 디스크의 정보를 확인
storcli /c0 /eX /sY show : x(인클로저 번호), y(슬롯 번호) 특정 물리 디스크에 대한 정보 제공
[디스크 상태를 “online” , “offline” , “Failed” 등으로 확인할 수 있다.]
======================================================================================================================================================
Q4. 장애디스크 발생시 장애 위치(불빛)를 알 수 있는 명령어(storcli 외 벤더사 명령어 포함)
storcli /c0/eALL/sALL start locate : 컨트롤러,인클로저,슬롯 지정가능.
storcli /c0/eALL/sALL stop locate : 확인한 뒤 끔.
MegaCli -PdLocate -start -physdrv[E:S] -aALL : 인클로저 및 슬롯 번호 기입 후 킴.
MegaCli -PdLocate -stop -physdrv[E:S] -aALL : 끔.
HP 및 Dell 은 iLO 원격 관리 인터페이스 및 OMSA 웹 인터페이스를 이용.
======================================================================================================================================================
Q5. Fan 장애 확인 명령어
“cat /var/log/messages” 로 확인 시 “bnx2x 0000:06:00.0 eth0: Fan Failure on Network Controller has caused the driver to shutdown the card to prevent permanent damage.” 이라는 문구가 포함되어 있으면 NIC 카드 FAN 장애이다.
======================================================================================================================================================
Q6. 메모리 장애 확인 명령어 및 파트 넘버 확인
sudo dmidecode -t memory : 메모리 모듈에 대한 상세 정보 확인
sudo metester 1024 5 : 1GB의 메모리를 테스트하여 5회 반복한다는 명령어. (설치 되어있어야 가능)
======================================================================================================================================================
Q7. 파워 장애 확인 명령어
upower -i /org/freedesktop/devices/battery_BATO : 배터리 장치에 대한 정보 제공
dmesg | grep -i power : 시스템 로그에서 “power” 에 관련된 메시지를 필터링 하여 제공
acpi -v : 시스템의 배터리 상태, 전원 어댑터 상태 들을 제공
======================================================================================================================================================
Q7. PING_FAIL이 발생할 수 있는 상황
전원선이 제대로 연결되있지 않은 경우
서비스 케이블이 제대로 연결되있지 않은 경우
NIC 카드 FAN_ERROR
======================================================================================================================================================
Q8. HP 서버의 컨트롤러 및 컨트롤러 캐시, 배터리 상태 확인 명령어
ssacli ctrl all show status : 서버에 설치된 모든 HP 컨트롤러의 상태를 제공
ssacli ctrl all show detail : 모든 컨트롤러에 대한 자세한 정보 제공 (캐시의 상태, 구성, 용량 등)
ssacli ctrl all show detail : 컨트롤러 배터리 백업 유닛의 상태 제공 (배터리 상태, 충전 상태, 잔여 수명 등)
======================================================================================================================================================
Q9. ip 주소 변경 방법 및 CentOS에서의 설정파일 위치
centOS7 이상……
sudo vi /etc/sysconfig/network-scripts/ifcfg-[인터페이스 이름] : 설정 파일을 편집하여 IP 주소, 서브넷 마스크, 게이트웨이 등의 정보를 변경할 수 있음.
예)
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
등등등…
sudo systemctl restart network : 설정 완료 후 네트워크 재시작
======================================================================================================================================================
Q10. ipmi 주소 변경 방법
ipmitool lan print l : 현재 IPMI LAN 설정을 확인
sudo ipmitool lan set 1 ipaddr 192.xxx.x.xxx : iP 주소와 관련된 설정을 변경. (1은 LAN 채널을 의미하며, 대부분의 시스템에서 1을 사용한다.)
sudo ipmitool lan set 1 netmask 255.255.255.0 :iP 주소와 관련된 설정을 변경. (1은 LAN 채널을 의미하며, 대부분의 시스템에서 1을 사용한다.)
sudo ipmitool lan set 1 defgw ipaddr 192.xxx.x.x : iP 주소와 관련된 설정을 변경. (1은 LAN 채널을 의미하며, 대부분의 시스템에서 1을 사용한다.)
sudo ipmitool mc reset cold : 변경 사항을 적용하기 위해 IPMI 장치를 재설정하는 명령어
======================================================================================================================================================
Q11. 펌웨어 확인하는 법(BIOS, BMC, NIC)
공통사항…?
sudo ethtool -i [인터페이스 이름] : 인투페이스의 드라이버 및 펌웨어 정보를 제공
======================================================================================================================================================
Q<그림1>-1. 위 그림과 같이 디스크가 장착되어 있으며 RAID5로 구성되어 있을 떄 디스크 (RSIZE) 사용량을 구하시오.
(위 디스크 중 1장은 Hot spare로 사용됩니다.)
- RAID 5는 최소 3개의 디스크가 필요하며, 데이터와 패리티가 모든 디스크에 분산 저장된다.
- RAID 5 에서는 하나의 디스크 공간이 패리티 저장용으로 사용되므로, 실제 사용 가능한 총 저장 공간은 N -1 개 디스크의 용량이다.
- 여기서 N 은 디스크의 총 수이다.
- 총 12개의 디스크 중 1개가 핫 스페어로 사용되므로, 11개의 디스크가 사용되며, 각 디스크의 RSIZE 는819TB 이다.
- RAID 5 의 사용 가능 저장 공간은 N - 1 이기 때문에, 11 - 1 = 10 즉19 TB 이다. (혹은 [인식불가한 디스크를 제외] 18.19 - 1.819 = 16.371 이다.)
======================================================================================================================================================
Q<그림1>-2. 위 그림에서 블록 부분인 unconfigured(bad) 부분을 unconfigured(good)으로 변경하는 법
- unconfigured 는 디스크가 RAID 구성에 포함되지 않고, 일반적으로 오류가 있거나 사용할 수 없는 상태를 의미한다.
- cat /var/log/messages 로 로그를 확인한다.
- dmesg 로 로그를 확인한다.
- smartctl -a /dev/sdl 을 실행하여 오류를 확인한다.
- 물리적인 손상이 없는경우 (교체x) 다음을 진행
MegaCLI 사용
- MegaCli -PDlist -aALL : 디스크 상태 확인
- MefaCli -PDMakeGood -PhysDrv [E:S] -aALL : 상태 확인 시 찾아논 Enclosure Number 와 Slot Number 를 해당 명령어에 포함시켜 사용. 디스크 상태를 GOOD 으로 변경한다.
- MegaCli -Cfgforeign -Clear -aALL : 스캔 후 재구성. 외부 구성을 제거하고, 시스템이 새로운 구성을 인식하도록 하는 명령어. 변경사항 적용.
StorCLI 사용
- storcli /c0 /eall /sall show : 모든 컨트롤러, 모든 인클로저, 모든 슬록의 디스크 상태 확인
- storcli /c0/eX/sY set good : X/Y 에 대입되는 인크롤저 및 슬롯 번호를 확인명령어를 통해 알아낸 뒤 적용하여 사용. 해당 명령어는 특정 디스크를 GOOD 상태로 설정한다.
- storcli /c0/fall delete : 외부 구성 제거. 모든 외부 구성을 제거한다.
- storcli /c0 rescan : 디스크 상태 변경 후 재스캔
- storcli /c0/eX/sY show : 컨트롤러 0 의 특정 인클로저 X 와 슬롯 Y 에 있는 디스크의 상태를 보여준다.
- storcli /c0 /eall /sall show : 컨트롤러 0 에 연결된 모든 인클로저와 모든 슬롯의 디스크 상태를 보여준다.
주의사항
- 디스크가 실제로 물리적인 손상을 입었다면, 해당 명령어들로 상태를 “Good” 으로 변결하는 것은 추천되지 않는다. 대신, 디스크를 교체하는 것이 필수이다.
- 상태 변경 전 디스크의 중요 데이터를 백업해야 한다.
변경 사항을 적용한 후에는 서버를 재시작하고, 디스크가 정상적으로 작동하는지 확인한다.