Expansión de disco de máquina virtual

1. Introducción

Al hacer el desarrollo, hay muchas máquinas virtuales en uso. A menudo encuentro tales problemas: el espacio en disco que se creó cuando se creó la máquina virtual es relativamente pequeño, y el espacio ocupado por más y más software instalado por la máquina virtual también está aumentando. Grande, lo que resulta en menos y menos espacio en disco en la máquina virtual, o incluso no es suficiente. En este punto, podemos expandir el tamaño del disco de la máquina virtual . En pocas palabras, agregamos otro disco a la máquina virtual.

2. Pasos de expansión de la máquina virtual

El sistema Linux opera el disco a través del comando fdisk .

2.1 Uso actual del disco de la máquina virtual

# fdisk -l
Disk /dev/sda: 100 GiB, 107374182400 bytes, 209715200 sectors  第一块磁盘信息
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xb7a127db

Device     Boot     Start       End   Sectors  Size Id Type    第一块磁盘分为三个扇区
/dev/sda1  *         2048 207620095 207618048   99G 83 Linux
/dev/sda2       207622142 209713151   2091010 1021M  5 Extended
/dev/sda5       207622144 209713151   2091008 1021M 82 Linux swap / Solaris


Disk /dev/sdb: 300 GiB, 322122547200 bytes, 629145600 sectors  第二块磁盘信息
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x9b2ba102

Device     Boot Start       End   Sectors  Size Id Type		第二块磁盘只有一个扇区
/dev/sdb1        2048 629145599 629143552  300G 83 Linux
# 

De la información anterior se puede ver que la máquina virtual actual contiene dos discos, uno es 100G y el otro es 300G, y cada disco se divide en diferentes números de sectores (unidades). Podemos ver esta información en la "Configuración de la máquina virtual" en VMware. Los dos discos aquí son lo que vemos en la máquina virtual: "Disco duro" = "/ dev / sda", "Disco duro 2" = "/ "dev / sdb",
Inserte la descripción de la imagen aquí
pero no se puede utilizar una partición libre, por lo que primero debe asignar una cierta cantidad de espacio en disco a la máquina virtual en el sistema físico de la máquina . Es decir, agregue otro "disco 3" en la figura anterior, de modo que aparezca un disco no utilizado en la máquina virtual y operemos en el disco recién asignado.

2.2 Asignación de espacio en disco para máquinas virtuales

Agregue un nuevo disco al software VMware en la máquina física (máquina física, host): se puede
Inserte la descripción de la imagen aquí
crear todo el camino hasta 'siguiente' , puede ver la información del disco recién creado en la página (el tamaño del disco que creé es 20G):
Inserte la descripción de la imagen aquí

  • El disco ha sido creado, los siguientes pasos son operar en la máquina virtual

2.3 Uso actual del disco de la máquina virtual

Después de los pasos anteriores, se crea un nuevo disco en la máquina física de Windows. Para operar el disco, primero debe verificar la última asignación y uso del disco:

# fdisk -l
Disk /dev/sda: 100 GiB, 107374182400 bytes, 209715200 sectors  第一块磁盘
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xb7a127db

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1  *         2048 207620095 207618048   99G 83 Linux
/dev/sda2       207622142 209713151   2091010 1021M  5 Extended
/dev/sda5       207622144 209713151   2091008 1021M 82 Linux swap / Solaris


Disk /dev/sdb: 300 GiB, 322122547200 bytes, 629145600 sectors  第二块磁盘
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x9b2ba102

Device     Boot Start       End   Sectors  Size Id Type
/dev/sdb1        2048 629145599 629143552  300G 83 Linux

Disk /dev/sdc: 20 GiB, 21474836480 bytes, 41943040 sectors   第三块磁盘
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
# 

En comparación con los resultados de visualización en 2.1, hay un disco adicional ** / dev / sdc ** con un tamaño de 20G, y este disco es el disco recientemente asignado en 2.2. Pero aún no está disponible, y debe seguirse para su uso.

  • Las operaciones de seguimiento son todos discos recién asignados. Mi nombre aquí es / dev / sdc. Algunas máquinas virtuales pueden tener solo un disco original, por lo que el recién creado puede ser / dev / sdb; Un disco, entonces puede ser / dev / sdd. En otras palabras, este es solo el nombre del disco y determina el nombre del disco para las operaciones posteriores en función de los resultados de la consulta de su máquina virtual .

2.3 Crear partición

El disco / dev / sdc ya existe, pero aún no está disponible. Utilizamos el comando fdisk para crear una partición en / dev / sdc:

Aunque parece que hay mucha información, de hecho, solo necesita ingresar algunas letras: 'm', 'p', 'n', 'p', '1', 'w'. Además, hay varios comandos con valores predeterminados. Si no necesita ver la información de ayuda, solo necesita ingresar ['n': crear partición], ['w': escribir en el disco y sacar] dos letras, el resto Use el sistema de teclas Intro para usar los valores predeterminados para crear particiones

