设为首页 收藏本站
查看: 1584|回复: 0

[经验分享] 云计算概述和KVM虚拟化

[复制链接]
发表于 2017-6-24 07:58:07 | 显示全部楼层 |阅读模式
  一、云计算概述
为什么有书还需要培训;
xftp;
查找问题:之前干了什么?
中国的计算机行业已经跨入了云计算行业;
  运维工资虚高;
  1、传统的数据中心面临的问题
为什么分享的人做的非常好:a、想跳槽了;b、宣传的公司的产品; c、提高知名度;
  搞电脑的;
a、云计算是一种使用模式;b、云计算是通过网络进行访问的;c、按需付费,弹性计算;
包年包费:是vps;



IDC托管
IDC租用
虚拟主机
VPS openvz
云主机

  有足够的机器的话,无需自动化扩容;
但是如果对于机器资源不足的话,需要实现自动化的调度,可以使用自动化扩容;
  2、云计算和虚拟化



IaaS:操作系统一下,不包含操作系统; Managed by vendor
PaaS:操作系统,运行环境等;
SaaS:软件即服务,应用,数据,全部包含;eg:邮箱(反垃圾,反垃圾邮件联盟);
  云计算和虚拟化不能比较:云计算是一种模式,虚拟化是一种技术;
  不知道虚拟机是干什么的?不知道干什么的?不敢停
  云计算是使用虚拟化的技术,来实现的;云计算是通过网络来获取资源的;
  虚拟化分类:



    1)、全虚拟化:KVM虚拟化是内核支持,CPU需要支持;
2)、半虚拟化:zone;
服务器虚拟化:
桌面虚拟化:
应用虚拟化:

  携程和京东使用的是基于openstack的桌面虚拟化;



ESXI  XenServer
KVM  RHEV   oVirt  openstack
Vmware Vshpere
EMC 被Dell收购了
  3、KVM虚拟化
特性:



    1)嵌入的linux内核中
2)代码级资源调用
3)虚拟机就是一个进程;

  建议使用CentOS 7,目前所有的开源软件都是支持的;  
  二、KVM常用管理
  1、创建虚拟机
  [iyunv@linux-node1 ~]# yum install qemu-kvm qemu-kvm qemu-kvm-tools virt-manager libvirt virt-install -y
  一台机器分为:cpu、内存、IO(磁盘、网络);
kvm(是一个内核模块,是内核态的,需要用户态的程序进行管理)有:cpu和内存;
qemu(本身是一个虚拟化软件,是用户态软件)有:磁盘和网络;
  kvm需要硬件虚拟化支持,查看硬件是否支持虚拟化:



[iyunv@linux-node3 ~]# 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 acpi mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf eagerfpu pni pclmulqdq vmx ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx hypervisor lahf_lm ida arat epb pln pts dtherm hwp hwp_noitfy hwp_act_window hwp_epp tpr_shadow vnmi ept vpid xsaveopt xsavec xgetbv1
  默认虚拟机没有打开硬件虚拟化,需要在setting中进行设置;
DSC0000.jpg

  创建虚拟机的磁盘:



[iyunv@linux-node1 ~]# qemu-img create -f raw /opt/CentOS-7.1-x86_64.raw 10G    #创建一个虚拟机,-f指定文件格式
Formatting '/opt/CentOS-7.1-x86_64.raw', fmt=raw size=10737418240




[iyunv@linux-node1 opt]# lsmod |grep kvm
kvm_intel             162153  0
kvm                   525259  1 kvm_intel

  启动libvirt:



[iyunv@linux-node1 ~]# systemctl enable libvirtd.service
Created symlink from /etc/systemd/system/sockets.target.wants/virtlockd.socket to /usr/lib/systemd/system/virtlockd.socket.
[iyunv@linux-node1 ~]#
[iyunv@linux-node1 ~]# systemctl start  libvirtd.service
[iyunv@linux-node1 ~]# systemctl status libvirtd.service
● libvirtd.service - Virtualization daemon
Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2017-02-09 15:11:11 CST; 3min 50s ago

  创建ISO镜像文件:



dd  if=/dev/cdrom of=/opt/CentOS-7.1.iso   #创建ISO文件
[iyunv@linux-node1 ~]# virt-install --name CentOS-7.1-x86_64 --virt-type kvm --ram 1024 --cdrom=/opt/CentOS-7.1.iso  --disk path=/opt/CentOS-7.1-x86_64.raw,bus=sata --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
Starting install...
Creating domain...                                                                                                                                                            |    0 B  00:00:00     
Domain installation still in progress. You can reconnect to
the console to complete the installation process.


  如果使用virt-manager+xmanager安装的话,需要设置环境变量DISPLAY:
  export DISPLAY=192.168.74.1:0.0
