instancia - Google Compute Engine-Clon Instance
google cloud clone vm (5)
Tengo una instancia de GCE a la que he personalizado y cargado varias aplicaciones (como las aplicaciones PHP que se ejecutan bajo Apache). Ahora quiero duplicar esta instancia, es decir, todo lo que hay en ella. Originalmente pensé que el clon podría hacer esto, pero tuve un juego con él y solo parece clonar la configuración de la instancia y no nada personalizado en él.
Lo he estado buscando en Google y parece que lo que tengo que hacer es crear una imagen y usar esta imagen en una nueva instancia o clon. ¿Es eso correcto? Si es así, ¿hay algún paso por paso para hacer esto? Eché un vistazo a la página de Google en las imágenes y habla de tener que terminar la instancia para hacer esto. Estoy un poco desconfiado de esto. Tal vez sea solo el lenguaje utilizado en los documentos, pero no quiero perder mi instancia existente.
Además, ¿todo estará almacenado en la imagen? Entonces, por ejemplo, ¿lo siguiente lo hará en la imagen?
- MySQL - configuración y bases de datos esquemas y datos?
- Apache - Todas las aplicaciones instaladas en
/var/www/html
- PHP -
php.ini
, etc ... - ¿Todas las otras configuraciones / modificaciones del servidor?
Como se mencionó, si la instancia de origen tiene un disco secundario adjunto, no es posible ssh en la nueva instancia. Tuve que tomar una instantánea de una instancia de producción, por lo que no podía desmontar el disco secundario sin causar interrupciones. Pude solucionar el problema creando un disco desde la instantánea, montando el disco en otra instancia, eliminando cualquier referencia al disco secundario, es decir, eliminando la entrada de / etc / fstab. Una vez que hice eso, pude usar el disco como disco de arranque en una nueva instancia, y ssh a él.
En caso de que tenga otros discos conectados, la mejor manera de desmontarlos es cambiar la ruta de cómo están montados en / etc / fstab.
Si usa el UUID en fstab y usa los mismos discos de las instantáneas (que tendrán los mismos UUID), puede hacer la clonación sin desmontar nada.
Solo cambia cada disco en fstab para usar UUID como este
UUID=[UUID_VALUE] [MNT_DIR] ext4 discard,defaults,[NOFAIL] 0 2
puede obtener el UUID de
sudo blkid /dev/[DEVICE_ID]
Si no está seguro de su DEVICE_ID puede usar
sudo lsblk
para obtener la lista de identificadores de dispositivo utilizados por su sistema.
En la consola web, cree una instantánea, luego haga clic en la instantánea y sobre el botón CREAR INSTANCIA , puede personalizar la configuración y luego haga clic en donde dice:
REST equivalente o línea de comando
y copia la línea de comando, esta será tu plantilla.
A partir de esto, puede crear un script BASH (clone_instance.sh), hice algo como esto:
#!/bin/bash -e
snapshot="my-snapshot-name"
gcloud_account="[email protected]"
#clone 10 machines
for machine in 01 02 03 04 05 06 07 08 09 10
do
gcloud compute --project "myProject" disks create "instance-${machine}" /
--size "220" --zone "us-east1-d" --source-snapshot "${snapshot}" /
--type "pd-standard"
gcloud compute --project "bizqualify" instances create "webscrape-${machine}" /
--zone "us-east1-d" --machine-type "n1-highmem-4" --network "default" /
--maintenance-policy "MIGRATE" /
--service-account "[email protected]" /
--scopes "https://www.googleapis.com/auth/devstorage.read_only","https://www.googleapis.com/auth/logging.write","https://www.googleapis.com/auth/monitoring.write","https://www.googleapis.com/auth/servicecontrol","https://www.googleapis.com/auth/service.management.readonly","https://www.googleapis.com/auth/trace.append" /
--tags "http-server","https-server" /
--disk "name=webscrape-${machine},device-name=webscrape-${machine},mode=rw,boot=yes,auto-delete=yes"
done
Ahora, en tu terminal, puedes ejecutar tu script
sh clone_instance.sh
Puede crear una snapshot de la instancia de origen, luego crear una nueva instancia seleccionando la instantánea de origen como disco. Replicará el servidor muy rápido. Para otros discos adjuntos, debe crear un nuevo disco y copiar el archivo por red (scp, rsync, etc.)
Puede utilizar la opción GCP Import VM, para importar esta máquina de nuevo al proyecto.