English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Resumen de tecnologías de virtualización, manual de instalación y gestión de máquinas virtuales

概述:虚拟化技术的介绍(kvm,qemu),虚拟机的安装,虚拟机的管理(virt-manger,virsh等)。

1.为什么要有虚拟化技术?

如果你的主要操作系统是windows但是又需要在Linux上工作,像VMware(需要付费。。。)或者virtualbox一定是你的首选,这样你就可以在两个操作系统间随意切换了,除了这其实我们还有解除了很多虚拟化技术;比如虚拟光驱,我们完全不需要真正的光驱也可以使用光盘镜像,这些都是我们日常接触到的,但并不是虚拟化技术的全部,现在比较热门的docker容器也是一种虚拟化技术。

在企业中可以将同一台机器的资源分割,管理员可以针对不同的客户群设置不同的虚拟机,隔离出不同的区块,以进行系统升级和维护,而完全不影响终端使用者的作业。资讯管理人员可以建置一部商用暨个人用的桌上型电脑系统,有效隔离软体的载入和病毒的攻击;或者建置一部能够执行不同作业系统和软体的电脑,以因应不同的需求或支援旧版软体。可见在企业中虚拟化技术有很广泛的应用。

说了这么多,先来看看你的计算机是否支持虚拟化,打开终端键入grep --color -E "vmx|svm" /proc/cpuinfo

如果有信息显示那么恭喜你,你可以安装虚拟化软件了


虚拟化软件的安装

yum install qemu-kvm qemu-img
yum install virt-manager libvirt libvirt-python python-virtinst libvirt-client

2.虚拟机的安装

和我们最友好也最简单的虚拟化技术就是虚拟机了,这里简单介绍虚拟机的安装。

2.1)图形化安装

En las herramientas del sistema encuentre el gestor de Máquinas Virtuales o ingrese virt en el terminal-manager abra la ventana de gestión gráfica de la máquina virtual, en el lugar marcado con un círculo, haga clic con el botón derecho y seleccione NEW para ingresar a la creación de la máquina virtual


Ingrese esta interfaz y seleccione la primera opción, use el medio local para instalar

  

Cambie la segunda opción por la ruta del disco de imagen, seleccione y presione Forward


Aquí seleccionamos el tamaño de la memoria de la máquina virtual


Aquí seleccionamos el tamaño del disco duro


Aquí seleccionamos el nombre de la máquina virtual, este nombre es un marcador para identificar la máquina virtual


Después de completar estos puntos, finalmente llegamos a la interfaz de instalación, donde hay dos opciones, la primera opción es instalar redhat directamente7.1, la segunda opción es probar este imagen antes de instalar.


Elegir el idioma utilizado para instalar el sistema (para seguir enfatizando la importancia del inglés, elegí inglés...), ¡este es el idioma utilizado durante la instalación del sistema, no el idioma del sistema en sí!


La interfaz principal de instalación del sistema, según el orden de arriba a abajo, izquierda a derecha, es la selección de la zona horaria (Shanghai), la selección del tipo de teclado (teclado americano), el soporte del idioma del sistema (agregue chino, de lo contrario, al encontrar caracteres chinos, aparecerán símbolos ilegibles), qué es el origen de la imagen de instalación (imagen de disco local), la selección de los paquetes de software (para acelerar, elegí la instalación mínima), a qué disco se instalará y la partición del disco (la partición del disco predeterminada no es muy diferente de la que yo mismo particioné... generalmente/boot 200MB, swap es el de la memoria2bárbara, el resto es para/),Kdump es un mecanismo de captura de fallos del kernel de Linux basado en kexec, que guarda la imagen de la memoria antes de que el kernel colapse. Los programadores pueden analizar este archivo para encontrar las razones del fallo del kernel y, a partir de ahí, mejorar el sistema. Finalmente, la configuración de red durante el proceso de instalación (elegimos no configurarlo).


