libvirt 또는 virsh를 사용하여 게스트 가상 머신 내에서 iostat와 같은 명령을 실행할 수 있습니까? 게스트 가상 머신의 IOPS를 확인하고 싶지만 libvirt java api를 사용하면 가상 머신의 IOPS를 얻을 수 없으므로 다른 방법은 게스트 가상 머신 내에서 iostat와 같은 명령을 실행하고 기록해 두는 것입니다. 판독값.
답변1
가상 머신에 가상 직렬 콘솔이 설정되어 있는 경우 이
virsh console
명령을 사용하여 연결할 수 있습니다.스크립트를 사용하여
expect
사용자 이름과 비밀번호로 로그인하고, 명령을 실행하고, 출력을 추출한 다음 로그아웃해야 합니다.expect
그러나 이것은 단일 목적의 언어이며 제 생각에는 아직 알지 못한다면 학습/사용할 의미가 없다는 점 에 유의하십시오 . 그것을 배우는 데 걸리는 시간을perl
또는 같은 공통 언어를 배우는 데 투자하는 것이 더 나을 것입니다python
.이것은 당신이하고 싶은 일이 될 것이라는 추가적인 이점이 있습니다많은
perl
Expect.pm
or 모듈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 프로그래머가 아니며, 그 중 어떤 것도 사용해 본 적이 없으며, 어떤 이점이 있는지도 모르고, 다른 것보다 추천할 수 없습니다.
또는 가상 머신에 IP 주소가 있는 네트워크 인터페이스가 있고 그것이
sshd
설치되어 있는 경우(또는 설치할 수 있는 경우)ssh
다른 호스트와 마찬가지로 가상 머신에 들어갈 수 있습니다. 이것은 당신이 원하는 것을 달성하는 가장 쉽고 최선의 방법입니다.