虚拟化技术之KVM

一、kvm环境准备

网传亚洲四百般邪术:泰国底变性术、韩国的整容术、日本之化妆术、中国之PS术。个个让丁闻风丧胆又用罢不克。

kvm介绍:

KVM是Kernel  Virtual  Machine的简写,目前Red 
Hat只支持于64个的RHEL5.4及以上之系运转KVM,同时硬件需要支持VT技术。KVM的前身是QEMU,2008年深受Red 
Hat公司收购并取得一致桩hypervisor技术,不过Red 
Hat的KVM被当是以成未来Linux 
hypervisor的主流,准确来说,KVM仅仅是Linux内核的一个模块。管理以及开创完整的KVM虚拟机,需要再多之辅助工具。

 

里头,整容术和变性术因其大资本、高风险和非可逆性等原因得不到走符合寻常百姓家。

qemu介绍:

QEMU是均等效由法布里斯·贝拉(Fabrice
Bellard)所编写的为GPL执照分发源码的模仿处理器,在GNU/Linux阳台及行使大规模。Bochs,PearPC顶和那类似,但非备该多特色,比如高快跟跨平台的特色,通过KQEMU本条闭源的加速器,QEMU能模仿至接近实际电脑的快。

眼下,0.9.1同之前版本的qemu可以运用kqemu加速器。在qemu1.0下的本,都没法儿使kqemu,主要使用qemu-kvm加速模块,并且加速效果和稳定明显好让kqemu

 

设中国之PS术以其资金低廉、效果显著、操作便捷、重复性强、风险性低等优势于华夏大地广为流传。

安装kvm相关包

# yum install qemu-kvm qemu-kvm-tools virt-manager libvirt virt-install -y

微博及产生位博主@kanahoooo,就因为P得一手堪比“整容”的希冀要敏捷走红。

说明虚拟机是否支持kvm

 # grep -E ‘vmx|svm’ /proc/cpuinfo

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 
clflush dts mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs 
bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf eagerfpu pni pclmulqdq vmx ssse3 fma cx16 
pcid sse4_1 sse4_2 x2apic 
movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm ida arat epb pln pts dtherm tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid xsaveopt

 

胖妞变网红

创立硬盘

-f指定镜像创建的格式

# qemu-img create -f raw /opt/CentOS-7.2-x86_64.raw 10G

Formatting '/opt/CentOS-7.2-x86_64.raw', fmt=raw size=10737418240

 

验证

# lsmod |grep kvm

kvm_intel             162153  0

kvm                   525259  1 kvm_intel

 

开启libvirtd

[root@localhost ~]# systemctl enable libvirtd

Created symlink from /etc/systemd/system/sockets.target.wants/virtlockd.socket to /usr/lib/systemd/system/virtlockd.socket.

[root@localhost ~]# systemctl start libvirtd

[root@localhost ~]# systemctl status libvirtd

大嫂变超模

达到传镜像

# dd if=/dev/cdrom of=/opt/CentOS-7.2.iso

8456192+0 records in

8456192+0 records out

4329570304 bytes (4.3 GB) copied, 200.903 s, 21.6 MB/s

 

吃货变萝莉

虚拟机安装帮助查询

# virt-install --help

# virt-install --name CentOS-7.1-x86_64 --virt-type kvm --ram 1024 --cdrom=/opt/CentOS-7.2.iso --disk path=/opt/CentOS-7.2-x86_64.raw --network=default --graphics vnc,listen=0.0.0.0 --noautoconsole



Starting install...

Domain installation still in progress. You can reconnect to

the console to complete the installation process.

 

眼睁睁男变偶像

假使未小心写错 需要重新安装

# virsh undefine CentOS-7.1-x86_64

 

然后还履行 安装

登录vnc

 

 

运用tab键编写内核参数 修改网卡名为eth0

net.ifnames=0 biosdevname=0

 

修改完毕回车

 

设置收尾reboot virt就会给关

[root@localhost ~]# virsh list --all

 Id    Name                           State

----------------------------------------------------

 -     CentOS-7.1-x86_64              shut off

 

 

随即还不算什么,她还有复牛逼的技能,就是能够P出大家想只要之超新星脸。

手动开启virt

[root@localhost ~]# virsh start CentOS-7.1-x86_64

Domain CentOS-7.1-x86_64 started

 

再用vnc连接

 

 

在vnc里修改eth0网卡配置文件

ONBOOT=yes

双重开网卡

# systemctl restart network

 

翻看网卡

# ip ad li

 

 

测试是否能够连外网

 

于虚拟机装上 ifconfig命令

# yum install -y net-tools

 

卿了解他出多努力为?

深受虚拟机创建cpu

模仿平:通过修改xml文件来转

要是就安装好了想使调节也是修改xml文件