Después de configurar todo, entramos en la interfaz de la barra de progreso de la instalación, esperamos a que la barra de progreso se complete y luego podemos reiniciar para entrar en este nuevo redhat.


2.2)Instalación de máquina virtual mediante comandos

En Linux, todo es una orden. La instalación de la máquina virtual también se puede hacer mediante comandos y es muy conveniente

[root@foundation]3 ~]# virt-install --name mo1 --ram 1024 --archivo /var/lib/li 
bvirt/images/mo1.img --cdrom /root/Escritorio/rhel-server-7.1-x86_64-dvd.iso - 
-archivo-tamaño 8 
ADVERTENCIA: No se detectó ningún sistema operativo, el rendimiento de la VM puede verse afectado. Especifique un SO 
con --sistema operativo-variant para obtener resultados óptimos. 
ADVERTENCIA: El medio CDROM no imprime al consola de texto por defecto, por lo que es probable que 
no verá la salida de la instalación de texto. Puede que desee usar --ubicación. Vea al hombre 
 página para ejemplos de uso --ubicación con medios de CDROM 
Comenzando la instalación... 
Asignando 'mo'1.img'         | 8.0 GB  00:00 
Creando dominio...         | 0 B  00:00 
Conectado al dominio mo1 

entre ellos--la opción name es para determinar el nombre de la máquina virtual,--ram es la memoria de la máquina virtual,--file es la ruta de almacenamiento del archivo de disco duro de la máquina virtual,--cdrom es la ruta del archivo de imagen,--archivo-tamaño es el tamaño del disco duro de la máquina virtual. Al ingresar el comando, se puede ingresar en la interfaz de instalación del sistema, como se explicó en el paso anterior.

3) Gestión de la máquina virtual

Antes de presentar los comandos de gestión de la máquina virtual, primero presentemos qué archivos se generan después de crear la máquina virtual e instalar el sistema, o qué es la máquina virtual para nosotros en el hardware real?

[root@foundation]3 ~]# ls /etc/libvirt/qemu /var/lib/libvirt/images/ 
/etc/libvirt/qemu: 
desktop.xml <span style="color:#ff0000;">mo.xml</span> redes server.xml 
/var/lib/libvirt/images/: 
mo1.img    rh124-desktop-vda.qcow2 rh124-server-vda.ovl rh124-server.xml 
<span style="color:#ff0000;">mo.img</span>     rh124-desktop-vdb.ovl rh124-server-vda.qcow2 test.sh 
mo_shot.qcow2   rh124-desktop-vdb.qcow2 rh124-server-vdb.ovl vm1.qcow2 
rh124-desktop-vda.ovl rh124-desktop.xml  rh124-server-vdb.qcow2 

En los resultados de salida, el texto en rojo es el archivo que generamos, en total dos: un archivo xml y un archivo de disco duro. El archivo xml se puede eliminar sin afectar la máquina virtual, pero si lo eliminamos, no podremos volver a virt-manager (encontrarlo en la herramienta de gestión gráfica de la máquina virtual), pero tenemos métodos para restaurarlo; si eliminas el archivo de disco duro, tu máquina virtual también dejará de funcionar.

virt-manager ## abrir la herramienta de gestión gráfica
virt-viewer vmname 
## Mostrar la máquina virtual con el nombre vmname, cuando encendemos la máquina virtual, por defecto no se mostrará en la pantalla solo se mostrará el estado de ejecución, si queremos mostrarla, debemos ingresar el comando superior

virsh list ## listar las máquinas virtuales en ejecución (por defecto, solo el usuario root puede verlas)

[root@foundation]3 ~]# virsh list 
 Id Nombre      Estado 
---------------------------------------------------- 

Esto indica que no tengo máquinas virtuales en ejecución, pero si no soy el usuario root, también se mostrará como se muestra en la imagen superior

[root@foundation]3 ~]# virsh start mo 
El dominio mo se inició 
[root@foundation]3 ~]# virsh list 
 Id Nombre      Estado 
