게스트 vm Libvirt에서 명령을 실행하십시오.

게스트 vm Libvirt에서 명령을 실행하십시오.

libvirt 또는 virsh를 사용하여 게스트 가상 머신 내에서 iostat와 같은 명령을 실행할 수 있습니까? 게스트 가상 머신의 IOPS를 확인하고 싶지만 libvirt java api를 사용하면 가상 머신의 IOPS를 얻을 수 없으므로 다른 방법은 게스트 가상 머신 내에서 iostat와 같은 명령을 실행하고 기록해 두는 것입니다. 판독값.

답변1

  1. 가상 머신에 가상 직렬 콘솔이 설정되어 있는 경우 이 virsh console명령을 사용하여 연결할 수 있습니다.

    스크립트를 사용하여 expect사용자 이름과 비밀번호로 로그인하고, 명령을 실행하고, 출력을 추출한 다음 로그아웃해야 합니다.

    expect그러나 이것은 단일 목적의 언어이며 제 생각에는 아직 알지 못한다면 학습/사용할 의미가 없다는 점 에 유의하십시오 . 그것을 배우는 데 걸리는 시간을 perl또는 같은 공통 언어를 배우는 데 투자하는 것이 더 나을 것입니다 python.

    이것은 당신이하고 싶은 일이 될 것이라는 추가적인 이점이 있습니다많은perlExpect.pmor 모듈 python을 사용하는 것은 pexpect그 자체를 사용하는 것보다 쉽습니다 expect. expect세션에서 데이터를 추출하는 기능은 무엇을 할 수 있는지에 비해 매우 제한적이고 원시적입니다 perl.python

    그런데, 당신은 Java API에 대해 언급했습니다 . 빠른 Google 검색을 통해 유사한 Java 라이브러리의 구현이 libvirt최소한 두 가지 이상 있음을 알 수 있습니다 . expect더 있을 수도 있습니다.

    https://github.com/ronniedong/Expect-for-Java

    https://github.com/Alexey1Gavrilov/ExpectIt

    저는 Java 프로그래머가 아니며, 그 중 어떤 것도 사용해 본 적이 없으며, 어떤 이점이 있는지도 모르고, 다른 것보다 추천할 수 없습니다.

  2. 또는 가상 머신에 IP 주소가 있는 네트워크 인터페이스가 있고 그것이 sshd설치되어 있는 경우(또는 설치할 수 있는 경우) ssh다른 호스트와 마찬가지로 가상 머신에 들어갈 수 있습니다. 이것은 당신이 원하는 것을 달성하는 가장 쉽고 최선의 방법입니다.

관련 정보