virsh edit CentOS-7.1-x86_64

<domain type='kvm'>

  <name>CentOS-7.1-x86_64</name>

  <uuid>9d0660d2-d5c0-4c1e-b671-6b2c4ce84514</uuid>

  <memory unit='KiB'>1048576</memory>

  <currentMemory unit='KiB'>1048576</currentMemory>

  <vcpu placement='auto' current="1">4</vcpu>

 

 

再开生效

[root@localhost ~]# virsh shutdown CentOS-7.1-x86_64

Domain CentOS-7.1-x86_64 is being shutdown

 

 

[root@localhost ~]# virsh start CentOS-7.1-x86_64   

Domain CentOS-7.1-x86_64 started

 

法二:也可以 手动install

# virt-install --help|grep cpu

 --vcpus VCPUS         Number of vcpus to configure for your guest. Ex:

                        --vcpus 5

                        --vcpus 5,maxcpus=10,cpuset=1-4,6,8

                        --vcpus sockets=2,cores=4,threads=2,

  --cpu CPU             CPU model and features. Ex:

                        --cpu coreduo,+x2apic

                        --cpu host

 

查看转虚拟机的cpu个数

 

 

哎呦!不错哦

cpu的热添加

[root@localhost ~]# virsh setvcpus CentOS-7.1-x86_64 2 --live

 

加上完后 cat /proc/cpuinfo查看

 

 

 

翻开cpu的劳作状态

 

 

小心:热添加只能多不克减,添加的绝可怜个数由xml文件里设置的个数控制

<vcpu placement='auto' current="1">4</vcpu>

 

[root@localhost ~]#  virsh setvcpus CentOS-7.1-x86_64 3 --live

[root@localhost ~]#  virsh setvcpus CentOS-7.1-x86_64 2 --live

error: unsupported configuration: failed to find appropriate hotpluggable vcpus to reach the desired target vcpu count

 

 

 

羽凡不哭

被虚拟机热添加 内存

[root@localhost ~]# virsh edit CentOS-7.1-x86_64

<memory unit='KiB'>4048576</memory>         

 

又开虚拟机进程

[root@localhost ~]# virsh shutdown CentOS-7.1-x86_64

Domain CentOS-7.1-x86_64 is being shutdown



[root@localhost ~]# virsh start CentOS-7.1-x86_64   

Domain CentOS-7.1-x86_64 started

 

 

管住虚拟机内存的通令

[root@localhost ~]# virsh qemu-monitor-comman

 

后接–help查看 命令下

翻开虚拟机的内存

 

 

当巅峰查看虚拟机内存

[root@localhost ~]# virsh qemu-monitor-command CentOS-7.1-x86_64 --hmp --cmd info balloon

balloon: actual=1024

 

安虚拟机内存600M

[root@localhost ~]# virsh qemu-monitor-command CentOS-7.1-x86_64 --hmp --cmd  balloon 600

 

在vnc上查看虚拟机内存,可以窥见显示不是不行据

 

 

 

让虚拟机设置2g内存

 

[root@localhost ~]# virsh qemu-monitor-command CentOS-7.1-x86_64 --hmp --cmd  balloon 2000

[root@localhost ~]# virsh qemu-monitor-command CentOS-7.1-x86_64 --hmp --cmd info  balloon

balloon: actual=2000

 

 

自动生成的xml文件存放位置

[root@localhost ~]# cd /etc/libvirt/qemu/

[root@localhost qemu]#

CentOS-7.1-x86_64.xml  networks

 

 

图形界面管理创建虚拟机

# virt-manager

 

卿认识这是哪位+谁为?

libvirt介绍

脚下主流Linux平台上默认的虚拟化管理工具virt-manager(图形化),virt-install(命令行模式)等都基于libvirt开发而成。

Libvirt 库是一模一样种植实现 Linux 虚拟化功能的 Linux® API,它支持各种虚拟机监控程序,包括 Xen 和 KVM,以及 QEMU 和用来其它操作系统的一些虚构产品。

libvirt 提供相同栽虚拟机监控程序不可知的
API 来安保管运行为主机上之客户操作系统。libvirt 本身 不是千篇一律种植工具,
它是均等栽好起工具来保管客户操作系统的 API。libvirt 本身构建于同栽浮泛的概念之上。它吧给支持的虚拟机监控程序实现的常用功能提供通用的
API。libvirt 起初是特地为 Xen 设计的同等栽管理 API,后来给扩大为可支持多只虚拟机监控程序。

virsh 管理工具

查看:

[root@localhost qemu]# virsh list

 Id    Name                           State

----------------------------------------------------

 1     CentOS-7.1-x86_64              running



[root@localhost qemu]# virsh list --all

 Id    Name                           State

----------------------------------------------------

 1     CentOS-7.1-x86_64              running