---------------------------------------------------- 
 9  mo        ejecutándose 
[root@foundation]3 ~]# su - mo 
Último inicio de sesión: Mié Oct 19 10:48:59 CST 2016 en pts/3 
[mo@foundation3 ~]$ virsh list 
 Id Nombre      Estado 
---------------------------------------------------- 

Por lo tanto, es necesario cambiar a la cuenta de usuario root para usar este comando, de lo contrario será inválido, pero la razón específica de por qué solo el usuario root puede ver o configurar otros detalles se encuentra en el archivo de configuración (/etc/libvirt/qemu.conf),mientras mencionaba esto, me vino a la mente un error que tuve al principio de la instalación de la máquina virtual, como sigue:

[root@foundation]3 ~]# virt-install --nombre zhao --ram 1024 --archivo /var/lib/libvirt/images/zhao.img --archivo-tamaño 8 --cdrom /root/Escritorio/rhel-server-7.1-x86_64-dvd.iso 
ADVERTENCIA No se detectó sistema operativo, el rendimiento de la VM puede verse afectado. Especifique un SO con --sistema operativo-variant para obtener resultados óptimos. 
ADVERTENCIA Los medios de CDROM no imprimen en la consola de texto por defecto, por lo que probablemente no verá la salida de la instalación de texto. Puede que desee usar --ubicación. Vea la página de manual para ejemplos de uso --ubicación con medios de CDROM 
Comenzando la instalación... 
Asignando 'zhao.img'            | 8.0 GB 00:00:00  
<span style="color:#ff0000;">ERROR </span> error interno: el proceso salió mientras se conectaba al monitor: 2016-10-19T03:00:25.552714Z qemu-kvm: -drive file=/root/Escritorio/rhel-server-7.1-x86_64-dvd.iso,if=none,id=drive-ide0-0-1,readonly=on,format=raw: <span style="color:#ff0000;">no se pudo abrir la imagen de disco /root/Escritorio/rhel-server-7.1-x86_64-dvd.iso: No se pudo abrir el archivo: Permiso denegado</span> 
La instalación del dominio no parece haber sido exitosa. 
Si lo fue, puede reiniciar su dominio ejecutando: 
 virsh --conectar qemu:///inicio del sistema zhao 
de lo contrario, por favor reinicie su instalación. 

Según el mensaje de error rojo anterior, me dice que no tengo permisos, ¿soy root o qué? ¡Estoy muy enojado! Como usuario root, aún tengo que ver el despectivo "Permission denied", primero vi los permisos del archivo de imagen, como se muestra a continuación:

[root@foundation]3 ~]# ll /root/Escritorio/rhel-server-7.1-x86_64-dvd.iso 
-rw-r--r-- 1 qemu qemu 3890216960 Oct 17 22:15 /root/Escritorio/rhel-server-7.1-x86_64-dvd.iso 

El resultado muestra que tengo permisos de lectura y escritura, por lo que no hay problemas de permisos. Después de revisar cuidadosamente la documentación, encontré la solución: ¡los permisos para las operaciones de la máquina virtual están definidos en un archivo de configuración!

<span style="color:#ff0000;">#user = "root"</span> 
# El grupo para los procesos de QEMU ejecutados por la instancia del sistema. Puede ser 
# especificado de manera similar al usuario. 
<span style="color:#ff0000;">#grupo = "root"</span> 
# Si libvirt debe cambiar dinámicamente la propiedad de archivo 
# para coincidir con el usuario configurado/grupo superior. Por defecto 1. 
# Establecer en 0 para deshabilitar los cambios de propiedad de archivo. 
<span style="color:#ff0000;">#dynamic_ownership =0 </span> 

Quitar el # rojo aquí y nuestro root tendrá permisos para crear máquinas virtuales.

virsh list --todos  ## listar todas las máquinas virtuales (también se necesita el usuario root)

[root@foundation]3 ~]# virsh list --todos 
 Id Nombre      Estado 
