|
五:kvm虚拟机磁盘扩展
两种方式:
1.添加一块新的虚拟磁盘
2.扩充原有磁盘的容量大小
注意:
只有磁盘格式为qcow2的磁盘才支持磁盘快照和磁盘动态扩展.
测试的虚拟机磁盘大小和格式.
方法一:添加新磁盘
1.查看已存在盘的大小
[root@kvm-node154 vm]# qemu-img info api1-qcow2.img
image: api1-qcow2.img
file format: qcow2
virtual size: 8.0G (8589934592 bytes)
disk size: 1.5G
cluster_size: 65536
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/vm/api1-qcow2.img'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</disk>
2.添加一块qcow2的盘,大小为10G
cd /vm && qemu-img create -f qcow2 api1-qcow2_add1.img 8G[root@kvm-node154 vm]# qemu-img info api1-qcow2_add1.img
image: api1-qcow2_add1.img
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 140K
cluster_size: 65536[root@kvm-node154 vm]# ll /vm
总用量 3161404
-rwxr-xr-x 1 qemu qemu 1580662784 1月 11 14:55 api2-qcow2.img
-rw-r--r-- 1 root root 197120 1月 11 14:53 api1-qcow2_add1.img
-rw-r--r-- 1 qemu qemu 1653407744 1月 11 14:55 api1-qcow2.img3.添加api1-qcow2_add1.img到配置文件中
[root@kvm-node154 vm]# virsh shutdown api1
域 api4 被关闭
[root@kvm-node154 vm]# virsh list --all
Id 名称 状态
----------------------------------------------------
2 api2 running
- api1 关闭
virsh edit api1,添加新磁盘
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/vm/api1-qcow2_add1.img'/>
<target dev='vdb' bus='virtio'/>
</disk>
4.登录到api1终端,然后查看,并分区/dev/vdb
[root@vm-api1 ~]# fdisk -l
Disk /dev/vdb: 8589 MB, 8589934592 bytes
16 heads, 63 sectors/track, 16644 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: 0x00000000
5.格式化分区/dev/vdb,并且转换为lvm格式.
fdisk /dev/vdb >> lvm[root@vm-api1 ~]# fdisk -l
Disk /dev/vdb: 8589 MB, 8589934592 bytes
16 heads, 63 sectors/track, 16644 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: 0xa91642d5
Device Boot Start End Blocks Id System
/dev/vdb1 1 16644 8388544+ 8e Linux LVM
[root@vm-api1 ~]# pvcreate /dev/vdb1
Physical volume "/dev/vdb1" successfully created[root@vm-api1 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
VolGroup 1 2 0 wz--n- 7.51g 0[root@vm-api1 ~]# vgextend VolGroup /dev/vdb1
Volume group "VolGroup" successfully extended[root@vm-api1 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_root VolGroup -wi-ao---- 6.71g
lv_swap VolGroup -wi-ao---- 816.00m[root@vm-api1 ~]# lvextend -l +100%FREE /dev/VolGroup/lv_root
Size of logical volume VolGroup/lv_root changed from 6.71 GiB (1718 extents) to 14.71 GiB (3765 extents).
Logical volume lv_root successfully resized[root@vm-api1 ~]# 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 3855360 (4k) blocks.
The filesystem on /dev/VolGroup/lv_root is now 3855360 blocks long.
6.再次查看vm的磁盘大小
[root@vm-api1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
15G 652M 13G 5% /
tmpfs 246M 0 246M 0% /dev/shm
/dev/vda1 477M 25M 427M 6% /boot
方法二:扩充原有磁盘的大小
1.查看原磁盘的大小
[root@kvm-node154 vm]# qemu-img info /vm/api2-qcow2.img
image: /vm/api2-qcow2.img
file format: qcow2
virtual size: 8.0G (8589934592 bytes)
disk size: 2.4G
cluster_size: 65536
Snapshot list:
ID TAG VM SIZE DATE VM CLOCK
2 api2_ftp 320M 2016-01-08 16:59:52 01:17:18.639
3 api2_httpd 385M 2016-01-08 17:27:16 00:53:48.0962.关闭vm,然后直接扩充api2-qcow2.img
[root@kvm-node154 vm]# virsh shutdown api2域 api2 被关闭
[root@kvm-node154 vm]# virsh list --all
Id 名称 状态
----------------------------------------------------
3 api1 running
- api2 关闭[root@kvm-node154 vm]# qemu-img resize api2-qcow2.img +8G
This image format does not support resize //提示不能这种格式不支持扩充[root@kvm-node154 vm]# virsh
欢迎使用 virsh,虚拟化的交互式终端。
输入:'help' 来获得命令的帮助信息
'quit' 退出
virsh # snapshot-list api2
名称 Creation Time 状态
------------------------------------------------------------
api2_ftp 2016-01-08 16:59:52 +0800 running
api2_httpd 2016-01-08 17:27:16 +0800 running
virsh # snapshot-delete api
api1-qcow2_add1.img api1-qcow2.img api2-qcow2.img
virsh # snapshot-delete api2 api2_ftp
Domain snapshot api2_ftp deleted
virsh # snapshot-delete api2 api2_httpd
Domain snapshot api2_httpd deleted
[root@kvm-node154 vm]# qemu-img resize api2-qcow2.img +8G
Image resized.3.查看已经扩充的磁盘
[root@kvm-node154 vm]# qemu-img info api2-qcow2.img
image: api2-qcow2.img
file format: qcow2
virtual size: 16G (17179869184 bytes)
disk size: 2.4G
cluster_size: 655364.启动vm,然后分区,并格式化
[root@kvm-node154 vm]# virsh start api2
域 api2 已开始
[root@vm-api2 ~]# pvcreate /dev/vda3
Physical volume "/dev/vda3" successfully created
[root@vm-api2 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
VolGroup 1 2 0 wz--n- 7.51g 0[root@vm-api2 ~]# vgextend VolGroup /dev/vda3
Volume group "VolGroup" successfully extended[root@vm-api2 ~]# lvextend -l +100%FREE /dev/VolGroup/lv_root
Size of logical volume VolGroup/lv_root changed from 6.71 GiB (1718 extents) to 14.71 GiB (3765 extents).
Logical volume lv_root successfully resized[root@vm-api2 ~]# 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 3855360 (4k) blocks.
The filesystem on /dev/VolGroup/lv_root is now 3855360 blocks long.
[root@vm-api2 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
15G 655M 13G 5% /
tmpfs 246M 0 246M 0% /dev/shm
/dev/vda1 477M 25M 427M 6% /boot
成功添加了磁盘.
六.KVM存储池
介绍:NFS作为存储池
NFS服务器端: centos6.5 192.168.1.154
NFS客户端: centos6.5 192.168.1.155
一:服务器端配置
1.服务器端安装NFS
rpm -qa | grep "rpcbind"
rpm -qa | grep "nfs"
yum install -y nfs-utils rpcbind 3.创建共享目录
mkdir /vm
4.配置/etc/exports
vi /etc/exports
/vm *(rw,sync,no_root_squash) 5.启动NFS服务器,一定先启动rpcbind,再启动nfs
service rpcbind start
service nfs start 6.开机启动
chkconfig rpcbind on
chkconfig nfs on 二:客户端配置
1.建立挂载目录
mkdir /home/kvm 2.查看NFS服务器端共享了哪些目录
showmount -e 192.168.1.154 3.开始挂载
mount -t nfs 192.168.1.154:/vm /home/kvm 4.开机挂载
192.168.1.154:/nfs /home/kvm nfs defaults 0 0
三.kvm存储池
1.创建文件夹,作为存储池
mkdir /home/kvm/ (若已经存在,则不用创建) 2.定义存储池
virsh pool-define-as storage_pool --type dir --target /home/kvm 3.创建已经定义的存储池
virsh pool-build storage_pool 4.查看存储池的信息
virsh pool-list --all
virsh pool-info storage_pool 5.激活,启动定义好的存储池
virsh pool-autostart storage_pool
virsh pool-start storage_pool
virsh pool-list --all 6.此时该存储池就创建OK了,可以在存储池中创建虚拟磁盘了.
virsh vol-create-as storage_pool platform-qcow2.img 8G --format qcow2 7.创建虚拟机,基于存储池中的虚拟磁盘文件
virt-install --name platform --ram512 --vcpus 1 --disk /home/kvm/platform-qcow2.img,size=8,device=disk,format=raw,bus=virtio,perms=rw --network bridge=br0,model=virtio --cdrom /iso/CentOS-6.6-x86_64-minimal.iso --vnc --vncport=5912 --vnclisten=0.0.0.0 --os-tyep=linux --os-variant=rhel6 --acclerate |
|
|