linux为已有磁盘扩容 kvm,KVM虚拟磁盘扩容
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 //查看卷
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
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
開啟虛擬機: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了。
總結
以上是生活随笔為你收集整理的linux为已有磁盘扩容 kvm,KVM虚拟磁盘扩容的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML+CSS+JS实现 ❤️流星天体
- 下一篇: linux脚本安装gcc,在Linux系