1:什么是云計(jì)算?
云計(jì)算是一種按量付費(fèi)的模式!云計(jì)算的底層是通過虛擬化技術(shù)來實(shí)現(xiàn)的!
2:云計(jì)算的服務(wù)類型
2.1 IAAS 基礎(chǔ)設(shè)施即服務(wù) 虛擬機(jī) ecs openstack
2.2 PAAS 平臺(tái)即服務(wù) php,java docker容器
2.3 SAAS 軟件即服務(wù) 企業(yè)郵箱服務(wù) cdn服務(wù) rds數(shù)據(jù)庫 開發(fā)+運(yùn)維

image.png
3:為什么要用云計(jì)算
小公司:10臺(tái) 20w+ idc 5w + 100M 10W, 10臺(tái)云主機(jī),前期投入小,擴(kuò)展靈活,風(fēng)險(xiǎn)小
大公司:閑置服務(wù)器計(jì)算資源,虛擬機(jī),出租(超賣計(jì)算)
64G 服務(wù)器 64臺(tái)1G 320臺(tái)1G
國企,銀行
4:云計(jì)算的基礎(chǔ)KVM虛擬化
宿主機(jī):內(nèi)存4G+ 純凈的系統(tǒng)CentOS-7
4.1:什么是虛擬化?
虛擬化,通過模擬計(jì)算機(jī)的硬件,來實(shí)現(xiàn)在同一臺(tái)計(jì)算機(jī)上同時(shí)運(yùn)行多個(gè)不同的操作系統(tǒng)的技術(shù)。
4.2 :虛擬化軟件的差別
虛擬化軟件: qemu 軟件純模擬全虛擬化軟件,特別慢!AIX,兼容性好! xen(半) 性能特別好,需要使用專門修改
之后的內(nèi)核,兼容性差! redhat 5.5 xen kvm KVM(linux) 全虛擬機(jī),它有硬件支持cpu,基于內(nèi)核,而且不需要
使用專門的內(nèi)核 centos6 kvm 性能較好,兼容較好
4.3 安裝kvm虛擬化管理工具
KVM:Kernel-based Virtual Machine
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
vmware 宿主機(jī) kvm虛擬機(jī)
內(nèi)存4G,cpu開啟虛擬化

image.png
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ī)
分發(fā)軟件TightVNC或者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

image.png
云主機(jī)都沒有swap分區(qū)

image.png
4.5:kvm虛擬機(jī)的virsh日常管理和配置
列表list(--all) 開機(jī)start 關(guān)機(jī)shutdown 拔電源關(guān)機(jī)destroy 重啟reboot
導(dǎo)出配置dumpxml 例子:virsh dumpxml centos7 >centos7-off.xml 刪除undefine 推薦:先destroy,在undefine
導(dǎo)入配置define
修改配置edit(自帶語法檢查)
重命名domrename (低版本不支持) 掛起suspend 恢復(fù)resume 查詢vnc端口號(hào)vncdisplay
kvm虛擬機(jī)開機(jī)啟動(dòng)
console 控制臺(tái) 登錄 kvm運(yùn)行業(yè)務(wù)程序 autostart
開機(jī)啟動(dòng)autostart,前提:systemctl enable libvirtd; 取消開機(jī)啟動(dòng)autostart --disable
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ī),在安裝的過程中需要
swap 200m,selinux禁用,取消swap
console命令行登錄
作業(yè)2:centos6實(shí)現(xiàn)沒有swap分區(qū),啟動(dòng)進(jìn)系統(tǒng)
4.6:kvm虛擬機(jī)虛擬磁盤格式轉(zhuǎn)換和快照管理
raw: 裸格式,占用空間比較大,不支持快照功能,性能較好,不方便傳輸 總50G 占用50G qcow2: cow(copy
on write)占用空間小,支持快照,性能比raw差一點(diǎn),方便傳輸 總50G 占用2G
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 convert [-f fmt] [-O output_fmt]
filename output_filename -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)擋:
cp centos2-clone.qcow2 web02.qcow2
virsh dumpxml web01 >web02.xml
vim web02.xml
#修改虛擬機(jī)的名字
#刪除虛擬機(jī)uuid
#刪除mac地址
#修改磁盤路徑
virsh define web02.xml
virsh start web02
4.7.2:鏈接克隆
a:生成虛擬機(jī)磁盤文件 qemu-img create -f qcow2 -b 49-web03.qcow2 49-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)測試
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)測試
virsh define /tmp/${new_vm}.xml
virsh start ${new_vm}
鏈接克?。?qemu-img create -f qcow2 -b 49-web03.qcow2 49-web04.qcow2
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --memory 1024 --vcpus 1 --disk
/opt/web04.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole
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地址:

