kvm学习篇
云计算:一种资源的使用模式
弹性,按需付费
资源
降低成本
公有云:亚马逊、阿里云
私有云:
混合云:
安装:
yum install qemu-kvm qemu-kvm-tools virt-manager libvirt
[root@yz3110 ~]# /etc/init.d/libvirtd start
Starting libvirtd daemon: [ OK ]
virbr0 Link encap:Ethernet HWaddr 52:54:00:EA:A5:53
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:30201 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:1392016 (1.3 MiB)
[root@yz3110 networks]# brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.525400eaa553 yes virbr0-nic
创建虚拟机:
[root@yz3110 networks]# qemu-img create -f raw /data0/Centos-6.2-x86_64.raw 5G
Formatting '/data0/Centos-6.2-x86_64.raw', fmt=raw size=5368709120
[root@yz3110 networks]# file /data0/Centos-6.2-x86_64.raw
/data0/Centos-6.2-x86_64.raw: data
[root@yz3110 networks]# qemu-img info /data0/Centos-6.2-x86_64.raw
image: /data0/Centos-6.2-x86_64.raw
file format: raw
virtual size: 5.0G (5368709120 bytes)
disk size: 0
[root@yz3110 networks]# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 4
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 2
Stepping: 3
CPU MHz: 2400.266
BogoMIPS: 4800.53
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 4096K
NUMA node0 CPU(s): 0-3
virt-install -virt-type kvm --name Cenntos-6.6-x86_64 --ram 512(内存) --cdrom=/data0/Centos-6.6-x86_64.iso --disk pathh=/data0/*.raw --network netrowrk=default
[root@yz3110 data0]# modprobe kvm
[root@yz3110 data0]# modprobe vhost-net
[root@yz3110 data0]# rpm -q virt-manager
virt-manager-0.9.0-19.el6.x86_64
virt-install --virt-type kvm --name Centos-6.2-x86_64 --ram 512 --cdrom=/data0/soft/CentOS-6.2-x86_64-minimal.iso --disk path=/data0/Centos-6.2-x86_64.raw --network network=default --graphics vnc,listem=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel16
ERROR No domains available for virt type 'hvm', arch 'x86_64', domain type 'kvm'
解决:
In my case the problem is with hardware virtualization disabled in BIOS. Also I was in a state that I can't turn that on. Replacing 'kvm' with 'qemu' fixed my problem.
[root@yz3110 data0]# virt-install --virt-type qemu --name Centos-6.2-x86_64 --ram 512 --cdrom=/data0/soft/CentOS-6.2-x86_64-minimal.iso --disk path=/data0/Centos-6.2-x86_64.raw --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux
WARNING KVM acceleration not available, using 'qemu'
Starting install...
Creating domain... | 0 B 00:00
Domain installation still in progress. You can reconnect to
the console to complete the installation process.
监控:
yum install virt-top
或
zabbix
优化:
内存
[root@yz3110 qemu]# cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
always [never]
[root@yz3110 qemu]# ps -ef |grep ksm
root 59 2 0 Feb01 ? 00:00:00 [ksmd]
root 1298 1 0 14:04 pts/0 00:00:00 /bin/bash /usr/sbin/ksmtuned
io优化:
virtio
/etc/udev/rules.d/70-persistent-net.rules
记录虚拟机操作的
virsh undefine Centos-6.2-x86_64 删除虚拟机
[root@yz3110 data0]# virsh undefine Centos-6.2-x86_64
error: Refusing to undefine while domain managed save image exists
[root@yz3110 data0]# virsh undefine Centos-6.2-x86_64 --managed-save
Domain Centos-6.2-x86_64 has been undefined
[root@yz3110 vmdata]# brctl addbr br0 创建网桥
[root@yz3110 vmdata]# brctl addif br0 eth1桥接到eth1上
kvm优势:
1)开源
2)性能好,同样的硬件条件下能够提供更好的虚拟机性能,主要是因为kvm架构简单,代码只有2W行,一开始就支持硬件虚拟化
3)免费方案多,稳定和兼容性也越来越好
4)广泛免费的技术支持
egrep '(vmx|svm)' /proc/cpuinfo 查看是否支持虚拟化
在KVM环境中,一下rpm包都是必需的
[yongsan@yz3110 ~]$ rpm -qa |grep -E 'qemu|libvirt|virt'
python-virtinst-0.600.0-18.el6.noarch
libvirt-java-devel-0.4.7-1.el6.noarch
libvirt-python-0.10.2-29.el6.x86_64
qemu-kvm-0.12.1.2-2.415.el6.x86_64
qemu-img-0.12.1.2-2.415.el6.x86_64
virt-top-1.0.4-3.11.el6.x86_64
virt-manager-0.9.0-19.el6.x86_64
qemu-kvm-tools-0.12.1.2-2.415.el6.x86_64
virt-what-1.11-1.1.el6.x86_64
libvirt-devel-0.10.2-29.el6.x86_64
libvirt-java-0.4.7-1.el6.noarch
libvirt-client-0.10.2-29.el6.x86_64
virt-viewer-0.4.1-7.el6.x86_64
libvirt-0.10.2-29.el6.x86_64
gpxe-roms-qemu-0.9.7-6.9.el6.noarch
查看kvm模块是否载入
[yongsan@yz3100 ~]$ lsmod |grep kvm
kvm_intel 41436 16
kvm 256599 1 kvm_intel
virt-manager的使用:图形化的管理工具
安装图形化界面
yum groupinstall -y "Desktop platform" "Desktop platform Development" "Fonts" "General Purpose Desktop" "Graphical Administration Tools" "Graphics Creation Tools" "Input Methods" "x Window System" "Chinese Suport [zh]" "Interenet Browser"
vnc配置:
安装vnc
yum install -y tigervnc
yum install -y tigervnc-server
vim /etc/sysconfig/vncseervers
vncpaasswd
问题:
[root@yz3110 ~]# service vncserver restart
Shutting down VNC server: [ OK ]
Starting VNC server: 2:root xauth: creating new authority file /root/.Xauthority
WARNING: The first attempt to start Xvnc failed, possibly because the font
catalog is not properly configured. Attempting to determine an appropriate
font path for this system and restart Xvnc using that font path ...
Could not start Xvnc.
/usr/bin/Xvnc: symbol lookup error: /usr/bin/Xvnc: undefined symbol: pixman_composite_trapezoids
/usr/bin/Xvnc: symbol lookup error: /usr/bin/Xvnc: undefined symbol: pixman_composite_trapezoids
[FAILED]
解决:
yum install pixman pixman-devel libXfont -y
[root@yz3110 ~]# service vncserver restart
Shutting down VNC server: [ OK ]
Starting VNC server: 2:root
New 'yz3110.hadoop.data.sina.com.cn:2 (root)' desktop is yz3110.hadoop.data.sina.com.cn:2
Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/yz3110.hadoop.data.sina.com.cn:2.log
[ OK ]
[yongsan@yz3110 ~]$ numactl --hardware查看当前CPU的硬件情况
[yongsan@yz3110 ~]$ numastat 查看每个节点的内存统计
[yongsan@yz3110 ksm]$ lspci
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
00:01.2 USB controller: Intel Corporation 82371SB PIIX3 USB [Natoma/Triton II] (rev 01)
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
00:02.0 VGA compatible controller: Cirrus Logic GD 5446
00:03.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 20)
00:04.0 SCSI storage controller: Red Hat, Inc Virtio block device
00:05.0 RAM memory: Red Hat, Inc Virtio memory balloon
virsh # qemu-monitor-command Centos-6.2-x86_64 --hmp --cmd info balloon
balloon: actual=512
virsh # qemu-monitor-command Centos-6.2-x86_64 --hmp --cmd balloon 1024
virsh # qemu-monitor-command Centos-6.2-x86_64 --hmp --cmd info balloon
balloon: actual=1024
虚拟机限速
virsh # memtune Centos-6.2-x86_64 --hard-limit 20148 --config
kvm学习篇的更多相关文章
- js学习篇1--数组
javascript的数组可以包含各种类型的数据. 1. 数组的长度 ,直接用 length 属性; var arr=[1,2,3]; arr.length; js中,直接给数组的length赋值是会 ...
- Tomcat集群配置学习篇-----分布式应用
Tomcat集群配置学习篇-----分布式应用 现目前基于javaWeb开发的应用系统已经比比皆是,尤其是电子商务网站,要想网站发展壮大,那么必然就得能够承受住庞大的网站访问量:大家知道如果服务器访问 ...
- (转载)OC学习篇之---概述
前言 终于开启了OC的学习篇了,之前由于工作上的事,学习就一直搁浅了,不过最近由于各种原因,感觉必须要开启iOS的开发旅程了,不然就老了.因为之前一直是做Android的,所以学习iOS来就没那么费劲 ...
- 《Mysql 公司职员学习篇》 第二章 小A的惊喜
第二章 小A的惊喜 ---- 认识数据库 吃完饭后,小Y和小A回到了家里,并打开电脑开始学习Mysql. 小Y:"小A,你平时的Excell文件很多的情况下,怎么样存放Exce ...
- Java多线程(学习篇)
Java多线程:(学习篇) 1.什么是线程 2.线程状态 3.线程中断 4.线程交互 5.同步机制 6.锁机制 7.堵塞队列与堵塞栈 8.条件变量.原子量.线程池等 9.线性安全类和Callable与 ...
- 鸟哥Linux私房菜基础学习篇学习笔记3
鸟哥Linux私房菜基础学习篇学习笔记3 第十二章 正则表达式与文件格式化处理: 正则表达式(Regular Expression) 是通过一些特殊字符的排列,用以查找.删除.替换一行或多行文字字符: ...
- 鸟哥Linux私房菜基础学习篇学习笔记2
鸟哥Linux私房菜基础学习篇学习笔记2 第九章 文件与文件系统的压缩打包: Linux下的扩展名没有什么特殊的意义,仅为了方便记忆. 压缩文件的扩展名一般为: *.tar, *.tar.gz, *. ...
- 鸟哥Linux私房菜基础学习篇学习笔记1
鸟哥Linux私房菜基础学习篇学习笔记1 第三章 主导分区(MBR),当系统在开机的时候会主动去读取这个区块的内容,必须对硬盘进行分区,这样硬盘才能被有效地使用. 所谓的分区只是针对64Bytes的分 ...
- Scrapy学习篇(十)之下载器中间件(Downloader Middleware)
下载器中间件是介于Scrapy的request/response处理的钩子框架,是用于全局修改Scrapy request和response的一个轻量.底层的系统. 激活Downloader Midd ...
随机推荐
- django-Query Ajax 实例 ($.ajax、$.post、$.get)
Jquery在异步提交方面封装的很好,直接用AJAX非常麻烦,Jquery大大简化了我们的操作,不用考虑浏览器的诧异了. 推荐一篇不错的jQuery Ajax 实例文章,忘记了可以去看看,地址为:ht ...
- Android系统移植与调试之------->如何添加一个adb wifi无线调试的功能【开发者选项】-【Wifi调试】
首先弄懂怎么设置adb wifi无线调试的功能,如下所示. 1. 手机端开启adb tcp连接端口 :/$setprop service.adb.tcp.port :/$stop adbd :/$st ...
- (转)基于深度学习的目标检测技术演进:R-CNN、Fast R-CNN、Faster R-CNN
object detection我的理解,就是在给定的图片中精确找到物体所在位置,并标注出物体的类别.object detection要解决的问题就是物体在哪里,是什么这整个流程的问题.然而,这个问题 ...
- Java实现八大排序之冒泡排序
冒泡排序 冒泡排序的定义: 冒泡排序(Bubble Sort)它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该 ...
- hibernate自动建表之engine设置
1.MYSQL的数据库引擎中,只有InnoDB和BDB(Berkley DB )包括了对事务处理和外键的支持.如果数据引擎建为MyISAM则rollback无效. 2.而hibernate自动建表的时 ...
- Android View体系 系列文章
http://www.cnblogs.com/Free-Thinker/p/6768783.html
- 使用npm构建前端项目基本流程
现在各种前端框架, 库文件基本都托管到npm上, 我们平常下载到别人的项目文件, 也基本是用npm 构建的, 不了解点node和npm那是寸步难行. 下面介绍的代码示例不敢说是最佳实践, 但都是我亲自 ...
- s5_day14作业
import re # 1. 匹配一段文本中的每行的邮箱 # ret=re.findall('\w+@\w+\.com','10000@qq.com,qwe48645313@163.com') # p ...
- Java全局变量
全局变量:Java程序中,不能在所有类之外定义全局变量,只能通过在一个类中定义公用.静态的变量来实现一个全局变量.例如:ClassGlobalVar{public static global_var; ...
- (转载)Hibernate与Jpa的关系
我知道Jpa是一种规范,而Hibernate是它的一种实现.除了Hibernate,还有EclipseLink(曾经的toplink),OpenJPA等可供选择,所以使用Jpa的一个好处是,可以更换实 ...