ESXi 7 서버를 운영하면서 Operation not permitted 문구를 너무 많이 봤습니다.
처음에 서버를 설치할때에는 이러한 문제가 없었는데 ESXi 서버에서 ESXi 서버를 한번 더 설치 할 때 이 문구가 많이 보였고,
또 최근에 ESXi 7.0 Update 3g 버전이상 설치하고 shell script 를 실행할때 위의 메시지가 나타났습니다.
분명히 chmod 701 serverChecker.sh 이렇게 권한을 줬음에도 불구하고 permiited 즉 권한이 없다며 실행이 안되더군요.
그 원인을 보안 부팅에서 찾았습니다.
vi /etc/rc.local.d/local.sh
유일하게 ESXi 부팅 시 내가 원하는 명령어를 입력할 수 있는 구간입니다.
이 구간에 아래 노트를 잘 보면 UEFI 보안 부팅이 실행될 때 이 스크립트가 실행하지 않을꺼라고 적혀있습니다.
Note: This script will not be run when UEFI secure boot is enabled.
이 문장으로 인해서 [ Operation not permitted ] 권한 문제를 해결할 수 있었습니다.
부팅 할 때 UEFI Secure boot 즉 보안부팅을 하지 않으면 됩니다.
CMOS에 접속하여서 이부분을 변경하면되고요.
만약 VM모드에서 동작하는거라면 아래 이미지처럼 VM 옵션을 변경하면 됩니다.
이 부분을 체크박스 풀고 저장 눌러서 ESXi 서버를 실행하면 쉘스크립트가 권한 관련 메시지 나오지 않고 바로 실행됩니다.
결국 이 모든것을 해결 해야 하는 근본적인 이유는 관리죠!!
대량으로 관리를 하다보니 대량으로 서버가 잘 동작하고 있는지 매 분단위로 체크하고 확인해야합니다.
그렇기 때문에 ESXi 서버가 처음에 켜질때 [ 나 켜졌습니다 ] [ 운전 중입니다 ] 라고 저에게 알려줘야합니다.
처음에는 vCenter에 물려있다보니 vCenter 를 연결해제하고 정말 여러가지 시도를 많이 했습니다.
정말 쉽게 해결될 문제임에도 불구하고 그 정확한 정보까지 접근전에는 답답함과 밤샘이 이어진다는 사실….
당분간 ESXi 8 버전까지 가지고 놀 수 있을 듯 합니다.
처음에는 ESXi 7.0 U3d 이상 버전에서 업데이트가 이루어진줄 알았는데… 저만의 착각이었네요.
ESXi 8.0 버전까지 모두 동작합니다.