每天学习opensatck(2)

KVM 是 OpenStack 使用最广泛的 Hypervisor,kvm虚拟化学习。

KVM 是运行在操作系统之上的,所以我们先要装一个 Linux。Ubuntu、Redhat、CentOS 都可以,这里我们以 centos6.8为例。

实验环境:

基本的操作系统装好之后,安装 KVM 需要的包

[ root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 
[ root@localhost ~]# lsmod | grep kvm (查看是否kvm模块)

grep -E "(vmx|svm)" /proc/cpuinfo   (egrep -o "(vmx|svm)" /proc/cpuinfo)  
 vmx因特尔虚拟化技术inter-VT技术,svm是amd虚拟化技术amd-v (查看硬件是否支持虚拟化)

yum install qemu-kvm(安装kvm)
lsmod| grep kvm   存在


安装管理工具: yum install virt-manager python-virinst qemu-kvm-tools
kvm是内核态,qemu是用户态。创建虚拟机,就是一个进程,虚拟机vcpu就是进程中的线程。管理方便,kill掉进程相当于断电效果。
raw裸硬盘
kvm硬盘有多种格式
额外补充:
在RedHat系统下用usermod 命令可把某用户添加进多个附属组,默认情况下,一次性添加多个附属组可用以下方式来添加:

 usermod -G 附属组1,附属组2,...,附属组X  用户名

    但在添加之后若再对该用户添加另外附属组时,使用

    usermod -G 附属组名 用户名  

    会把该用户的附属组覆盖为“附属组名”。此时,可在usermod 命令中添加一个参数 -a 即可。

    usermod -a -G 附属组名 用户名

EPEL  (Extra Packages for Enterprise Linux,企业版Linux的额外软件包)  Fedora小组维护的一个软件仓库项目,为RHEL/CentOS提供他们默认不提供的软件包。

步入正题:
yum list |grep libvirt 查看libvirt包
yum install libvirt python-libvirt (安装libvirt)     virt-install依赖于libvirt(api支持多种语言),底层调用libvirt。
/etc/init.d/libvirtd start  启动libvirtd
rpm -ql qemu-kvm ( -l, --list   list files in package ) 查看文件
qemu-img create -f raw /kvm.raw 10G  创建文件raw

qemu-img info kvm.raw  查看磁盘大小,文件已经生成大文件。常用磁盘命令:qemu-img
dd if=/dev/cdrom  of=/centos .iso  (拷贝虚拟机镜像)
 virt-install --virt-type kvm --name kvm-demo \
> --ram 512 --cdrom=/centos.iso  --network network=default  --graphics vnc,listen=0.0.0.0 \
> --noautoconsole --os-type=linux  --disk path=/kvm.raw  (安装kvm虚拟机)
注:常用命令qemu-img

测试过程中遇到问题:
[root@yp-node3 data]# virt-install --virt-type kvm --name kvm.demo --ram 512 --cdrom=/data/centos.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --disk path=/data/demo.raw 
ERROR    Host does not support domain type kvm for virtualization type 'hvm' arch 'x86_64'
这是vmware虚拟化中再启动虚拟机。需要确保kvm模块存在。lsmod | grep kvm

查看进程: ps -aux |grep kvm


硬盘格式转换:
[root@kvm /]# qemu-img  convert -f raw -O qcow2 kvm.raw kvm.qcow2
同一个文件查看qcow2 和raw两种硬盘格式
[root@kvm /]# qemu-img info kvm.raw 
image: kvm.raw
file format: raw
virtual size: 10G (10737418240 bytes)
disk size: 1.5G
[root@kvm /]# qemu-img info kvm.qcow2 
image: kvm.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 1.3G
cluster_size: 65536

查看虚拟机vnc端口:
[root@kvm /]# netstat -nltp |grep 59
tcp        0      0 0.0.0.0:5900                0.0.0.0:*                   LISTEN      2535/qemu-kvm  
通过vnc连接,测试成功

qcow2与kvm对比:
qcow2 格式的文件虽然在性能上比rRaw 格式的有一些损失(主要体现在对于文件增量上,qcow2 格式的文件为了分配 cluster 多花费了一些时间),但是 qcow2 格式的镜像比 Raw 格式文件更小,只有在虚拟机实际占用了磁盘空间时,其文件才会增长,能方便的减少迁移花费的流量,更适用于云计算系统,同时,它还具有加密,压缩,以及快照等 raw 格式不具有的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值