1:什么是云計(jì)算?2:云計(jì)算的服務(wù)類型3:為什么要用云計(jì)算4:云計(jì)算的基礎(chǔ)KVM虛擬化4.1:什么是虛擬化?4.2 :虛擬化軟件的差別4.3 安裝kvm虛擬化管理工具4.4:安裝一臺(tái)kvm虛擬機(jī)4.5:kvm虛擬機(jī)的virsh日常管理和配置4.6:kvm虛擬機(jī)虛擬磁盤管理和快照管理4.6.1磁盤工具的常用命令4.6.2快照管理4.7:kvm虛擬機(jī)克隆4.7.1:完整克隆4.7.2:鏈接克隆4.8:kvm虛擬機(jī)的橋接網(wǎng)絡(luò)4.8.1:創(chuàng)建橋接網(wǎng)卡4.8.2 新虛擬機(jī)使用橋接模式4.8.3 將已有虛擬機(jī)網(wǎng)絡(luò)修改為橋接模式4.9:熱添加技術(shù)4.9.1 kvm熱添加硬盤4.9.2 kvm虛擬機(jī)在線熱添加網(wǎng)卡4.9.3 kvm虛擬機(jī)在線熱添加內(nèi)存4.9.4 kvm虛擬機(jī)在線熱添加cpu4.10:kvm虛擬機(jī)的遷移
1:什么是云計(jì)算唇跨?
云計(jì)算是一種按量付費(fèi)的模式殊橙!云計(jì)算的底層是通過虛擬化技術(shù)來(lái)實(shí)現(xiàn)的!
2:云計(jì)算的服務(wù)類型
2.1 IAAS 基礎(chǔ)設(shè)施即服務(wù)(infrastructure as an service) 虛擬機(jī) ecs openstack
2.2 PAAS 平臺(tái)即服務(wù)(platform as an service ) php俄精,java docker容器 +k8s
2.3 SAAS 軟件即服務(wù)(software as an service ) 企業(yè)郵箱服務(wù) cdn服務(wù) rds數(shù)據(jù)庫(kù) 開發(fā)+運(yùn)維
3:為什么要用云計(jì)算
小公司:10臺(tái) 20w+ idc 5w + 100M 10W询筏, 10臺(tái)云主機(jī),前期投入小竖慧,擴(kuò)展靈活嫌套,風(fēng)險(xiǎn)小
大公司:閑置服務(wù)器計(jì)算資源逆屡,虛擬機(jī),出租(超賣)
64G 服務(wù)器 64臺(tái)1G 320臺(tái)1G 64臺(tái) 大公司自己的業(yè)務(wù) 264臺(tái) 租出去
國(guó)企踱讨,銀行
公有云: 誰(shuí)都可以租
私有云: 只有公司內(nèi)部使用
混合云: 有自己的私有云 + 租的公有云
4:云計(jì)算的基礎(chǔ)KVM虛擬化
宿主機(jī):內(nèi)存4G+ 純凈的系統(tǒng)CentOS-7(關(guān)閉selinux魏蔗,firewalld和NetworkManager)
4.1:什么是虛擬化?
虛擬化痹筛,通過模擬計(jì)算機(jī)的硬件莺治,來(lái)實(shí)現(xiàn)在同一臺(tái)計(jì)算機(jī)上同時(shí)運(yùn)行多個(gè)不同的操作系統(tǒng)的技術(shù)。
4.2 :虛擬化軟件的差別
linux虛擬化軟件: qemu 軟件純模擬全虛擬化軟件帚稠,特別慢谣旁!兼容性好! xen(半) 性能特別好滋早,需要使用專門修改之后的內(nèi)核榄审,兼容性差! redhat 5.5 xen kvm KVM(linux) 全虛擬機(jī)杆麸,它有硬件支持cpu搁进,基于內(nèi)核,而且不需要使用專門的內(nèi)核 centos6 kvm 性能較好角溃,兼容較好
vmware workstations: 圖形界面
virtual box: 圖形界面 Oracle
4.3 安裝kvm虛擬化管理工具
主機(jī)名 | ip地址 | 內(nèi)存 | 虛擬機(jī) |
---|---|---|---|
kvm01 | 10.0.0.11 | 4G(后期調(diào)整到2G) | cpu開啟vt虛擬化 |
kvm02 | 10.0.0.12 | 2G | cpu開啟vt虛擬化 |
yum install libvirt virt-install qemu-kvm -y
KVM:Kernel-based Virtual Machine
libvirt 作用:虛擬機(jī)的管理軟件 libvirt: kvm,xen,qemu,lxc....
virt virt-install virt-clone 作用:虛擬機(jī)的安裝工具和克隆工具 qemu-kvm qemu-img (qcow2,raw)作用:管理虛擬機(jī)的虛擬磁盤
環(huán)境要求:
centos 7.4 7.6(不要使用7.5)
vmware 宿主機(jī) kvm虛擬機(jī)
內(nèi)存4G拷获,cpu開啟虛擬化
IP:10.0.0.11
echo '192.168.12.201 mirrors.aliyun.com' >>/etc/hosts
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
安裝軟件包
yum install libvirt virt-install qemu-kvm -y
4.4:安裝一臺(tái)kvm虛擬機(jī)
VNC-Viewer-6.19.325 宿主機(jī)
微軟的遠(yuǎn)程桌面
vnc:遠(yuǎn)程的桌面管理工具 向日葵 微軟的遠(yuǎn)程桌面
systemctl start libvirtd.service systemctl status libvirtd.service
10.0.0.11 宿主機(jī)
建議虛擬機(jī)內(nèi)存不要低于1024M,否則安裝系統(tǒng)特別慢减细!
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /opt/centos2.raw,format=raw,size=10 --cdrom /opt/CentOS-7-x86_64-DVD-1708.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
vnc:10.0.0.11:5900
--virt-type kvm 虛擬化的類型(qemu) --os-type=linux 系統(tǒng)類型 --os-variant rhel7 系統(tǒng)版本 --name centos7 虛擬機(jī)的名字 (必須唯一) --memory 1024 虛擬機(jī)的內(nèi)存 --vcpus 1 虛擬cpu的核數(shù) --disk /opt/centos2.raw,format=raw,size=10(必須唯一) --cdrom /opt/CentOS-7-x86_64-DVD-1708.iso --network network=default 使用默認(rèn)NAT的網(wǎng)絡(luò) --graphics vnc,listen=0.0.0.0 --noautoconsole (可有可無(wú))
云主機(jī)都沒有swap分區(qū)
4.5:kvm虛擬機(jī)的virsh日常管理和配置
列表list(--all) 開機(jī)start 關(guān)機(jī)shutdown(虛擬機(jī)有系統(tǒng)) 拔電源關(guān)機(jī)destroy 重啟reboot(虛擬機(jī)有系統(tǒng))
導(dǎo)出配置dumpxml 例子:virsh dumpxml centos7 >centos7-off.xml 刪除undefine 推薦:先destroy匆瓜,在undefine 導(dǎo)入配置define
修改配置edit(自帶語(yǔ)法檢查)
重命名domrename (低版本不支持)
掛起suspend 恢復(fù)resume 查詢vnc端口號(hào)vncdisplay
kvm虛擬機(jī)開機(jī)啟動(dòng) kvm運(yùn)行業(yè)務(wù)程序 開機(jī)啟動(dòng)autostart,前提:systemctl enable libvirtd未蝌; 取消開機(jī)啟動(dòng)autostart --disable
console 控制臺(tái) 登錄
centos7的kvm虛擬機(jī):
grubby --update-kernel=ALL --args="console=ttyS0,115200n8"
reboot
作業(yè)1:實(shí)現(xiàn)centos6的kvm虛擬機(jī)驮吱,console命令行登錄? 安裝一臺(tái)centos6的kvm虛擬機(jī),在安裝的過程中.內(nèi)核參數(shù)selinux=0
4.6:kvm虛擬機(jī)虛擬磁盤管理和快照管理
raw: 裸格式萧吠,占用空間比較大左冬,不支持快照功能,不方便傳輸 ,讀寫性能較好 總50G 占用5G,傳輸50G qcow2: qcow(copy on write)占用空間小纸型,支持快照拇砰,性能比raw差一點(diǎn),方便傳輸 總50G 占用5G,傳輸5G
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /opt/centos2.raw,format=raw,size=10 --cdrom /opt/CentOS-7-x86_64-DVD-1708.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /data/oldboy.qcow2,format=qcow2,size=10 --cdrom /data/CentOS-7.2-x86_64-DVD-1511.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
4.6.1磁盤工具的常用命令
qemu -img info狰腌,create除破,resize,convert
查看虛擬磁盤信息 qemu-img info test.qcow2
創(chuàng)建一塊qcow2格式的虛擬硬盤: qemu-img create -f qcow2 test.qcow2 2G
調(diào)整磁盤磁盤容量 qemu-img resize test.qcow2 +20G
raw轉(zhuǎn)qcow2:qemu-img convert -f raw -O qcow2 oldboy.raw oldboy.qcow2 -c 壓縮 virsh edit web01:
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/data/centos2.qcow2'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</disk>
virsh destroy web01 virsh start web01
4.6.2快照管理
創(chuàng)建快照virsh snapshot-create-as centos7 --name install_ok 查看快照virsh snapshot-list centos7
還原快照virsh snapshot-revert centos7 --snapshotname 1516574134 刪除快照virsh snapshot-delete centos7 --snapshotname 1516636570
raw不支持做快照琼腔,qcow2支持快照瑰枫,并且快照就保存在qcow2的磁盤文件中
4.7:kvm虛擬機(jī)克隆
4.7.1:完整克隆
自動(dòng)擋:
virt-clone --auto-clone -o web01 -n web02 (完整克隆)
手動(dòng)擋:
qemu-img convert -f qcow2 -O qcow2 -c web01.qcow2 web03.qcow2
virsh dumpxml web01 >web02.xml
vim web02.xml
#修改虛擬機(jī)的名字
#刪除虛擬機(jī)uuid
#刪除mac地址mac add
#修改磁盤路徑disk
virsh define web02.xml
virsh start web02
4.7.2:鏈接克隆
a:生成虛擬機(jī)磁盤文件 qemu-img create -f qcow2 -b web03.qcow2 web04.qcow2
b:生成虛擬機(jī)的配置文件
virsh dumpxml web01 >web03.xml
vim web03.xml
#修改虛擬機(jī)的名字
<name>web03</name>
#刪除虛擬機(jī)uuid
<uuid>8e505e25-5175-46ab-a9f6-feaa096daaa4</uuid>
#刪除mac地址
<mac address='52:54:00:4e:5b:89'/>
#修改磁盤路徑
<source file='/opt/web03.qcow2'/>
c:導(dǎo)入虛擬機(jī)并進(jìn)行啟動(dòng)測(cè)試
virsh define web03.xml virsh start web03
全自動(dòng)鏈接克隆腳本:
[root@kvm01 scripts]# cat link_clone.sh
#!/bin/bash
old_vm=$1
new_vm=$2
#a:生成虛擬機(jī)磁盤文件
old_disk=`virsh dumpxml $old_vm|grep "<source file"|awk -F"'" '{print $2}'`
disk_tmp=`dirname $old_disk`
qemu-img create -f qcow2 -b $old_disk ${disk_tmp}/${new_vm}.qcow2
#b:生成虛擬機(jī)的配置文件
virsh dumpxml $old_vm >/tmp/${new_vm}.xml
#修改虛擬機(jī)的名字
sed -ri "s#(<name>)(.*)(</name>)#\1${new_vm}\3#g" /tmp/${new_vm}.xml
#刪除虛擬機(jī)uuid
sed -i '/<uuid>/d' /tmp/${new_vm}.xml
#刪除mac地址
sed -i '/<mac address/d' /tmp/${new_vm}.xml
#修改磁盤路徑
sed -ri "s#(<source file=')(.*)('/>)#\1${disk_tmp}/${new_vm}.qcow2\3#g" /tmp/${new_vm}.xml
#c:導(dǎo)入虛擬機(jī)并進(jìn)行啟動(dòng)測(cè)試
virsh define /tmp/${new_vm}.xml
virsh start ${new_vm}
4.8:kvm虛擬機(jī)的橋接網(wǎng)絡(luò)
默認(rèn)的虛擬機(jī)網(wǎng)絡(luò)是NAT模式,網(wǎng)段192.168.122.0/24
4.8.1:創(chuàng)建橋接網(wǎng)卡
創(chuàng)建橋接網(wǎng)卡命令 virsh iface-bridge eth0 br0 取消橋接網(wǎng)卡命令 virsh iface-unbridge br0
4.8.2 新虛擬機(jī)使用橋接模式
默認(rèn)NAT模式
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --memory 1024 --vcpus 1 --disk /opt/web04.qcow2 --boot hd --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
橋接模式
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --memory 1024 --vcpus 1 --disk /data/web04.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole
問題1:
如果虛擬機(jī)獲取不到ip地址:
4.8.3 將已有虛擬機(jī)網(wǎng)絡(luò)修改為橋接模式
a:關(guān)機(jī)狀態(tài)下修改虛擬機(jī)配置文件:
例如:virsh edit centos7
<interface type='bridge'>
<source bridge='br0'/>
b:?jiǎn)?dòng)虛擬機(jī)丹莲,測(cè)試虛擬機(jī)網(wǎng)絡(luò)
如果上層沒有開啟dhcp,需要手動(dòng)配置ip地址,IPADDR,NATMASK.GATEWAY,DNS1=180.76.76.76
[圖片上傳失敗...(image-88df15-1590319838231)]
4.9:熱添加技術(shù)
熱添加硬盤光坝、網(wǎng)卡尸诽、內(nèi)存、cpu
4.9.1 kvm熱添加硬盤
臨時(shí)立即生效
virsh attach-disk web01 /data/web01-add.qcow2 vdb --subdriver qcow2
永久生效(需要重啟)
virsh attach-disk web01 /data/web01-add.qcow2 vdb --subdriver qcow2 --config
臨時(shí)剝離硬盤
virsh detach-disk web01 vdb
永久剝離硬盤
virsh detach-disk web01 vdb --config
擴(kuò)容: 在虛擬機(jī)里把擴(kuò)容盤的掛載目錄盯另,卸載掉 在宿主機(jī)上剝離硬盤virsh detach-disk web01 vdb 在宿主機(jī)上調(diào)整容量qemu-img resize 在宿主機(jī)上再次附加硬盤virsh attach-disk web01 /data/web01-add.qcow2 vdb --subdriver qcow2 在虛擬機(jī)里再次掛載擴(kuò)容盤 在虛擬機(jī)里用xfs_growfs更新擴(kuò)容盤超級(jí)塊信息
作業(yè)1:擴(kuò)容kvm虛擬機(jī)的根分區(qū)
4.9.2 kvm虛擬機(jī)在線熱添加網(wǎng)卡
virsh attach-interface web04 --type bridge --source br0 --model virtio
virsh attach-interface web04 --type bridge --source br0 --model virtio --config
virsh detach-interface web04 --type bridge --mac 52:54:00:35:d3:71
4.9.3 kvm虛擬機(jī)在線熱添加內(nèi)存
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --memory 512,maxmemory=2048 --vcpus 1 --disk /data/web04.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole
臨時(shí)熱添加內(nèi)存 virsh setmem web04 1024M 永久增大內(nèi)存 virsh setmem web04 1024M --config
調(diào)整虛擬機(jī)內(nèi)存最大值
virsh setmaxmem web04 4G
4.9.4 kvm虛擬機(jī)在線熱添加cpu
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --memory 512,maxmemory=2048 --vcpus 1,maxvcpus=10 --disk /data/web04.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole 熱添加cpu核數(shù) virsh setvcpus web04 4 永久添加cpu核數(shù) virsh setvcpus web04 4 --config
調(diào)整虛擬機(jī)cpu的最大值
virsh setvcpus web01 --maximum 4 --config
4.10:kvm虛擬機(jī)的遷移
冷遷移
熱遷移