DSC0001.jpg

  选择cdrom:
DSC0002.jpg




我这里使用的使用virt-manager安装的,由于之前磁盘接口默认是ide的,总是包ide-0-0-0找不到的错误,安装失败,所以在安装的时候需要将磁盘接口选择为sata的;
使用vnc,默认监听端口为5900;
  远程连接选择vnc:
DSC0003.jpg

  在安装的时候,设置网卡名为eth0:
DSC0004.jpg




[iyunv@linux-node3 ~]# ps aux|grep kvm    #kvm就是宿主机中的一个进程
root       610  0.0  0.0      0     0 ?        S<   06:38   0:00 [kvm-irqfd-clean]
qemu      4830  1.9 23.3 1730568 438344 ?      Sl   08:03   2:28 /usr/libexec/qemu-kvm -name CentOS-7.1-x86_64 -S -machine pc-i440fx-rhel7.0.0,accel=kvm,usb=off -cpu Westmere -m 1024 -realtime mlock=off -smp 1,sockets=1,cores=1,threads=1 -uuid 6201bfeb-ae90-447d-b75a-1c09cbd7f658 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-8-CentOS-7.1-x86_64/monitor.sock,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew -global kvm-pit.lost_tick_policy=discard -no-hpet -no-shutdown -global PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1 -boot strict=on -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x6.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x6 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x6.0x1 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x6.0x2 -device ahci,id=sata0,bus=pci.0,addr=0x5 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x7 -drive file=/opt/CentOS-7.1-x86_64,format=raw,if=none,id=drive-virtio-disk0 -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x8,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -drive if=none,media=cdrom,id=drive-sata0-0-0,readonly=on -device ide-cd,bus=sata0.0,drive=drive-sata0-0-0,id=sata0-0-0 -netdev tap,fd=26,id=hostnet0,vhost=on,vhostfd=28 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:ae:02:78,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev socket,id=charchannel0,path=/var/lib/libvirt/qemu/channel/target/domain-8-CentOS-7.1-x86_64/org.qemu.guest_agent.0,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0 -chardev spicevmc,id=charchannel1,name=vdagent -device virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel1,id=channel1,name=com.redhat.spice.0 -device usb-tablet,id=input0,bus=usb.0,port=1 -vnc 0.0.0.0:0 -k en-us -vga qxl -global qxl-vga.ram_size=67108864 -global qxl-vga.vram_size=67108864 -global qxl-vga.vgamem_mb=16 -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -chardev spicevmc,id=charredir0,name=usbredir -device usb-redir,chardev=charredir0,id=redir0,bus=usb.0,port=2 -chardev spicevmc,id=charredir1,name=usbredir -device usb-redir,chardev=charredir1,id=redir1,bus=usb.0,port=3 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x9 -msg timestamp=on
root      4854  0.0  0.0      0     0 ?        S    08:03   0:00 [kvm-pit/4830]
root      7059  0.0  0.0 112668   972 pts/2    R+   10:09   0:00 grep --color=auto kvm

  2、libvirt介绍
  支持xen,kvm,vmware,virtualbox等等;



[iyunv@linux-node3 ~]# virsh list   #libvirt api的工具
Id    名称                         状态
----------------------------------------------------
1     CentOS-7.1-x86_64              running
2     CentOS-7.2-x86_64              running
[iyunv@linux-node3 ~]# virsh list --all
Id    名称                         状态
----------------------------------------------------
1     CentOS-7.1-x86_64              running
2     CentOS-7.2-x86_64              running

  openstack默认使用kvm;
  libvirt会创建如下的网卡:



vnet0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet6 fe80::fc54:ff:feae:278  prefixlen 64  scopeid 0x20<link>
ether fe:54:00:ae:02:78  txqueuelen 1000  (Ethernet)
RX packets 160  bytes 15462 (15.0 KiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 4271  bytes 227026 (221.7 KiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

  在新创建的虚拟机上,编辑网卡,设为开机自启动,使用 ip ad li查看,网卡有地址,是因为dncp的原因:



[iyunv@linux-node3 ~]# ps aux|grep dns
nobody    1519  0.0  0.0  15544   468 ?        S    06:38   0:00 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
root      1522  0.0  0.0  15516   164 ?        S    06:38   0:00 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
root      7662  0.0  0.0 112668   968 pts/2    S+   10:36   0:00 grep --color=auto dns

  可以看到分配的libvirt的地址的范围:



[iyunv@linux-node3 ~]# 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    #dncp分配的地址范围
dhcp-no-override
dhcp-lease-max=253
dhcp-hostsfile=/var/lib/libvirt/dnsmasq/default.hostsfile
addn-hosts=/var/lib/libvirt/dnsmasq/default.addnhosts

  3、CPU热添加
  virsh edit CentOS-7.1-x86_64    #编辑libvirt的xml文件  



<vcpu placement='auto' current='1'>4</vcpu>   #cpu的热添加,最大为4个;cpu的热添加,只有在Centos 7才能做
  相当于直接编辑该文件:



[iyunv@linux-node3 qemu]# pwd
/etc/libvirt/qemu
[iyunv@linux-node3 qemu]# ls
CentOS-7.1-x86_64.xml  CentOS-7.2-x86_64.xml  networks

  编辑xml文件之后,只有重启虚拟机才能生效:



[iyunv@linux-node3 ~]# virsh shutdown CentOS-7.1-x86_64    #编辑完xml之后,需要重启才能生效
域 CentOS-7.1-x86_64 被关闭
[iyunv@linux-node3 ~]# virsh start CentOS-7.1-x86_64
域 CentOS-7.1-x86_64 已开始

  将cpu的个数改为2个



[iyunv@linux-node3 ~]# virsh setvcpus CentOS-7.1-x86_64  2 --live

  然后再虚拟机上查看cat /proc/cpuinfo,可以看到cpu变成两个了
DSC0005.jpg

  查看CPU是否激活



[iyunv@linux-node3 ~]# cat /sys/devices/system/cpu/cpu0/online
1

  cpu的个数只能加,不能减少



[iyunv@linux-node3 ~]# virsh setvcpus CentOS-7.1-x86_64  1 --live    #只能加,不能减
错误:不支持的配置:failed to find appropriate hotpluggable vcpus to reach the desired target vcpu count

  注意:#cpu热添加,不能超过cpu最大数;
  4、内存热添加
  <memory unit='KiB'>2048576</memory>    #内存的最大值,内存的变化,最大不能超过最大值;
  修改完成之后,需要重启虚拟机;



[iyunv@linux-node3 ~]# virsh qemu-monitor-command --help
NAME
qemu-monitor-command - QEMU 监控程序命令
SYNOPSIS
qemu-monitor-command <domain> [--hmp] [--pretty] {[--cmd] <string>}...
DESCRIPTION
QEMU 监控程序命令
OPTIONS
[--domain] <string>  域名,id 或 uuid
--hmp            采用认同监控协议的命令
--pretty         以美化格式输出任意 qemu 监视器协议输出结果
[--cmd] <string>  命令

[iyunv@linux-node3 ~]# virsh qemu-monitor-command CentOS-7.1-x86_64 --hmp --cmd info
info balloon  -- show balloon information
info block  -- show the block devices
info block-jobs  -- show progress of ongoing block device operations
info blockstats  -- show block device statistics
info capture  -- show capture information
info chardev  -- show the character devices
info cpus  -- show infos for each CPU
info history  -- show the command line history
info irq  -- show the interrupts statistics (if available)
info jit  -- show dynamic compiler info
info kvm  -- show KVM information
info mem  -- show the active virtual memory mappings
info mice  -- show which guest mouse is receiving events
info migrate  -- show migration status
info migrate_cache_size  -- show current migration xbzrle cache size
info migrate_capabilities  -- show current migration capabilities
info mtree  -- show memory tree
info name  -- show the current VM name
info network  -- show the network state
info numa  -- show NUMA information
info pci  -- show PCI info
info pcmcia  -- show guest PCMCIA status
info pic  -- show i8259 (PIC) state
info profile  -- show profiling information
info qdm  -- show qdev device model list
info qtree  -- show device tree
info registers  -- show the cpu registers
info roms  -- show roms
info snapshots  -- show the currently saved VM snapshots
info spice  -- show the spice server status
info status  -- show the current VM status (running|paused)
info tlb  -- show virtual to physical memory mappings
info tpm  -- show the TPM device
info trace-events  -- show available trace-events & their state
info usb  -- show guest USB devices
info usbhost  -- show host USB devices
info usernet  -- show user network stack connection states
info uuid  -- show the current VM UUID
info version  -- show the version of QEMU
info vnc  -- show the vnc server status

  设置虚拟机内存的大小,内存可大可小



[iyunv@linux-node3 ~]# virsh qemu-monitor-command CentOS-7.1-x86_64 --hmp --cmd balloon 600   #内存设置为600M

[iyunv@linux-node3 ~]# virsh qemu-monitor-command CentOS-7.1-x86_64 --hmp --cmd info balloon
balloon: actual=600

[iyunv@linux-node3 ~]# virsh qemu-monitor-command CentOS-7.1-x86_64 --hmp --cmd balloon 2000    #设为2G

[iyunv@linux-node3 ~]# virsh qemu-monitor-command CentOS-7.1-x86_64 --hmp --cmd info balloon
balloon: actual=2000

DSC0006.jpg  

  5、硬盘



全镜像模式稀疏模式
raw qcow2(openstack首选)

  查看硬盘的信息



[iyunv@linux-node3 opt]# ll
总用量 14763012
-rw-r--r--. 1 qemu qemu  4379901952 2月  12 00:03 CentOS-7.1.iso
-rw-------. 1 qemu qemu 10737418240 2月  12 15:06 CentOS-7.1-x86_64
drwxr-xr-x. 2 root root           6 3月  26 2015 rh
[iyunv@linux-node3 opt]# qemu-img info CentOS-7.1-x86_64
image: CentOS-7.1-x86_64
file format: raw
virtual size: 10G (10737418240 bytes)
disk size: 10G

  6、网络
  默认是nat
  如何将nat该为桥接模式?
  查看网桥



[iyunv@linux-node3 ~]# brctl show
bridge name     bridge id               STP enabled     interfaces
virbr0          8000.5254003ca721       yes             virbr0-nic
vnet0
vnet1

  添加网桥,并将eth0关联进去 



[iyunv@linux-node3 ~]# brctl addbr br0    #添加一个网桥
[iyunv@linux-node3 ~]# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.000000000000       no
virbr0          8000.5254003ca721       yes             virbr0-nic
vnet0
[iyunv@linux-node3 ~]# brctl addif br0 eth0    #将eth0加进去(网断了)

  删除eth0的ip地址,加入到br0中
DSC0007.jpg ,就可以重启连接了




[iyunv@linux-node3 ~]# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.000c29385f8a       no              eth0
virbr0          8000.5254003ca721       yes             virbr0-nic
vnet0
vnet1

  这样,网卡就实现桥接了



[iyunv@linux-node3 ~]# ifconfig
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet 192.168.74.22  netmask 255.255.255.0  broadcast 192.168.74.255
inet6 fe80::20c:29ff:fe38:5f8a  prefixlen 64  scopeid 0x20<link>
ether 00:0c:29:38:5f:8a  txqueuelen 1000  (Ethernet)
RX packets 105  bytes 15245 (14.8 KiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 80  bytes 11974 (11.6 KiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet6 fe80::38c2:5066:2880:ac5f  prefixlen 64  scopeid 0x20<link>
ether 00:0c:29:38:5f:8a  txqueuelen 1000  (Ethernet)
RX packets 323111  bytes 35975466 (34.3 MiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 304017  bytes 436428151 (416.2 MiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
inet 127.0.0.1  netmask 255.0.0.0
inet6 ::1  prefixlen 128  scopeid 0x10<host>
loop  txqueuelen 1  (Local Loopback)
RX packets 130  bytes 13769 (13.4 KiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 130  bytes 13769 (13.4 KiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
virbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
ether 52:54:00:3c:a7:21  txqueuelen 1000  (Ethernet)
RX packets 538  bytes 36160 (35.3 KiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 411  bytes 35200 (34.3 KiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
vnet0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet6 fe80::fc54:ff:feae:278  prefixlen 64  scopeid 0x20<link>
ether fe:54:00:ae:02:78  txqueuelen 1000  (Ethernet)
RX packets 523  bytes 41742 (40.7 KiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 8501  bytes 456432 (445.7 KiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
vnet1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet6 fe80::fc54:ff:feaa:3c07  prefixlen 64  scopeid 0x20<link>
ether fe:54:00:aa:3c:07  txqueuelen 1000  (Ethernet)
RX packets 15  bytes 1950 (1.9 KiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 819  bytes 43640 (42.6 KiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

  7、删除虚拟机



virsh undefine CentOS-7.1-x86_64   #删除就找不到了,可以先将xml备份
[iyunv@linux-node3 ~]# virsh suspend CentOS-7.1-x86_64     #挂起
域 CentOS-7.1-x86_64 被挂起
[iyunv@linux-node3 ~]# virsh list
Id    名称                         状态
----------------------------------------------------
13    CentOS-7.1-x86_64              暂停
[iyunv@linux-node3 ~]# virsh  resume CentOS-7.1-x86_64    #恢复
域 CentOS-7.1-x86_64 被重新恢复
[iyunv@linux-node3 ~]# virsh list
Id    名称                         状态
----------------------------------------------------
13    CentOS-7.1-x86_64              running

  三、kvm性能优化
  1、CPU优化
  cpu是qume模拟的;
x86有四个运行级别:rang0~ring3
ring0是内核态(可以使用硬件),ring3是用户态(不可以使用硬件);
如果进程需要使用硬件,进程需要切换到ring0上,这样的切换称之为上下文切换;
只实现了ring0和ring3;
  vt-x:上下文切换技术实现;
  查看CPU状态



[iyunv@linux-node3 /]# lscpu     #查看cpu状态
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                1
On-line CPU(s) list:   0
Thread(s) per core:    1
Core(s) per socket:    1
座:                 1
NUMA 节点:         1
厂商 ID:           GenuineIntel
CPU 系列:          6
型号:              78
型号名称:        Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz
步进:              3
CPU MHz:             2400.000
BogoMIPS:            4800.01
虚拟化:           VT-x
超管理器厂商:  VMware
虚拟化类型:     完全
L1d 缓存:          32K  #一级数据缓存
L1i 缓存:          32K   #一级指令缓存
L2 缓存:           256K
L3 缓存:           3072K
NUMA 节点0 CPU:    0

  减少Cache Miss



xml
taskset:将某一个进程绑定到某一个CPU上;

  内存优化



内存寻址:EPT
内存合并:KSM
大页内存:khugepaged 把连续的4k内存合并为2M;
1、宿主机虚拟内存-->宿主机物理内存
影子页表:
虚拟机的虚拟内存->虚拟机的物理内存
[iyunv@linux-node3 /]# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never

  I/O
  一般内核优化很少做,内核裁剪可以做;
  Virtio(虚拟化的队列接口)  virtio-net  virtio-blk 半虚拟化  io半虚拟化
  linux的IO调度算法: 



cfq:完全公平的io调度算法;
fifo:用于SSD;

  查看IO调度算法 



[iyunv@linux-node3 /]# dmesg |grep -i scheduler
[    1.264325] io scheduler noop registered
[    1.264327] io scheduler deadline registered (default)
[    1.264344] io scheduler cfq registered

  修改IO调度算法



[iyunv@linux-node3 /]# cat /sys/block/sda/queue/scheduler
noop [deadline] cfq
[iyunv@linux-node3 /]# echo cfq >/sys/block/sda/queue/scheduler    #修改IO调度算法,如果要永久生效,需要修改内核参数
[iyunv@linux-node3 /]# cat /sys/block/sda/queue/scheduler
noop deadline [cfq]
    
elevator=noop    #修改内核参数

  四、ovirt(RHEV的开源版本)和总结:



1.镜像制作:
分区的时候,只分一个/分区
不建议使用交换分区
2.删除虚拟机网卡的UUID MAC
3.安装基础软件包 net-tools lrzsz screen tree vim wget

  KVM管理平台:



openstack     cloudstack  cloud.com公司-->Ctrix -->Apache基金会-->Java
openNebula
oVirt:RHEV的开源版本;

  ovirt:管理端+客户端组成



oVirt Egine oVirt主机/节点
Vcenter   Exsi

  开源的邮箱:



iRedmail  
extmail  
Zimbra(开源版本)
现在:腾讯企业邮箱;

zstack
SEU:搜索引擎优化;

  作业:



1.ovirt体验
2.openstack环境准备
CentOS7.1系统两台。每台2G内存
linux-node1.oldboy.com
linux-node2.oldboy.com
3.硬盘50G
4.Tightvnc view vnc客户端
5.SOA   消息队列   RestAPI分布式存储和对象存储

  Dubbo:阿里开源的SOA框架,目前京东,当当都在使用,是基于RPC,zookeeper做注册中心;
  总结:



服务器虚拟化
桌面虚拟化
应用虚拟化
硬件虚拟化:Intel vt-x/EPT  AMD  AMD-v/PVI

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-387465-1-1.html 上篇帖子: qemu-kvm内存虚拟化2 下篇帖子: kvm虚拟化平台搭建入门
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表