Skip to content

KVM添加新的磁盘镜像

创建新磁盘

创建一个新的磁盘镜像文件,格式为 qcow2,大小为 10G。

shell
qemu-img create -f qcow2 name.qcow2 10G

# 已有镜像,扩容
qemu-img resize name.qcow2 10G   #扩容到10G
qemu-img resize name.qcow2 +10G  #增加10G, qcow2 只能增加不能减少,raw 可以增加和减少

查看磁盘信息

shell
qemu-img info name.qcow2
image: name.qcow2
file format: qcow2
virtual size: 10 GiB (10737418240 bytes)
disk size: 196 KiB
cluster_size: 65536
Format specific information:
    compat: 1.1
    compression type: zlib
    lazy refcounts: false
    refcount bits: 16
    corrupt: false
    extended l2: false

将新磁盘挂载到虚拟机

kvm-add-disk-device

启动虚拟机

启动 Linux 虚拟机后,查看新的磁盘设备。/dev/vdb 下是空的分区信息

shell
fdisk -l

磁盘 /dev/vda:33.3 GB, 33285996544 字节,65011712 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000057fd

   设备 Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048     2099199     1048576   83  Linux
/dev/vda2         2099200    65011711    31456256   8e  Linux LVM

磁盘 /dev/vdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
#...... 磁盘分区信息

创建磁盘分区

新的磁盘没有分区,需要先创建分区,然后才能挂载使用。

shell
fdisk /dev/vdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xb919e6da 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n(输入 n)
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p (输入 p,创建主分区)
分区号 (1-4,默认 1):1 (输入 1,创建1个分区)
起始 扇区 (2048-20971519,默认为 2048):(无需输入,默认,回车)
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):(无需输入,默认,回车)
将使用默认值 20971519
分区 1 已设置为 Linux 类型,大小设为 10 GiB

命令(输入 m 获取帮助):w (输入 w, 保存分区信息)
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

再次查看磁盘信息,增加了一个新的 /dev/vdb1 设备.

shell
fdisk -l

格式化新分区

格式化分区为 ext4 格式

shell
mkfs -t ext4 /dev/vdb1

挂载新分区

手动挂在分区到 /opt 目录下

shell
mount /dev/vdb1 /opt

再次查看镜像的磁盘分区信息。

shell
sudo virt-filesystems --long --all -a yiistock-storage-app.qcow2
Name       Type        VFS   Label  MBR  Size         Parent
/dev/sda1  filesystem  ext4  -      -    10395865088  -
/dev/sda1  partition   -     -      83   10736369664  /dev/sda
/dev/sda   device      -     -      -    10737418240  -

开机自动挂载

查看磁盘 UUID 号

shell
lsblk -f
NAME            FSTYPE      LABEL UUID                                   MOUNTPOINT
vda
├─vda1          xfs               0ee80168-77ad-40f2-a8eb-0e58c2daa931   /boot
└─vda2          LVM2_member       HtU0YP-trPW-NIkZ-SOd7-Eog1-1hnV-4ALW14
  ├─centos-root xfs               d3059ee4-9654-4ead-b940-6ce77185d999   /
  └─centos-swap swap              fe0c6162-c1ec-47f0-b29b-a11e186894f3   [SWAP]
vdb
└─vdb1          ext4              a5cce200-a172-40a4-b73a-c02e1f5a8d56   /opt

编辑开启自动挂在配置文件

shell
vim /etc/fstab

追加配置:

shell
UUID=a5cce200-a172-40a4-b73a-c02e1f5a8d56    /opt    ext4   defaults   0   1