Skip to content

Manual

hv version 0.0.0

Referencia de CLI y API

La CLI, la API JSON y el servidor MCP de hv exponen operaciones con los mismos conceptos que la consola. Sirven para administración repetible e integración. Antes de modificar recursos, identifique Pool y Proyecto, obtenga los permisos de cuenta necesarios y establezca una conexión de confianza con la instalación correcta.

Utilizar la CLI

El Host instalado incluye hv. Para un equipo de trabajo, obtenga una CLI de la misma versión de quien distribuye hv. Más adelante se reúnen los comandos utilizados en este manual; hv --help y la ayuda de cada subcomando describen el binario instalado.

Los comandos locales utilizan la base configurada y, por defecto, la identidad privilegiada System. Seleccione producción explícitamente:

HV_ENV=prod hv pool list --config /etc/hv/prod.toml
HV_ENV=prod hv vm list --config /etc/hv/prod.toml --pool POOL --json

Los comandos remotos utilizan la API y la cuenta del token. Un archivo privado preparado por el administrador puede proporcionar el token sin incluirlo en argumentos:

hv vm show VM --pool POOL --server https://hv.example.com:8443 --token-stdin < /secure/hv-api-token

También se admiten HV_SERVER y HV_TOKEN. No use la entrada estándar para el token con un comando que ya la consume para contraseñas. --ca-file añade una CA privada de confianza; no desactive la verificación para resolver una discrepancia de certificado sin identificar.

La mayoría de selectores aceptan referencia, UUID o nombre inequívoco. Use --pool si hay varios Pools. hv project use NAME selecciona el Proyecto predeterminado; --project explícito evita ambigüedades en automatización. Los roles de flota pueden seleccionar otro Silo con --silo.

Los códigos de salida son 0 para éxito, 1 para fallo de operación, 2 para uso o entrada rechazada, 3 para acceso denegado y 4 para objeto no encontrado. El éxito puede significar que se encoló una tarea; compruebe su finalización con hv task show TASK_ID.

Utilizar la API JSON

La base es /api/v1 en el endpoint de administración. Las solicitudes autenticadas llevan un token bearer de cuenta. Un 404 puede ocultar un objeto; un 403 indica que la acción no está permitida sobre un destino visible.

Siga las tareas hasta que terminen. Las operaciones de creación e importación que lo admiten aceptan Idempotency-Key para repetir la misma petición durante su periodo de retención sin duplicarla. Reutilizar la clave con otra entrada se rechaza. No suponga que toda modificación es idempotente ni repita a ciegas una operación de disco con resultado incierto.

Conectar MCP

MCP también necesita un token de cuenta. Una configuración local por stdio utiliza:

hv mcp serve --config /etc/hv/prod.toml --stdio

Proporcione HV_MCP_TOKEN mediante el entorno protegido del cliente. El modo predeterminado comparte un motor existente; --engine inicia uno propio y no debe competir con hv server sobre la misma base. El modo HTTP expone otro listener /mcp y exige TLS adecuado fuera de loopback.

Las herramientas de modificación solicitan confirmación humana si el cliente admite elicitation. En caso contrario exigen confirm: true; ninguno de los mecanismos elude la autorización. Revise destino y tarea resultante.

Problemas habituales

El trabajo en cola necesita motor aunque un comando local pueda leer inventario. Una configuración incorrecta puede seleccionar otra base. Restauraciones e importaciones remotas tienen requisitos específicos en su ayuda. Ante una denegación, revise conjuntamente roles y ámbitos del token. Verifique primero una consulta de inventario antes de permitir que una automatización modifique recursos.

Elegir un comando y comprobar el resultado

Use hv --help para encontrar una familia de comandos y --help en el subcomando elegido para revisar los argumentos obligatorios. Los siguientes comandos son los utilizados en los procedimientos del manual. Conserve las opciones de conexión y autenticación del principio de este capítulo al adaptar un ejemplo. Sustituya VM, HOST y POOL por selectores reales; no son nombres de objetos que deba crear literalmente.