# fdisk /dev/sdc
Welcome to fdisk (util-linux 2.27.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x5063a350.

Command (m for help): m     【m用来查看有哪些命令】
Help:
  DOS (MBR)
   a   toggle a bootable flag
   b   edit nested BSD disklabel
   c   toggle the dos compatibility flag
  Generic
   d   delete a partition
   F   list free unpartitioned space
   l   list known partition types
   n   add a new partition
   p   print the partition table
   t   change a partition type
   v   verify the partition table
   i   print information about a partition
  Misc
   m   print this menu
   u   change display/entry units
   x   extra functionality (experts only)
  Script
   I   load disk layout from sfdisk script file
   O   dump disk layout to sfdisk script file
  Save & Exit
   w   write table to disk and exit
   q   quit without saving changes
  Create a new label
   g   create a new empty GPT partition table
   G   create a new empty SGI (IRIX) partition table
   o   create a new empty DOS partition table
   s   create a new empty Sun partition table
   
Command (m for help): p    【查询当前磁盘分区情况】
Disk /dev/sdc: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5063a350


Command (m for help): n    【创建一个新分区】
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p      【分区类型默认主分区】
Partition number (1-4, default 1): 1   【分区编号】
First sector (2048-41943039, default 2048):   【分区大小】
Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039): 

Created a new partition 1 of type 'Linux' and of size 20 GiB.

Command (m for help): w		【写入磁盘并推出】
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

# 已经退出fdisk命令

2.4 Compruebe si la partición se creó correctamente

Para ver la información de la partición, aún use el comando fdisk:

# fdisk -l
Disk /dev/sda: 100 GiB, 107374182400 bytes, 209715200 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xb7a127db

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1  *         2048 207620095 207618048   99G 83 Linux
/dev/sda2       207622142 209713151   2091010 1021M  5 Extended
/dev/sda5       207622144 209713151   2091008 1021M 82 Linux swap / Solaris


Disk /dev/sdb: 300 GiB, 322122547200 bytes, 629145600 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x9b2ba102

Device     Boot Start       End   Sectors  Size Id Type
/dev/sdb1        2048 629145599 629143552  300G 83 Linux


Disk /dev/sdc: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5063a350

Device     Boot Start      End  Sectors Size Id Type
/dev/sdc1        2048 41943039 41940992  20G 83 Linux

# 

Desde la última línea de información, podemos ver que / dev / sdc1 ha sido creado y el tamaño es exactamente 20G.

2.5 Formato de partición

Después de crear la partición de disco ** / dev / sdc1 , la partición no se puede usar de inmediato. Debe usar mkfs para formatear el sistema de archivos de la partición / dev / sdc1 **: el uso personal es ext4

# mkfs.ext4 /dev/sdc1 
mke2fs 1.42.13 (17-May-2015)
Creating filesystem with 5242624 4k blocks and 1310720 inodes
Filesystem UUID: 1cf52965-51df-451e-ae80-404cdf6a1568
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done   

#

2.6 Montaje del sistema de archivos

Después de formatear la partición, se puede usar, pero cuando se usa, necesitamos montar la partición debajo de un determinado archivo (" todo es un archivo "), para que podamos colocar los archivos requeridos, etc. en este directorio, por lo que El archivo se coloca en el nuevo disco. Cuelgue el comando de la siguiente manera:

# mkdir /sunzd
# mount /dev/sdc1 /sunzd

Mediante el comando anterior, el disco / dev / sdc1 se montará en el directorio / sunzd. La forma normal es colocar el comando colgar anterior en el script de inicialización del sistema, de modo que cada vez que se inicie la máquina virtual, se bloqueará automáticamente en el disco en el directorio especificado.
De ahora en adelante, la operación del directorio ** / sunzd ** es operar el disco ** / dev / sdc1 **.
Puse el comando de montaje en el script ** / etc / rc.local **:

root@book-virtual-machine:/home/book# cat /etc/rc.local 
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
ifconfig ens33 192.168.1.54
mount /dev/sdc1 /home/sunzd/
exit 0

2.7 Comprobación del estado de las particiones

Use el comando df para ver el estado actual de bloqueo del disco:

root@book-virtual-machine:/home/book# df -l
Filesystem     1K-blocks      Used Available Use% Mounted on
udev             1977632         0   1977632   0% /dev
tmpfs             401628      6380    395248   2% /run
/dev/sda1      102049120   7139108  89703180   8% /
tmpfs            2008124       216   2007908   1% /dev/shm
tmpfs               5120         4      5116   1% /run/lock
tmpfs            2008124         0   2008124   0% /sys/fs/cgroup
/dev/sdb1      309505024    951480 292808572   1% /work
vmhgfs-fuse    131853484 113761468  18092016  87% /mnt/hgfs
tmpfs             401628        68    401560   1% /run/user/1000
/dev/sdc1       20510332     44992  19400432   1% /home/sunzd
# 
81 artículos originales publicados · Me gusta 69 · Visitantes 50,000+

Supongo que te gusta

Origin blog.csdn.net/s2603898260/article/details/103837379
Recomendado
Clasificación