image.png
4.8.3 將已有虛擬機(jī)網(wǎng)絡(luò)修改為橋接模式
a:關(guān)機(jī)狀態(tài)下修改虛擬機(jī)配置文件:
例如:virsh edit centos7
<interface type='bridge'>
<source bridge='br0'/>
b:啟動(dòng)虛擬機(jī),測試虛擬機(jī)網(wǎng)絡(luò)
4.9:熱添加技術(shù)
熱添加硬盤、網(wǎng)卡、內(nèi)存、cpu
4.9.1 kvm熱添加硬盤
臨時(shí)生效
virsh attach-disk web01 /data/web01-add.qcow2 vdb --subdriver qcow2
<interface type='bridge'>
<source bridge='br0'/>
永久生效
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ū)
作業(yè)2:誤刪centos7虛擬機(jī)系統(tǒng)文件rm -fr /lib64/libc.so.6,如何恢復(fù)?
4.9.2 kvm虛擬機(jī)在線熱添加網(wǎng)卡
virsh attach-interface web04 --type bridge --source br0 --model virtio 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
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
4.10:virt-manager和kvm虛擬機(jī)熱遷移(共享的網(wǎng)絡(luò)文件系統(tǒng))
冷遷移kvm虛擬機(jī):配置文件,磁盤文件
熱遷移kvm虛擬機(jī):配置文件,nfs共享
1): yum groupinstall "GNOME Desktop" -y yum install openssh-askpass -y
yum install tigervnc-server -y
vncpasswd vncserver :1 vncserver -kill :1
2):kvm虛擬機(jī)熱遷移 1:兩邊的環(huán)境(橋接網(wǎng)卡) 2:實(shí)現(xiàn)共享存儲(chǔ)(nfs) 3:虛擬機(jī)橋接網(wǎng)絡(luò) 4:在線熱遷移
5: ESXI虛擬化系統(tǒng)
5.1 安裝ESXI
5.1.1創(chuàng)建虛擬機(jī)

image.png

image.png

image.png

image.png
一路回車,直到

image.png
按F11

image.png
5.2啟動(dòng)ESXI

image.png
5.3 安裝ESXI客戶端

image.png
一路下一步就行

image.png
安裝完成
5.4使用客戶端連接EXSI服務(wù)端

image.png
連接成功界面

image.png
5.5了解ESXI的常用配置

image.png

image.png
開啟ssh功能

image.png

image.png

image.png
5.6安裝一臺(tái)ESXI虛擬機(jī)

image.png
5.7 將kvm虛擬機(jī)遷移到esxi上
qemu-img convert -f qcow2 oldimage.qcow2 -O vmdk newimage.vmdk
#可能不需要
vmkfstools -i oldimage.vmdk newimage.vmdk -d thin
5.8 將ESXI虛擬機(jī)遷移到kvm上
將虛擬機(jī)導(dǎo)出ova文件
virt-v2v -i ova centos-dev-test01-v2v.ova -o local -os /opt/test -of qcow2
kvm宿主機(jī) 2000臺(tái) 查看每一個(gè)宿主機(jī)有多少臺(tái)虛擬機(jī)? 查看每一個(gè)宿主機(jī)還剩多少資源? 查看每一臺(tái)宿主機(jī),每一個(gè)
虛擬機(jī)的ip地址?
excel 資產(chǎn)管理
kvm管理平臺(tái),數(shù)據(jù)庫工具
信息:宿主機(jī),總配置,剩余的總配置 虛擬機(jī)的信息,配置信息,ip地址,操作系統(tǒng)
帶計(jì)費(fèi)功能的kvm管理平臺(tái),openstack ceilometer計(jì)費(fèi) ecs IAAS層 自動(dòng)化管理kvm宿主機(jī),云主機(jī)定制化操作
服務(wù)器, 20核心 1T內(nèi)存 96T
資源浪費(fèi),linux環(huán)境特別亂,,kvm虛擬機(jī)
6.使用腳本自動(dòng)化部署openstack M版
部署openstack 克隆一臺(tái)openstack模板機(jī):
all-in-one
4G內(nèi)存,開啟虛擬化,掛載centos7.6的光盤

image.png
1.虛擬機(jī)開機(jī)之后,修改ip地址為10.0.0.11
2.上傳腳本openstack-mitaka-autoinstall.sh到/root目錄 上傳鏡像:cirros-0.3.4-x86_64-disk.img到/root目錄 上傳配
置文件:local_settings到/root目錄 上傳openstack_rpm.tar.gz到/root下, tar xf openstack_rpm.tar.gz -C /opt/
3.sh /root/openstack-mitaka-autoinstall.sh 大概10-30分鐘左右 訪問4.http://10.0.0.11/dashboard 域:default 用戶
名:admin 密碼:ADMIN_PASS
注意: 在windows系統(tǒng)上修改host解析(10.0.0.11 controller)
5.添加node節(jié)點(diǎn): 修改ip地址 hostnamectl set-hostname compute1 重新登錄讓新主機(jī)名生效 cd /opt/ rsync -avz
10.0.0.11:/opt/repo .
6.上傳腳本 openstack_node_autoinstall.sh
7.sh openstack_node_autoinstall.sh <node節(jié)點(diǎn)ip>
8.openstack controller主控制節(jié)點(diǎn),
node節(jié)點(diǎn), kvm宿主機(jī)
node節(jié)點(diǎn), kvm宿主機(jī)
node節(jié)點(diǎn), kvm宿主機(jī)
node節(jié)點(diǎn), kvm宿主機(jī)
node節(jié)點(diǎn), kvm宿主機(jī)