Elegir un comando y comprobar el resultado
OperaciónComando o familiaComprobación
Listar Poolshv pool listEl Pool previsto aparece en este despliegue.
Listar o consultar VMhv vm list --pool POOL o hv vm show VM --pool POOLPropiedad, estado y Host residente corresponden al destino.
Iniciar una VMhv vm start VM --pool POOLLa VM se ejecuta y arranca su sistema operativo.
Apagar o reiniciar una VMhv vm shutdown VM --pool POOL o hv vm reboot VM --pool POOLEl invitado responde y alcanza el estado solicitado.
Eliminar una VMhv vm delete VM --pool POOLRevise las consecuencias para los discos antes de confirmar y el inventario después.
Mover una VM en ejecuciónhv vm migrate VM --pool POOL --host DESTINATION_HOST --liveLa tarea termina y cambia el Host residente.
Entrar o salir de mantenimientohv host maintenance enter HOST --pool POOL o hv host maintenance exit HOST --pool POOLRevise las VM restantes y el estado habilitado del Host.
Consultar o reiniciar un Hosthv host show HOST --pool POOL o hv host reboot HOST --pool POOLReinicie solo después de confirmar la evacuación.
Solicitar dom0 PVhv host dom0-mode HOST pv --pool POOLEl modo cambia en el siguiente arranque, no inmediatamente.
Cambiar miembros o coordinadorhv pool eject o hv pool designate-masterRevise la ayuda y el procedimiento de Hosts antes de actuar.
Consultar redeshv net list --pool POOL o hv net show NETWORK --pool POOLRevise las conexiones físicas o superpuestas de la red elegida.
Crear una redhv net create --pool POOL --name isolated --mtu 1500Crear el registro no proporciona rutas externas.
Reemplazar reglas superpuestashv net sdn acl setIncluya el conjunto completo; consulte la ayuda para el formato de entrada.
Consultar almacenamientohv sr list --pool POOL o hv sr show SR --pool POOLRevise capacidad y conexiones de Hosts.
Crear almacenamientohv sr createRevise los argumentos del tipo elegido y los efectos destructivos antes de ejecutarlo.
Actualizar el inventario de almacenamientohv sr scan SR --pool POOLActualiza los registros, pero no repara datos dañados.
Retirar almacenamientohv sr forget o hv sr destroyForget elimina el registro; destroy destruye los datos del repositorio.
Consultar tareashv task list --pool POOL o hv task show TASK_IDLea el estado final y el diagnóstico, no solo la aceptación de la solicitud.
Consultar una tarea de copiahv backup job show JOBRevise VM, Remote, horario y retención.
Ejecutar y consultar una copiahv backup job run JOB, hv backup run list --job JOB, hv backup run show RUN_IDSiga la ejecución e identifique su punto de recuperación.
Listar y restaurar puntoshv backup points o hv backup restoreUse modo remoto y los UUID de destino indicados en copias de seguridad.
Verificar la auditoríahv audit verifyConserve diagnósticos y anclas independientes si falla.

La migración entre Pools añade --dest-pool DESTINATION_POOL y permite repetir --network-map VIF=NETWORK. Esta ruta utiliza el SR predeterminado del Pool de destino. No incluya correspondencias de red al migrar dentro del mismo Pool. Revise el almacenamiento y el destino de cada NIC antes de solicitar el traslado.

El procedimiento de copias incluye ejemplos completos de hv backup remote add, hv backup retention set y hv backup job create. El horario de cinco campos usa UTC. La ruta de un Remote de directorio local está en la máquina del motor, no en el equipo que envía el comando.

Usar herramientas locales del host

Estas herramientas actúan sobre el Host donde se ejecutan. Use su consola o una sesión autorizada y confirme la identidad del equipo antes de cambiarlo. No heredan un destino remoto de hv --server.

Usar herramientas locales del host
HerramientaFinalidad y comprobación
rc-status y rc-service SERVICE statusConsultan servicios OpenRC. Use los nombres de primer arranque y seguridad.
xl infoConsulta Xen durante el diagnóstico del arranque.
ip address e ip routeConsultan dirección y rutas de gestión sin cambiarlas.
hv setup-tokenEmite otro token de configuración mientras no exista ninguna cuenta; mantenga privada su salida.
hv-agent pool join-codeGenera un código público de un solo uso válido durante 15 minutos.
hv-agent mesh statusConsulta pares de malla e información de sus conexiones.
hv-upgrade statusConsulta las raíces de actualización y su estado.
hv-upgrade rollback --dry-runMuestra la reversión local prevista antes de seleccionarla.
hv-upgrade rollbackCambia el próximo arranque; no reinicia por sí mismo.
hv-installer --answers /root/answers.toml --dry-runValida respuestas y muestra el plan sin ejecutarlo.
hv-installer --answers /root/answers.tomlEjecuta la instalación y borra el disco elegido sin otra confirmación de borrado.

Antes de instalar de forma desatendida, detenga el instalador automático con rc-service hv-installer-live stop; dos instaladores no deben operar a la vez sobre el disco. Siga instalación para preparar, revisar y ejecutar en el orden correcto. El modo dry-run comprueba el plan, no si la máquina terminada podrá arrancar.

Escribir medios desde el equipo de trabajo

Los ejemplos de dd de instalación se ejecutan en el equipo que contiene la ISO, no en el Host de destino. if= indica la imagen de origen y of= el dispositivo USB completo. El tamaño de bloque se escribe bs=4M en el ejemplo Linux y bs=4m en macOS. En Linux, conv=fsync sincroniza la salida antes de terminar; espere también al comando sync posterior.

En macOS, diskutil list identifica los discos, diskutil unmountDisk desmonta el seleccionado y diskutil eject lo expulsa después de escribir y sincronizar. Compruebe el resultado de cada comando antes de continuar. Estos comandos pueden sobrescribir un disco del equipo si el destino es incorrecto. No copie un marcador de dispositivo sin sustituirlo antes por el USB que haya verificado.