以下是一个使用 libvirt-go 远程连接的 Golang 示例:

package main

import (
    "fmt"
    "github.com/libvirt/libvirt-go"
)

func main() {
    conn, err := libvirt.NewConnect('qemu+ssh://username@remote-host/system')
    if err != nil {
        panic(err)
    }
    defer conn.Close()

    domains, err := conn.ListAllDomains(libvirt.CONNECT_LIST_DOMAINS_ACTIVE)
    if err != nil {
        panic(err)
    }

    fmt.Printf('Active domains:\n')
    for _, domain := range domains {
        name, err := domain.GetName()
        if err != nil {
            panic(err)
        }
        fmt.Printf('- %s\n', name)
    }
}

在上面的代码中,我们使用libvirt.NewConnect()函数建立一个到远程主机的连接。我们使用qemu+ssh协议指定了远程主机的用户名和主机名。在这种情况下,我们假设远程主机上已经安装了 libvirt 并正在运行。

然后,我们使用conn.ListAllDomains()函数列出了远程主机上所有活动的域名,并打印出它们的名称。

请注意,我们在代码的结尾使用了defer conn.Close()语句,以确保在程序结束时关闭连接。

Libvirt-Go 远程连接指南:Golang 示例

原文地址: https://www.cveoy.top/t/topic/fYeh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录