KVM虚拟磁盘扩容

1、磁盘扩容分为raw和qcow2两种扩容方式,命令相同,区别是后缀名

[root@daixuan ~]# qemu-img info /data/daixuan1.qcow2 //本身只有9G

p_w_picpath: /data/daixuan1.qcow2

file format: qcow2

virtual size: 10G (10737418240 bytes)

disk size: 10G

cluster_size: 65536

[root@daixuan ~]# qemu-img resize /data/daixuan1.qcow2 +5G  //加5G

Image resized.

[root@daixuan ~]# qemu-img info /data/daixuan1.qcow2 //查看已经+5G,登录后fdisk -l还是10G

p_w_picpath: /data/daixuan1.qcow2

file format: qcow2

virtual size: 15G (16106127360 bytes)

如果需要真正生效,需要destroy,之后start,把配置重新加载

[root@daixuan ~]# virsh destroy daixuan1

[root@daixuan ~]# virsh start daixuan1

[root@daixuan ~]# virsh console daixuan1

fdisk -l   列出系统中所有的磁盘设备和分区表,这里磁盘设备容量已经增加5G

[root@localhost ~]# fdisk -l

Disk /dev/vda: 16.1 GB, 16106127360 bytes

2、但是磁盘挂载的空间并没有增加,依然是8.3G

[root@localhost ~]# df -h //查看可用磁盘总容量和使用容量

Filesystem  Size  Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root 8.3G  685M  7.2G   9% /

tmpfs                246M     0  246M   0% /dev/shm

/dev/vda1             477M   33M  419M   8% /boot

(1)因为新增加的空间还没有划分使用,所以要继续分区:

[root@localhost ~]# fdisk /dev/vda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to

switch off the mode (command 'c') and change display units to

sectors (command 'u').

Command (m for help): p

Disk /dev/vda: 16.1 GB, 16106127360 bytes

16 heads, 63 sectors/track, 31207 cylinders

Units = cylinders of 1008 * 512 = 516096 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x000dca27

Device Boot      Start         End      Blocks   Id  System

/dev/vda1   *           3        1018      512000   83  Linux

Partition 1 does not end on cylinder boundary.

/dev/vda2            1018       20806     9972736   8e  Linux LVM

Partition 2 does not end on cylinder boundary.

Command (m for help): n

Command action

e   extended

p   primary partition (1-4)

p

Partition number (1-4): 3

First cylinder (1-31207, default 1): 20807

Last cylinder, +cylinders or +size{K,M,G} (20807-31207, default 31207): 31207

Command (m for help): p

Disk /dev/vda: 16.1 GB, 16106127360 bytes

16 heads, 63 sectors/track, 31207 cylinders

Units = cylinders of 1008 * 512 = 516096 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x000dca27

Device Boot      Start         End      Blocks   Id  System

/dev/vda1   *           3        1018      512000   83  Linux

Partition 1 does not end on cylinder boundary.

/dev/vda2            1018       20806     9972736   8e  Linux LVM

Partition 2 does not end on cylinder boundary.

/dev/vda3           20807       31207     5242104   83  Linux

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource                                                      busy.

The kernel still uses the old table. The new table will be used at

the next reboot or after you run partprobe(8) or kpartx(8)

Syncing disks.

(2)然后再把这个/dev/vda3 加入到lvm里面去:

[root@localhost ~]# ls /dev/vda3 //如果没有这个分区,需要重启一下

[root@localhost ~]# reboot

[root@localhost ~]# pvcreate /dev/vda3  //创建物理卷

Physical volume "/dev/vda3" successfully created

[root@localhost ~]# pvs //查看卷    把新建的vda加入原有的vg里

PV         VG       Fmt  Attr PSize PFree

/dev/vda2  VolGroup     lvm2 a--  9.51g  0

/dev/vda3            lvm2 ---  5.00g  5.00g

[root@localhost ~]# vgextend VolGroup /dev/vda3  //VolGroup虚拟卷扩展,vda3加入到Vol

Volume group "VolGroup" successfully extended

[root@localhost ~]# pvs