---------------------------------------------------- 
 -  escritorio      apagado 
 -  mo        apagado 
 -  servidor       apagado

virsh start vmname ## iniciar la máquina virtual llamada vmname
virsh shutdown vmname ## cerrar la máquina virtual vmname de manera normal
virsh destroy vmname ## finalizar forzadamente la máquina virtual vmname
virsh create vmname.xml ## especificar el archivo frontal de la máquina virtual vmname*.xml),y mostrarlo en la herramienta de gestión gráfica, equivalente a la recuperación temporal de la opción de guía frontal de la máquina virtual
virsh define vmname.xml ## Recuperar permanentemente el archivo frontal de la máquina virtual

virsh undefine vmname.xml ## Eliminar el archivo frontal de gestión de la máquina virtual, pero no eliminar la imagen de disco.

A continuación, se describe con detalle el papel de la guía frontal y algunas operaciones:

Interfaz gráfica de gestión de la máquina virtual y virsh list --all muestra los mismos resultados

Podemos seleccionar el virtual machine "mo" con el botón derecho y elegir Delete para eliminar el archivo frontal.


También se puede eliminar el archivo frontal utilizando la orden virsh undefine mo. El principio de esta orden es eliminar/etc/libvirt/qemu/El archivo mo.xml, por lo que es suficiente con hacer una copia de seguridad de este archivo para poder restaurar el archivo frontal. Luego, utilice virsh define */El archivo mo.xml puede restaurar el archivo frontal.


Pero no tengo respaldo. Solo puedo generar el archivo mo.xml recargando la imagen, que también es muy simple.

[root@foundation]3 ~]# virt-install --name mo --ram 1024 --disk /var/lib/libvirt/images/mo.img

¿No es igual a la orden de creación inicial de la máquina virtual, solo con algunos cambios en los parámetros? Aquí, estamos相当于 en el cine eliminando la identidad de un agente y generando una nueva, por lo que solo necesitamos especificar el nuevo nombre (puede ser igual al anterior) y lo que es la identidad real (es decir, el archivo de disco) y es muy rápido. De esta manera, se regenera el archivo frontal.


4)Instantánea de la máquina virtual

Los que han utilizado vmware saben que la máquina virtual tiene una función de instantánea muy útil, que también es la garantía básica para que podamos hacer lo que queramos en la máquina virtual


El área roja es donde se toma la instantánea. Nuestro kvm, por supuesto, también tiene esta función. Como se muestra a continuación

[root@foundation]3 ~]# qemu-img create -f qcow2 -b /var/lib//libvirt/images/mo.img /var/lib/libvirt/images/test.qcow2 
Formateando'/var/lib/libvirt/images/test.qcow2', fmt=qcow2 size=8589934592 backing_file='/var/lib//libvirt/images/mo.img' encriptación=off cluster_size=65536 lazy_refcounts=off 
[root@foundation]3 ~]# ls /var/lib/libvirt/images/ 
mo1.img     rh124-desktop-vdb.ovl rh124-server-vdb.ovl vm1.qcow2 
mo.img     rh124-desktop-vdb.qcow2 rh124-server-vdb.qcow2 zhao.img 
mo_shot.qcow2   rh124-desktop.xml  rh124-server.xml 
rh124-desktop-vda.ovl rh124-server-vda.ovl  <span style="color:#ff0000;">test.qcow2</span> 
rh124-desktop-vda.qcow2 rh124-server-vda.qcow2 test.sh 
[root@foundation]3 ~]# 

La parte roja es la instantánea que hemos creado, a continuación, utilizamos lo mencionado anteriormente

[root@foundation]3 ~]# virt-install --name mo --ram 1024 --disk /var/lib/libvirt/images/test.qcow2 
se puede usar la instantánea, si la instantánea está dañada, se puede crear una nueva instantánea de nuevo, que será igual al virtual machine original, pero recuerda, el archivo de disco real del virtual machine no se puede eliminar o dañar, porque de lo contrario no se puede recuperar.

