雲計算概述:
什麼是雲計算:資源使用和傳遞模式。
虛拟化:一種具體的技術,用來将實體機虛拟成為多個互相獨立的虛拟機。
雲計算不等于虛拟化。使用了虛拟化的技術做支撐。
IAAS 基礎設施即服務
PAAS
SAAS
私有雲 公有雲 混合雲
KVM。 伺服器虛拟化 桌面虛拟化 應用虛拟化
硬體虛拟化。Intel vt-x/EPT AMD AMD-v /RVI
libvirt libvrit API庫 + libvirtd datemon + 使用者工具(virsh)
xen kvm esxi qemu virtualbox
virsh shutdown start undefine list edit
libvrit xml
#####################################################################################################################################################################33
[root@linux-node1 ~]# cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)
[root@linux-node1 ~]# grep -E '(vmx|svm)' /proc/cpuinfo ----檢視是否支援虛拟化
[root@linux-node1 ~]# yum install qemu-kvm qemu-kvm-tools virt-manager libvirt virt-install -y
qemu-kvm:使用者态的程式與kvm進行互動
qemu-kvm-tools:使用者态的程式與kvm進行互動的工具
virt-manager:虛拟化管理的工具
libvirt:
virt-install:
建立一個10G的硬碟:
[root@linux-node1 ~]# qemu-img create -f raw /opt/CentOS-7.1-x86_64.raw 10G
Formatting '/opt/CentOS-7.1-x86_64.raw', fmt=raw size=10737418240
檢視是否有kvm:
[root@linux-node1 ~]# lsmod |grep kvm
kvm_intel 148081 0
kvm 461126 1 kvm_intel
啟動libvirtd并設定開機自動加載并檢視狀态:
[root@linux-node1 ~]# systemctl enable libvirtd.service
[root@linux-node1 ~]# systemctl start libvirtd.service
[root@linux-node1 ~]# systemctl status libvirtd.service
将CD光牒挂載上:
[root@linux-node1 ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
使用dd指令做一個ISO鏡像:
[root@linux-node1 ~]# dd if=/dev/cdrom of=/opt/CentOS-7.1.iso
8419328+0 records in
8419328+0 records out
4310695936 bytes (4.3 GB) copied, 285.28 s, 15.1 MB/s
建立一台kvm虛拟機:(首先保證有vnc用戶端)
[root@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 --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
Starting install...
Creating domain... | 0 B 00:00:03
Domain installation still in progress. You can reconnect to
the console to complete the installation process.
打開VNC用戶端:10.0.0.111:5900
tab鍵:指定核心參數 net.ifnames=0 biosdevname=0 裝出來的系統就是eth0
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[root@localhost qemu]# virsh list ----檢視虛拟機是否運作
Id Name State
----------------------------------------------------
2 CentOS-7.1-x86_64 running
[root@localhost qemu]# virsh list -all ----檢視所有虛拟機是否運作
[root@localhost qemu]# virsh edit CentOS-7.1-x86_64 -----編輯虛拟機,通過xml
[root@localhost qemu]# virsh start CentOS-7.1-x86_64 -----啟動虛拟機
管理kvm虛拟機:
[root@localhost qemu]# virsh edit CentOS-7.1-x86_64
<vcpu placement='auto' current="1">4</vcpu> 将cpu設定為自動調整,最低一個,最大四個
改完之後重新開機才生效
[root@localhost qemu]# virsh shutdown CentOS-7.1-x86_64
[root@localhost qemu]# virsh start CentOS-7.1-x86_64
設定成2個cpu
[root@localhost qemu]# virsh setvcpus CentOS-7.1-x86_64 2 --live
設定成3個cpu
[root@localhost qemu]# virsh setvcpus CentOS-7.1-x86_64 3 --live
總結:隻支援熱添加,不支援熱删除
回虛拟機檢視:
[root@localhost qemu]cat /proc/cpuinfo ----就可以看到cpu有4核了
########設定記憶體的熱添加與熱減少########
[root@localhost qemu]# virsh edit CentOS-7.1-x86_64
<memory unit='KiB'>4048576</memory>
<currentMemory unit='KiB'>1048576</currentMemory>
更改之後回虛拟機檢視,記憶體從1G變成了721M
KVM之記憶體管理的氣球模式:
[root@localhost ~]# virsh qemu-monitor-command CentOS-7.1-x86_64 --hmp --cmd info balloon
balloon: actual=1024
[root@localhost ~]# virsh qemu-monitor-command CentOS-7.1-x86_64 --hmp --cmd balloon 600
回虛拟機檢視,記憶體從721變成了297M
[root@localhost ~]# virsh qemu-monitor-command CentOS-7.1-x86_64 --hmp --cmd balloon 2000
回虛拟機檢視,記憶體從297變成了1697M
################網絡##################
添加一個網橋:
[root@localhost opt]# brctl addbr br0
橋接網絡:
[root@localhost ~]# brctl addif br0 eth0 && ip addr del dev eth0 10.0.0.111/24 && ifconfig br0 10.0.0.111/24 up && routeadd default gw 10.0.0.2 && iptables -F
[root@localhost ~]# virsh edit CentOS-7.1-x86_64
<interface type='bridge'>
<mac address='52:54:00:f3:42:55'/>
<source bridge='br0'/>
此處修改後kvm虛拟機裡面的網橋就會變成和主控端一個網段的,并且可以用ssh用戶端登入
如果IP位址出現的全部是mac位址,則需要把IP位址設定成靜态的,并設定DNS,然後才能登入和ping通外網
#############硬碟############
全鏡像模式 稀疏模式
raw qcow2
[root@localhost ~]# qemu-img info /opt/CentOS-7.1-x86_64.raw
image: /opt/CentOS-7.1-x86_64.raw
file format: raw
virtual size: 10G (10737418240 bytes)
disk size: 1.3G
#I/O優化 CDN公司必問
Virtio virio-net virtio-blk 半虛拟化
#scheudler
[root@oldboy ~]# dmesg | grep -i scheduler
[ 0.775193] io scheduler noop registered
[ 0.775195] io scheduler deadline registered (default)
[ 0.775396] io scheduler cfq registered
[root@oldboy ~]# cat /sys/block/sda/queue/scheduler
noop [deadline] cfq
[root@oldboy ~]# echo cfq > /sys/block/sda/queue/scheduler
noop deadline [cfq]
永久修改 加入核心參數 elevator=noop
本文轉自陳繼松 51CTO部落格,原文連結:http://blog.51cto.com/chenjisong/1725665,如需轉載請自行聯系原作者