PV         VG       Fmt  Attr PSize PFree

/dev/vda2  VolGroup lvm2 a--  9.51g    0

/dev/vda3  VolGroup lvm2 a--  5.00g    0

[root@localhost ~]# vgs    //VFree中5G

VG       #PV #LV #SN Attr   VSize  VFree

VolGroup   2   2   0 wz--n- 14.50g  5.00g

如何把5G加入到lv_root中?

[root@localhost ~]# lvs //查看逻辑卷

LV    VG  Attr    LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

lv_root VolGroup -wi-ao----   8.54g

lv_swap VolGroup -wi-ao---- 992.00m

[root@localhost ~]# lvextend -l +100%FREE /dev/VolGroup/lv_root  //扩展卷   就是要扩展的全路径

Size of logical volume VolGroup/lv_root changed from 8.54 GiB (2186 extents) to 13.54 GiB (3465 extents).

Logical volume lv_root successfully resized

[root@localhost ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root 8.3G  685M  7.2G   9% /

tmpfs                246M     0  246M   0% /dev/shm

/dev/vda1              477M   33M  419M   8% /boot

[root@localhost ~]# resize2fs /dev/VolGroup/lv_root   (查看文件系统)  如果是xfs_growfs /dev/mapper/rhel-root

resize2fs 1.41.12 (17-May-2010)

Filesystem at /dev/VolGroup/lv_root is mounted on /; on-line resizing required

old desc_blocks = 1, new_desc_blocks = 1

Performing an on-line resize of /dev/VolGroup/lv_root to 3548160 (4k) blocks.

The filesystem on /dev/VolGroup/lv_root is now 3548160 blocks long.

[root@localhost ~]# df -h

Filesystem              Size  Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root  14G  687M   12G   6% /

tmpfs                 246M     0  246M   0% /dev/shm

/dev/vda1              477M   33M  419M   8% /boot

如果提示 This p_w_picpath format does not support resize, 检查一下你qemu-img create的时候,是否有加 preallocation=metadata 选项,如果有,就不能resize了。

(3)另外,如果是增加磁盘,思路是
创建磁盘: qemu-img create -f qcow2  /data/daixuan1_2.qcow2 5G
关闭虚拟机: virsh destroy daixuan1
编辑配置文件: virsh edit daixuan1

复制增加如下:注意是vdb,qcow2

<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/data/daixuan1_2.qcow2'/>
<target dev='vdb' bus='virtio'/>
</disk>
 

开启虚拟机:virsh start daixuan1
进入虚拟机:virsh console daixuan1
分区: fdisk /dev/vdb
格式化:mkfs.ext4 /dev/vdb

挂载:vim /etc/fstab,添加一行:/dev/vdb  /mnt  ext4   defaults    0 0

mount -a 然后mnt就可以使用了

[root@localhost ~]# cd /mnt

[root@localhost mnt]# touch 23.txt

当然也可以按照上面的思路把 /dev/vdb 加入到 lvm里面去,测试成功,这里省略步骤

注: raw格式
步骤基本上和qcow2一样。如果提示 This p_w_picpath format does not support resize, 检查一下你qemu-img create的时候,是否有加  preallocation=metadata 选项,如果有,就不能resize了。

kvm扩容home目录的更多相关文章

  1. [转载]XStar's Libvirt+KVM部署记录 目录

    XStar's Libvirt+KVM部署记录 目录 Create: 2013-12-11 Update: 2014-01-03 准备工作 KVM网站 http://sourceforge.net/p ...

  2. CentOS-磁盘扩容挂载目录

    挂载 查看存储情况 $ df -kh 查看磁盘情况 $ fdisk -l fdisk创建分区(注:可操作存储上限为2TB)$ fdisk /dev/sdb根据提示,依次输入"n", ...

  3. Linux中/目录扩容

    1:原来的系统20G,目前增加到30G,我要把增加的10G扩容到/目录下   2:fdisk /dev/sda     (对sda这块磁盘没有被使用的空间进行分区,联想Windows操作系统) 使用L ...

  4. Centos7 LVM管理的逻辑卷根目录扩容和/var目录扩容

    Centos7 LVM管理的逻辑卷根目录扩容 fdisk /dev/sdb #对新加磁盘进行分区操作pvcreate /dev/sdb1 #创建一个物理卷vgs #查看现有的卷组vgextend ce ...

  5. Linux 分区扩容(根分区扩容,SWAP 分区扩容,挂载新分区为目录)

    请访问原文链接:https://sysin.org/blog/linux-partition-expansion/,查看最新版.原创作品,转载请保留出处. 作者:gc(at)sysin.org,主页: ...

  6. 如何在KVM中管理存储池

    来自:http://blog.csdn.net/my2005lb/article/details/8635661 KVM平台以存储池的形式对存储进行统一管理,所谓存储池可以理解为本地目录.通过远端磁盘 ...

  7. AIX逻辑卷扩容

    aix的文件系统扩容是非常灵活的,如果不涉及加硬盘的硬件操作,只要通过aix里面的命令或者smitty菜单就行了,当然做好数据备份在任何情况下都是必要的. 1. 查看个逻辑卷大小 # df -gFil ...

  8. 云计算大数据:Xen、KVM、VMware、hyper-v等虚拟化技术的比较

    1.Xen.KVM.VMware.hyper-v等虚拟化技术的比较,xen和kvm,是开源免费的虚拟化软件. vmware是付费的虚拟化软件. hyper-v比较特别,是微软windows 2008 ...

  9. 制作kvm镜像、格式转换

    2018-12-25 制作kvm镜像(以centos 7 为例) 执行创建虚拟机命令 virt-install --name centos7_kvm --memory --vcpus= --disk ...

随机推荐

  1. ajaxSubmit 实现图片上传 SSM maven

    文件上传依赖: <!-- 文件上传组件 --> <dependency> <groupId>commons-fileupload</groupId> & ...

  2. 按字节读取txt文件缓存区大小设置多少比较好?

    读取 txt 文件常规写法有逐行读取和按照字节缓存读取,那么按照字节缓存读取时,设置缓存区多大比较好呢?百度了一下,没发现有说这个问题的,自测了一把,以事实说话. 常规读取方法如下: // 字节流读取 ...

  3. javaweb各种框架组合案例(七):springboot+jdbcTemplete+通用dao+restful

    一.介绍 1.springboot是spring项目的总结+整合 当我们搭smm,ssh,ssjdbc等组合框架时,各种配置不胜其烦,不仅是配置问题,在添加各种依赖时也是让人头疼,关键有些jar包之间 ...

  4. 07http基础

    1.http协议 1.1 概念 是对浏览器和服务器端数据传输格式的规范! 1.2 http协议内容 请求 GET /bbs/hello HTTP/1.1 # 请求行 Host: localhost:8 ...

  5. RAS

    Reliability 高可靠性 Availability 高可用性 Serviceability 高服务性

  6. Ansible笔记(7)---常用模块之系统类模块(cron、service)

    一.cron模块 1.1作用: cron 模块可以帮助我们管理远程主机中的计划任务,功能相当于 crontab 命令. 在了解cron模块的参数之前,先写出一些计划任务的示例: # 示例1,每天的1点 ...

  7. frugally-deep: Header-only library for using Keras models in C++

    // Convenience wrapper around predict for models with // single tensor outputs of shape (1, 1, 1), / ...

  8. vue兄弟组件之前传信

    1.使用vuex 2.子传父,父传子 3.使用中央事件总线 1.新建一个js文件,然后引入vue 实例化vue 最后暴露这个实例 2.在要用的组件内引入这个组件 3.通过vueEmit.$emit(' ...

  9. LeetCode--050--Pow(x,n)

    实现 pow(x, n) ,即计算 x 的 n 次幂函数. 示例 1: 输入: 2.00000, 10 输出: 1024.00000 示例 2: 输入: 2.10000, 3 输出: 9.26100 ...

  10. tensorflow2 keras.Callback logs

    官方文档上表示logs内存的内容为 on_epoch_end: logs include `acc` and `loss`, and optionally include `val_loss` (if ...