[root@localhost ~]# iptables -t nat -vnL

Chain PREROUTING (policy ACCEPT 1 packets, 52 bytes)

 pkts bytes target     prot opt in     out     source               destination         



Chain INPUT (policy ACCEPT 1 packets, 52 bytes)

 pkts bytes target     prot opt in     out     source               destination         



Chain OUTPUT (policy ACCEPT 15 packets, 1225 bytes)

 pkts bytes target     prot opt in     out     source               destination         



Chain POSTROUTING (policy ACCEPT 15 packets, 1225 bytes)

 pkts bytes target     prot opt in     out     source               destination         

    2   267 RETURN     all  --  *      *       192.168.122.0/24     224.0.0.0/24        

    0     0 RETURN     all  --  *      *       192.168.122.0/24     255.255.255.255     

    0     0 MASQUERADE  tcp  --  *      *       192.168.122.0/24    !192.168.122.0/24     masq ports: 1024-65535

    0     0 MASQUERADE  udp  --  *      *       192.168.122.0/24    !192.168.122.0/24     masq ports: 1024-65535

0     0 MASQUERADE  all  --  *      *       192.168.122.0/24    !192.168.122.0/24

 

 

[root@localhost ~]# cat /var/lib/libvirt/dnsmasq/default.conf

##WARNING:  THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE

##OVERWRITTEN AND LOST.  Changes to this configuration should be made using:

##    virsh net-edit default

## or other application using the libvirt API.

##

## dnsmasq conf file created by libvirt

strict-order

pid-file=/var/run/libvirt/network/default.pid

except-interface=lo

bind-dynamic

interface=virbr0

dhcp-range=192.168.122.2,192.168.122.254

dhcp-no-override

dhcp-authoritative

dhcp-lease-max=253

dhcp-hostsfile=/var/lib/libvirt/dnsmasq/default.hostsfile

addn-hosts=/var/lib/libvirt/dnsmasq/default.addnhosts

 

 

支持之硬盘的档次

# qemu-img --help

Supported formats: vvfat vpc vmdk vhdx vdi ssh sheepdog rbd raw host_cdrom host_floppy host_device file qed qcow2 qcow parallels nbd iscsi gluster dmg tftp ftps ftp https http cloop bochs blkverify blkdebug

 

全镜像格式

稀疏格式

raw

qcow2(支持压缩,快照,镜像)

 

原本你及网红的反差就是光发生一个ps,ps大法太神奇!

增长网桥

[root@localhost ~]# brctl show

bridge name     bridge id               STP enabled     interfaces

virbr0          8000.fe54006fd14f       yes             vnet0

[root@localhost ~]# brctl addbr br0

[root@localhost ~]# brctl show     

bridge name     bridge id               STP enabled     interfaces

br0             8000.000000000000       no

virbr0          8000.fe54006fd14f       yes             vnet0

[root@localhost ~]# brctl addif br0 eth0 && ip addr del dev eth0 10.0.0.111/24 && ifconfig br0 10.0.0.111/24 up &&

route add default gw 10.0.0.2 && iptables -F

 

 

 

 

虚拟机的去命令

virsh undefine 主机名

 

导出xml命令

[root@localhost ~]# virsh --help|grep dump

    dump                           dump the core of a domain to a file for analysis

    dumpxml                        domain information in XML

    save-image-dumpxml             saved state domain information in XML

    iface-dumpxml                  interface information in XML

    nwfilter-dumpxml               network filter information in XML

    net-dumpxml                    network information in XML

    nodedev-dumpxml                node device details in XML

    secret-dumpxml                 secret attributes in XML

    snapshot-dumpxml               Dump XML for a domain snapshot

    pool-dumpxml                   pool information in XML

vol-dumpxml                    vol information in XML

 

 

唯独跟下面这号小哥比起来,上面的这些都是散落洒水,小意思。他p图p出了蜜汁自信:

操作虚拟机的常用管理命令

virsh start

virsh shutdown

virsh edit

virsh destroy  相当于物理机直接拔电源  kill -9 进程也是一样

virsh suspended 终止

virsh resumed   恢复

qemu-img      磁盘管理命令

 

 

2017开春,周某以公司售假被淘宝处罚。根据淘宝现有规则,存在此类行为给关店的,不得再当淘宝上开店销售商品。

CPU 优化 vt-x

 

 

 

taskset 绑定KVM进程到一定的CPU,减少Cache Miss

 

但当下员周小哥不愿意死心,“改头换面”利用伪造的身份证尝试以阳台达成重新申请开店,结果或者受阿里巴巴行使“同人型”进行了挡。

内存优化

 

 

  1. 宿主机虚拟内存 -> 宿主机物理内存

      

