5.5. 원격 가상화 호스트에 쉽게 액세스 설정
libvirt 유틸리티를 사용하여 원격 호스트 시스템의 VM을 관리할 때 -c qemu+ssh://root@hostname/system
구문을 사용하는 것이 좋습니다. 예를 들어 10.0.0.1 호스트에서 virsh list
명령을 root로 사용하려면 다음을 실행합니다.
# virsh -c qemu+ssh://root@10.0.0.1/system list
root@10.0.0.1's password:
Id Name State
---------------------------------
1 remote-guest running
그러나 편의를 위해 SSH 및 libvirt 구성을 수정하여 연결 세부 정보를 전체적으로 지정할 필요가 없습니다. 예를 들어 다음을 수행할 수 있습니다.
# virsh -c remote-host list
root@10.0.0.1's password:
Id Name State
---------------------------------
1 remote-guest running
이 개선 사항을 활성화하려면 아래 지침을 따르십시오.
절차
~/.ssh/config
파일을 편집하거나 생성하고 다음 내용을 추가합니다. 여기서 host-alias 는 특정 원격 호스트와 연결된 이름이 단축되고 hosturl 은 호스트의 URL 주소입니다.Host host-alias User root Hostname hosturl
예를 들어 다음에서는 root@10.0.0.1의 tyrannosaurus 별칭을 설정합니다.
Host tyrannosaurus User root Hostname 10.0.0.1
/etc/libvirt/libvirt.conf
파일을 편집하거나 생성하고 다음 내용을 추가합니다. 여기서 qemu-host-alias 는 QEMU 및 libvirt 유틸리티가 의도한 호스트와 연결할 호스트 별칭입니다.uri_aliases = [ "qemu-host-alias=qemu+ssh://host-alias/system", ]
예를 들어 다음에서는 이전 단계에서 구성한 tyrannosaurus 별칭을 사용하여
qemu+ssh://10.0.0.1/system
을 나타내는 t-rex 별칭을 설정합니다.uri_aliases = [ "t-rex=qemu+ssh://tyrannosaurus/system", ]
검증
추가된
-c qemu-host-alias
매개변수가 있는 로컬 시스템에서 libvirt 기반 유틸리티를 사용하여 원격 VM을 관리할 수 있는지 확인합니다. 이 명령은 원격 호스트에서 SSH를 통해 자동으로 명령을 수행합니다.예를 들어 다음에 10.0.0.1 원격 호스트의 VM이 나열되는지 확인합니다. 이 연결은 이전 단계에서 t-rex 로 설정된 연결입니다.
$ virsh -c t-rex list root@10.0.0.1's password: Id Name State --------------------------------- 1 velociraptor running
참고virsh
외에-c
(또는--connect
) 옵션과 위에서 설명한 원격 호스트 액세스 구성은 다음 유틸리티에서 사용할 수 있습니다.
다음 단계
단일 원격 호스트에서만 libvirt 유틸리티를 사용하려면 특정 연결을 libvirt 기반 유틸리티의 기본 대상으로 설정할 수도 있습니다. 이를 위해
/etc/libvirt/libvirt.conf
파일을 편집하고uri_default
매개변수 값을 qemu-host-alias 로 설정합니다. 예를 들어 다음에서는 이전 단계에서 기본 libvirt 대상으로 설정된 t-rex 호스트 별칭을 사용합니다.# These can be used in cases when no URI is supplied by the application # (@uri_default also prevents probing of the hypervisor driver). # uri_default = "t-rex"
결과적으로 모든 libvirt 기반 명령이 지정된 원격 호스트에서 자동으로 수행됩니다.
$ virsh list root@10.0.0.1's password: Id Name State --------------------------------- 1 velociraptor running
그러나 로컬 호스트 또는 다른 원격 호스트에서 VM을 관리하려면 이 방법은 권장되지 않습니다.
원격 호스트에 연결할 때 원격 시스템에 루트 암호를 제공하지 않아도 됩니다. 이를 수행하려면 다음 방법 중 하나 이상을 사용합니다.
- 원격 호스트에 대한 키 기반 SSH 액세스 설정
- 원격 시스템에 연결하기 위해 SSH 연결 멀티플렉싱 사용
- Identity Management의 Kerberos 인증
-
-c
(또는--connect
) 옵션을 사용하여 원격 호스트에서virt-install
,virt-viewer
,virsh
명령을 실행할 수 있습니다.