Resumiendo, la instantánea de kvm es básicamente una instantánea tomada sobre la base del archivo de disco del virtual machine original, cada instantánea tomada es idéntica al virtual machine original, por lo que cualquier cambio en el virtual machine original también se reflejará en la instantánea.

Debido a que los comandos de gestión integrados son demasiado poderosos, pero realmente no se necesitan algunas funciones, y falta una operación simple como restablecer directamente, por lo que he encapsulado un script para gestionar las máquinas virtuales. El código es el siguiente:

#!/bin/bash 
create_img() 
{ 
 virsh undefine $1 &>/dev/null 
 qemu-img create -f qcow2 -b /var/lib/libvirt/images/$1.img /var/lib/libvirt/images/$1_shot.qcow2 &>/dev/null 
 virt-install --name $1 --ram 1024 --disk /var/lib/libvirt/images/$1_shot.qcow2 --import --noautoconsole &>/dev/null 
 virsh define /etc/libvirt/qemu/$1.xml &>/dev/null 
} 
delete_img() 
{ 
 virsh undefine $1 &>/dev/null 
 rm -rf /var/lib/libvirt/images/$1_shot.qcow2 &>/dev/null 
} 
check_status() 
{ 
 status=`virsh list --all| sed -n '3,$p'|sed 's/[[:space:]]\+/:/g'|grep $1 |cut -d:' -f4` 
 echo $status 
 if [ $status = "apagado" ];then 
  return 0 
 elif [ $status = 'corriendo' ];then 
  return 1 
 fi 
} 
case $1 in 
--start|-s) 
shift 
echo "iniciar $1 ..." 
check_status $1 &>/dev/null && virsh start $1 &>/dev/null 
;; 
--view|-v) 
shift 
echo "ver $1 ..." 
check_status $1 &> /dev/null || virt-viewer $1 &>/dev/null & 
;; 
--shutdown|-d) 
shift 
echo "apagar $1 ..." 
check_status $1 &> /dev/null || virsh destroy $1 &>/dev/null & 
;; 
--create|-c) 
shift 
check_status $1 &> /dev/null || virsh destroy $1 
echo "crear instantánea para $1 ..." 
create_img $1 
echo "éxito crear instantánea" 
;; 
--reset|-r) 
shift 
check_status &>/dev/null $1 || virsh destroy $1 
delete_img $1 
create_img $1 
;; 
--check|-h) 
shift 
echo $1 `check_status $1` 
;; 
*) 
echo "vmctl <COMANDO> <OPCIONES> " 
echo "" 
echo "abrir,mostrar,apagar,restablecer...Máquina Virtual" 
echo -e "--start|-s\tabrir Máquina Virtual\n--view|-v\tmostrar la Máquina Virtual que ha sido abierta" 
echo -e "--shutdown|-d\tcerrar su Máquina Virtual" 
echo -e "--create|-c\tcrear un instantáneo para su Máquina Virtual" 
echo -e "--reset|-r\trestablecer su Máquina Virtual" 
echo -e "--check|-h\tverificar el estado de ejecución o apagado de la Máquina Virtual 
;; 
esac 

Esto es todo el contenido de este artículo, espero que sea útil para su aprendizaje y que todos nos apoyen en el tutorial de clamor.

Declaración: el contenido de este artículo se ha obtenido de la red, es propiedad del autor original, el contenido ha sido contribuido y subido por usuarios de Internet por su propia iniciativa. Este sitio no posee los derechos de propiedad, no ha sido editado por humanos y no asume ninguna responsabilidad legal relacionada. Si encuentra contenido sospechoso de infracción de derechos de autor, le invitamos a enviar un correo electrónico a: notice#oldtoolbag.com (al enviar un correo electrónico, por favor reemplace # con @) para denunciar, y proporcionar evidencia relevante. Una vez verificada, este sitio eliminará inmediatamente el contenido sospechoso de infracción.

Te gustará también