虚拟机的虚拟内存 -》 虚拟机的大体内存

   影子列表

  宿主机虚拟内存 -》    宿主机物理内存

    ept 内存寻址

ksmd默认开启  来压缩内存空间
合并内存相同内容

 

 

writeback性能最好而最无安全
 断电数据发生或不齐

WriteThrough 最缓慢而最为安全
 (默认是欠模式)

[root@localhost ~]# ps -ef |grep ksmd

root        282      2  0 21:39 ?        00:00:00 [ksmd]

 

大页内存默认开启

[root@localhost ~]# cat /sys/kernel/mm/transparent_hugepage/enabled

[always] madvise never

 

  

khugepaged将连可用4k的外存页合并成为2M之大页文件

[root@localhost ~]# ps -ef|grep kh

root        283      2  0 21:39 ?        00:00:01 [khugepaged]

I/O

默认使用 Virtio 半虚拟化队列接口

virio-net virio-blk

 

IO Schedulers

电梯算法

  1. Noop Sheduler FIFO SSD    什么还不涉及的调度方式
  2. Anticipatory IO Sheduler(“as sheduler”)
  3. Deadline Sheduler     截止时间之调度方式 默认读短于写
    一般用来数据库
  4. Complete Fair Queueing Scheduler(“cfq sheduler”) 完全公平的调度的法子

linux支持之调度算法

[root@localhost ~]# dmesg |grep -i scheduler

[    0.933120] io scheduler noop registered

[    0.933122] io scheduler deadline registered (default)

[    0.933137] io scheduler cfq registered

 

查阅时使的调度算法

[root@localhost ~]# cat /sys/block/sda/queue/scheduler

noop [deadline] cfq

 

现改动当前底算法

[root@localhost ~]# echo cfq > /sys/block/sda/queue/scheduler

[root@localhost ~]# cat /sys/block/sda/queue/scheduler                     

noop deadline [cfq]

 

千古修改

加入内核参数  elevator=noop

 

 

镜像制作:

 

  1. 分区的早晚,只分一个/分区。
  2. 删除网卡和udev规则里的uuid 和MAC
  3. 闭馆防火墙和selinux
  4. 安装常用包net-tools lrzsz
    screen tree vim wget

 

但当下号到姓小哥还是未愿意死心。在跟着同年岁月内,他屡屡使用PS的仿冒身份证,多次申请开店,这个图P得得说凡是神乎其技了。

KVM管理平台介绍:

OpenStack

CloudStack  cloud.com公司–》Ctrix—》Apache基金会—》Java(商业化产品)

OpenNebula

ZStack

oVirt  RHEV的开源实现 Fedora Centos RHEL  https://www.ovirt.org/download/

   管理端+客户端组成  oVirt Engine   oVirt主机/节点

sudo yum install http://resources.ovirt.org/pub/yum-repo/ovirt-release41.rpm



sudo yum install -y ovirt-engine



sudo engine-setup

 

8摆假身份证除了出生年月、家庭住址、身份证号一概不同外,连照片还因出生年月显示的齿大小选用了温馨不同时代的证件照,活儿全乎得格外。

可是当下仍没什么用。阿里巴巴透过“同人范”,利用大数量风控判断这9单账号都是由周某同人操作,打假小二重新成身份证制证规范,看字体、头如、水印等来判断真假,一一识别有周某的“马甲的身”。

当时员假贩子在PS上花费的竭力,真的把万母网红还较了下。有这样好之PS技术,为什么非失去当网红?

说完PS术,我们重来说说化妆术。

君觉得化妆品不得不画脸?其实还能够画身材。

平胸的胞妹福利:画来深乳沟

女生追求傲人的上围,可以拿化妆品“外敷”,而老公追过口的时长,可能就待“内服”了。

“采用美国民俗秘方的精华、有高山羊鞭、龟板等十余种植名贵动植物药材制成,让你还拾阳人雄风……”估计每一样各类肾透支的男人及四十只要虎之巾帼还爱莫能助对抗这词话的引发。

假若当时就是缓女士之生财之道。

去年,在网上经营汽车配件生意的湖南女子延某某跟吴某有相当人,看他人卖假壮阳药物来钱赶紧,决定效法。通过社交软件,延某某自河南直达小为每盒数元的价买进假冒壮阳药,之后按几十初的价格在网上销售。

壮阳大凡不可能壮阳之,这一生都非可能壮阳底。甚至生顾客说:服用后面世“拉肚子”等不良反应。

立刻长长的信息,让自家裆下一凉。

哼于当年6月,阿里巴巴打假特战队已经用线索并警方,后那个为审批。延某有相当人于破获后,今年12月4日,他们的同伙又策动网上售假,结果吃阿里巴巴打假大数据模型迅速挡。

看来此间,又裆下一样暖。

本身欠去更换条裤子了……