1. IPMI란?
IPMI(Intelligent Platform Management Interface)는 host 시스템의 CPU, firmware, OS와 별도로 하드웨어를 원격으로 관리하는 데 사용되는 인터페이스 집합이다. OS를 거치지 않고 직접 hardware에게 원격으로 신호를 보내 파워를 조절하거나 다양한 작업을 할 수 있다. 즉, IPMI를 사용하기 위해서는 서버를 켤 필요가 없다. IPMI와 연관된 하드웨어를 BMC(Baseboard Management Controller)이라고 한다. 주요 기능은 서버의 전원 제어, 하드웨어 모니터링, logging 등이 있다.
2. IPMI 사용해보기
IPMI에 접속하기 위해서는 특정 IP주소가 필요하다. 이를 http protocol을 사용하여 접속하는 것이 가장 사용하기 편하다. 실제로 브라우저 주소창에 IP주소를 입력하고 로그인을 하면, 원격으로 서버의 화면을 볼 수 있고 GUI를 통해 전원을 조절할 수 있다. 하지만, 현재 나처럼 IP주소에 direct접근이 어려운 경우에는 ssh를 통해 한번 우회를 해야 된다. (홈 IP -> Cspro -> IPMI IP). 이런 경우에도 http를 사용할 수 있는지는 모르겠지만, 일단 ssh로 도전해보았다.
1) 처음 (ssh를 사용하여) 로그인 하면 마친 BIOS의 쉘 환경과 비슷한 창이 나온다. 여기서 어떤 명령어가 가능한지 help를 치면 다음과 같다.
2) 사용할 수 있는 명령어는 cd, show, help, version, exit이다. Version은 현재 Shell(?)의 version을 보여준다. 위에 첫 화면에서 나온 "Insyde SMASH-CLP Shell"이라고 나온다. exit과 help는 알고, show명령어는 무엇을 하는지 궁금했다.
3) Show명령어를 하니 target과 verbs가 나온다. 이를 조합하여 사용하면 다른 일을 할 수 있는 것 같다. system1은 아마 내가 IPMI로 조절하고 싶은 서버를 뜻하는 것 같고, cd는 linux에서와 마찬가지로 해당 directory로 이동하는 것이 아닐까 싶었다.
4) 이번에는 Targets에 다양한 것들이 나온다. logs1은 하드웨어의 log를 저장하고 있다. sensors1에는 현재 sensor들에 대한 값과 sensor data repository(SDR)의 정보를 읽어온다고 한다. sol1은 SOL(Serial Over LAn)으로 서버 콘솔 화면을 원격으로 볼 수 있는 것이다. 마지막으로 내가 이 글을 쓰게 된 이유인 pwrmgtsvc1이 있다. 무엇의 약자일까? pwr은 power, mgt는 management, svc는 service인 것 같다. 즉 전원을 조절하는 기능이다.
5) Verbs에 보면 start, stop, reset이 있다. 이는 각각 서버를 키고, 끄고, 재시동을 하는 기능을 담당한다. 만약 예상치 못한 커널 패닉이나 서버의 죽음으로 서버를 재시동해야 되는 경우, 학교에 가지 않고 이렇게 원격으로 서버를 재시동할 수 있다. 물론, GUI가 훨씬 편하고 더 많은 기능을 제공하긴 한다, 실제로 log를 살펴서 어떤 오류가 발생했는지도 확인할 수 있다. 하지만 나는 파워를 조절하는 기능에만 집중적으로 공부했기 때문에, IPMI에 숨겨진 더 많은 기능들에 대해서는 알지 못하는 것일 수 있다.
도움 출처:
https://www.dinotools.de/en/2020/01/21/use-supermicros-ipmi-and-ssh-to-power-on-a-server/
Use Supermicros IPMI and SSH to power on a server
It is possible to access the IPMI of an Supermicro server via SSH and controll the power of the server.
www.dinotools.de
'리눅스' 카테고리의 다른 글
socks5를 사용하여 IDRAC 접속하기 (0) | 2022.01.18 |
---|---|
Linux 사용자(user) 추가하기 (0) | 2021.11.26 |
Timer Management (0) | 2021.06.08 |
Kernel Memory Allocation (0) | 2021.06.08 |
Device Control Method (0) | 2021.04.21 |