개요
ESXi 6.5의 가상 머신과 본체의 전원을 정해진 시간에 매일 자동으로 꺼지도록 스케줄링합니다. ESXi 자체적으로는 해당 기능을 제공하지 않기 때문에 쉘 스크립트를 작성해서 사용해야 합니다.
설정 방법
쉘 스크립트 작성을 위해 먼저 SSH를 활성화해야 합니다. ESXi 설정의 Troubleshooting Mode Options
에서 Enable SSH
에서 엔터키를 누릅니다.
SSH 클라이언트 프로그램인 putty를 실행하여 ESXi에 root 계정으로 SSH 접속합니다.
빨간색 박스에는 ESXi 접속 주소를 입력합니다. 접속 주소는 ESXi 실행 첫 화면에 아래와 같은 위치에서 찾을 수 있습니다.
/vmfs/volumes/[데이터 스토어 이름]/[쉘스크립트이름].sh
으로 파일을 생성합니다.
데이터 스토어 이름
에는 일반적인 설치 과정을 거쳤다면 datastore1
을 입력하시면 될 것 같고, 쉘스크립트이름
은 shutdown
정도로 지정합니다. 파일을 생성하기 위해 touch 명령어를 이용합니다.
touch /vmfs/volumes/datastore1/shutdown.sh
shutdown.sh
를 편집하기 위해 아래와 같이 입력합니다.
vi /vmfs/volumes/datastore1/shutdown.sh
vi에 대해서는 이 글을 참고하세요.
편집 모드로 들어가기 위해 i
키를 누릅니다. 그리고 아래 코드를 입력합니다.
#!/bin/ash
/sbin/powerOffVms
/bin/poweroff
입력이 끝났으면 ESC
키를 눌러 편집 모드를 종료하고 저장하기 위해 :wq
를 입력하고 엔터키를 누릅니다.
해당 파일에 실행 권한을 부여하기 위해 chmod +x /vmfs/volumes/[데이터 스토어 이름]/[쉘스크립트이름].sh
을 입력하고 엔터키를 누릅니다.
chmod +x /vmfs/volumes/datastore1/shutdown.sh
chmod에 대해서는 이 글을 참고하시기 바랍니다.
만약 정상적으로 실행 권한이 부여됐다면 ls 명령어를 입력해서 리스트를 확인할 때 해당 파일이 녹색으로 변해 있어야 합니다.
부팅할 때마다 실행되도록 rc.local에 등록해야 합니다. 아래와 같이 입력합니다.
vi /etc/rc.local.d/local.sh
ESXi 5.0 이하 버전은
/etc/rc.local
파일을 수정해 주셔야 합니다. 수정 방법은 동일합니다.
위에서 했던 것처럼 i
키를 눌러서 편집 모드에 들어가서 아래 명령을 입력하고 저장합니다.
/bin/echo “0 22 * * * /vmfs/volumes/datastore1/shutdown.sh” >> /var/spool/cron/crontabs/root
0 22 * * *
는 매일 22시라는 표현입니다.* * * * *
는 각각분 시 일 월 요일
을 의미합니다.*
는every
입니다.요일
에서 0 혹은 7은일요일
, 1은월요일
, 2는화요일
, 3은수요일
…을 의미합니다.- 시간은 실생활에서 사용하는 시간이 아니라 ESXi 서버의 시간에 맞춰 입력해야 합니다. ESXi 서버는 UTC 표준 시간을 사용한다고 합니다. 현재 ESXi 서버의 시간을 알고 싶다면
date
라고 입력하시면 됩니다.
해당 스크립트는 재부팅을 해야 적용되므로 ESXi를 한번 재부팅합니다. 스크립트가 정상 작동하는지 가까운 시간대를 설정하여 먼저 테스트해보시고 그 이후에 원하는 시간대를 설정하시기 바랍니다.