Ejercicios Virtualización - R-R-R-R-1/IV GitHub Wiki
Ejercicio 1
¿Cómo tienes instalado tu disco duro? ¿Usas particiones? ¿Volúmenes lógicos?
Para ver el estado de mi disco duro voy a utilizar la herramienta gparted, que me mostrara las particiones de mi disco. Primeramente tengo que instalarla:
Una vez instalada la mostramos y vemos que dispone de tres particiones en uso y tiene una parte sin asignación.
Ejercicio 2
Usar FUSE para acceder a recursos remotos como si fueran ficheros locales. Por ejemplo, sshfs para acceder a ficheros de una máquina virtual invitada o de la invitada al anfitrión.
Para la máquina virtual vamos a utilizar la instalada en el tema anterior con lxc, en cuestión será la maquina caja.
Para empezar arrancaremos la máquina:
Para posteriomente instalar fuse y sshfs:
Obtenemos la máscara:
Ahora le asignamos una dirección a nuestra máquina virtual, la cuál le ponemos 10.0.3.5. Y añadimos el usuario a fuse: sudo usermod -a -G fuse ubuntu
Y ya solo queda crear una carpeta con un archivo y compartirla con otra en el anfitrión con sshfs:
Ejercicio 3
Crear imágenes con estos formatos (y otros que se encuentren tales como VMDK) y manipularlas a base de montarlas o con cualquier otra utilidad que se encuentre.
Probaremos con raw y con fallocate:
Y montamos:
Ejercicio 4
Crear uno o varios sistema de ficheros en bucle usando un formato que no sea habitual (xfs o btrfs) y comparar las prestaciones de entrada/salida entre sí y entre ellos y el sistema de ficheros en el que se encuentra, para comprobar el overhead que se añade mediante este sistema.
Primeramente creamos las imagenes con qemu:
Para posteriormente hacerlas accesibles:
Les damos un sistema de ficheros:
Y finalmente las montamos:
sudo mount /dev/loop0 /mnt/xfs sudo mount /dev/loop1 /mnt/btrfs
Ejercicio 5
Instalar ceph en tu sistema operativo.
sudo apt-get install ceph-mds
Ejercicio 6
Crear un dispositivo ceph usando BTRFS o XFS.
Primeramente crearemos los directorios como en los apuntes:
Y ahora el fichero de configuración:
Creamos un bucle como en el ejercicio 4:
qemu-img create -f raw ceph_ej6.img 2G sudo losetup -v -f ceph_ej6.img sudo mkfs.xfs /dev/loop0
Creamos ahora un fichero a mano como en los apuntes:
sudo mkdir /srv/ceph/osd/osd.0
y ya podemos crear el sistema de ficheros de objetos:
sudo /sbin/mkcephfs -a -c /etc/ceph/ceph.conf
Y solo iniciar ya el servicio y listo:
sudo /etc/init.d/ceph -a start
Ejercicio 7
Almacenar objetos y ver la forma de almacenar directorios completos usando ceph y rados.
Primero creamos la piscina y la probamos:
Almacenamos un objeto:
sudo rados put -p my-pool aaa.img
Y comprobamos con:
rados ls -p my-pool
Ejercicio 8
Tras crear la cuenta de Azure, instalar las herramientas de línea de órdenes (Command line interface, cli) del mismo y configurarlas con la cuenta Azure correspondiente.
Una vez ya dispongo de la cuenta lo primero es instalar node.js:
sudo add-apt-repository ppa:chris-lea/node.js sudo apt-get update sudo apt-get install nodejs
Con nodejs instalado ya puedo instalar azure:
npm install azure-cli
Nos descargamos la publish settings:
azure account download
Ahora una vez descargado lo importamos:
Y comprobamos:
Creamos el almacenamiento:
Y ya lo tenemos:
Ejercicio 9
Crear varios contenedores en la cuenta usando la línea de órdenes para ficheros de diferente tipo y almacenar en ellos las imágenes en las que capturéis las pantallas donde se muestre lo que habéis hecho.
Creamos los contenedores:
Y subimos un archivo:
Ejercicio 10
Desde un programa en Ruby o en algún otro lenguaje, listar los blobs que hay en un contenedor, crear un fichero con la lista de los mismos y subirla al propio contenedor. Muy meta todo.