云計算的虛擬機不要掛起,不然上不了網(wǎng)
image
1. kvm虛擬機的橋接網(wǎng)絡(luò)
默認的虛擬機網(wǎng)絡(luò)是NAT模式,網(wǎng)段192.168.122.0/24
1.1 創(chuàng)建橋接網(wǎng)卡
創(chuàng)建橋接網(wǎng)卡命令
virsh iface-bridge eth0 br0
取消橋接網(wǎng)卡命令
virsh iface-unbridge br0
1.2 新虛擬機使用橋接模式
默認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
創(chuàng)建鏈接克隆生成虛擬機磁盤文件
qemu-img create -f qcow2 -b 49-web01.qcow2 49-web04.qcow2
創(chuàng)建橋接網(wǎng)卡命令
virsh iface-bridge eth0 br0
新虛擬機使用橋接模式
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web05 --memory 1024 --vcpus 1 --disk /data/web04.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole
imageimage
1.3 橋接和NAT原理圖
image
1.4 將已有虛擬機網(wǎng)絡(luò)修改為橋接模式
a:關(guān)機狀態(tài)下修改虛擬機配置文件:
例如:virsh edit centos7
<interface type='bridge'>
<source bridge='br0'/>
b:啟動虛擬機,測試虛擬機網(wǎng)絡(luò)
<interface type='network'>
<mac address='52:54:00:6e:d2:c9'/>
<source network='default'/>
2. 熱添加技術(shù)
熱添加硬盤、網(wǎng)卡、內(nèi)存、cpu
2.1 kvm熱添加硬盤
臨時生效
virsh attach-disk web01 /data/web01-add.qcow2 vdb --subdriver qcow2
永久生效 --config
virsh attach-disk web01 /data/web01-add.qcow2 vdb --subdriver qcow2 --config
臨時剝離硬盤
virsh detach-disk web01 vdb
永久剝離硬盤
virsh detach-disk web01 vdb --config
2.2 擴容:
virsh shutdown web05
qemu-img resize web05.qcow2 100G
qemu-img info web05.qcow2
virsh console web05
進入到kvm虛擬機
[root@localhost ~]# fdisk -l
[root@localhost ~]# mkfs.xfs /dev/vdb
[root@localhost ~]# mount /dev/vdb /mnt/
/dev/vdb 100G 33M 100G 1% /mnt
kvm虛擬機硬盤擴容規(guī)范
1.在kvm虛擬機里把擴容盤的掛載目錄,卸載掉
[root@localhost ~]# umount /mnt
2.在宿主機上剝離硬盤
[root@kvm01 /data]# virsh detach-disk web05 vdb
Disk detached successfully
3.在宿主機上調(diào)整容量
[root@kvm01 /data]# qemu-img resize web05.qcow2 200G
Image resized.
4.在宿主機上再次附加硬盤
[root@kvm01 /data]# virsh attach-disk web05 /data/web05.qcow2 vdb --subdriver qcow2
Disk attached successfully
5.在虛擬機里再次掛載擴容盤
[root@localhost ~]# mount /dev/vdb /mnt
[root@localhost ~]# df -h
/dev/vdb 100G 33M 100G 1% /mnt
6.在虛擬機里用xfs_growfs更新擴容盤超級塊信息
[root@localhost ~]# xfs_growfs /dev/vdb
data blocks changed from 26214400 to 52428800
[root@localhost ~]# df -h
/dev/vdb 200G 33M 200G 1% /m 擴容為200G
練習(xí)1:擴容kvm虛擬機的根分區(qū)
關(guān)閉虛擬機
shutdown -h now
在宿主機上執(zhí)行操作
[root@kvm01 /data]# qemu-img resize web04.qcow2 50G
[root@kvm02 /data]# qemu-img info web04.qcow2
image: web04.qcow2
file format: qcow2
virtual size: 50G (53687091200 bytes)
disk size: 439M
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
[root@kvm02 /data]# virsh start web04
[root@kvm02 /data]# virsh console web04
Connected to domain web04
Escape character is ^]
...
[root@localhost ~]# df -h
[root@localhost ~]# fdisk -l
[root@localhost ~]# fdisk /dev/vda
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): d
Selected partition 1
Partition 1 is deleted
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-104857599, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-104857599, default 104857599):
Using default value 104857599
Partition 1 of type Linux and of size 50 GiB is set
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@localhost ~]# reboot 重新添加分區(qū)后重啟
[root@localhost ~]# xfs_growfs /dev/vda1 更新超級塊
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 50G 915M 50G 2% /
2.3kvm虛擬機在線熱添加和刪除網(wǎng)卡
創(chuàng)建虛擬機:
[root@kvm01 /data]# virsh destroy web04
[root@kvm01 /data]# virsh undefine web04
[root@kvm01 /data]# virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --memory 1024,maxmemory=2048 --vcpus 1 --disk /data/web04.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole
在宿主機上添加網(wǎng)卡:
virsh attach-interface web04 bridge br0
virsh attach-interface web04 bridge br0 --model virtio
# --model virtio 此產(chǎn)參數(shù)可以修改網(wǎng)卡名稱為eth*
在宿主機上刪除網(wǎng)卡:刪除虛擬機每張網(wǎng)卡的mca地址
virsh detach-interface web04 bridge --mac 52:54:00:68:68:40
virsh detach-interface web04 bridge --mac 52:54:00:a8:72:44
# 只剩下一塊網(wǎng)卡時不需要加mac地址,直接刪除即可
上面的操作臨時生效,下次重啟后恢復(fù),可以添加--config參數(shù)使永久生效
virsh attach-interface web04 bridge br0 --model virtio --config
imageimage
2.4 kvm虛擬機在線熱添加內(nèi)存
臨時熱添加內(nèi)存
virsh setmem web03 1024M
永久增大內(nèi)存
virsh setmem web03 1024M --config
刪除web03這臺虛擬機:
[root@kvm02 /data]# virsh destroy web03
[root@kvm02 /data]# virsh undefine web03
再次創(chuàng)建web03虛擬機 設(shè)置最大內(nèi)存maxmemory=2048:
[root@kvm02 /data]# virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web03 --memory 512,maxmemory=2048 --vcpus 1 --disk /data/web03.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole
[root@kvm02 /data]# virsh list
Id Name State
----------------------------------------------------
2 web04 running
4 web03 running
連接web03查看內(nèi)存情況
[root@kvm02 /data]# virsh console web03
...
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 465 63 297 8 104 280
Swap: 0 0 0
在宿主機上修改內(nèi)存大小為1024M
[root@kvm02 /data]# virsh setmem web03 1024M
在web03虛擬機上查看內(nèi)存已經(jīng)變大了
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 977 63 808 8 104 791
Swap: 0 0 0
再增加為2048M
[root@kvm02 /data]# virsh setmem web03 2048M
再次查看虛擬機內(nèi)存變大了
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 2001 63 1832 8 104 1816
Swap: 0 0 0
1.如果修改的內(nèi)存超過了設(shè)置的最大值,則報錯
[root@kvm02 /data]# virsh setmem web03 4096M
error: invalid argument: cannot set memory higher than max memory
2.如果將虛擬機關(guān)機后增加內(nèi)存是可以調(diào)整的,但是超過宿主機的最大內(nèi)存的話,會導(dǎo)致不能啟動
3.如果修改的內(nèi)存過小,則會讓虛擬機奔潰掉
2.5 kvm虛擬機在線熱添加cpu
setvcpus 核心數(shù)
setvcpu 特性
熱添加cpu核數(shù)
virsh setvcpus web04 4
永久添加cpu核數(shù)
virsh setvcpus web04 4 --config
image
先把虛擬機web03刪除掉:
virsh destroy web03
virsh undefine web03
創(chuàng)建web03虛擬機:
[root@kvm02 /data]# virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web03 --memory 512,maxmemory=2048 --vcpus 1,maxvcpus=10 --disk /data/web03.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole
登錄到虛擬機web03查看cpu核心數(shù)
[root@kvm02 /data]# virsh console web03
...
[root@localhost ~]# lscpu |head -5
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 1 #當(dāng)前為1核心
On-line CPU(s) list: 0
在宿主機上增加web03虛擬機的cpu核心數(shù)為2核
[root@kvm02 /data]# virsh setvcpus web03 2
查看虛擬機web03的cpu核心數(shù)
[root@localhost ~]# lscpu |head -5
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2 #改為2核心
On-line CPU(s) list: 0,1
修改虛擬機的cpu核心數(shù)為4核
[root@kvm02 /data]# virsh setvcpus web03 4
再次查看虛擬機cpu
[root@localhost ~]# lscpu |head -5
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
image
3. 熱遷移 (共享的網(wǎng)絡(luò)文件系統(tǒng))
kvm虛擬機熱遷移資料
web04.qcow2 的環(huán)境下載鏈接: 提取碼: sw23
冷遷移
1.關(guān)機
2.備份配置文件
3.scp傳輸配置文件和磁盤文件,傳輸?shù)叫碌乃拗鳈C
4.virsh define web04.xml
5.啟動
熱遷移
kvm虛擬機:配置文件,nfs共享
詳細步驟
| 環(huán)境要求: | |||||
|---|---|---|---|---|---|
| 主機名 | ip | 內(nèi)存 | 網(wǎng)絡(luò) | 軟件需求 | 虛擬化 |
| kvm01 | 10.0.0.11 | 2G | 創(chuàng)建br0橋接網(wǎng)卡 | kvm和nfs | 開啟虛擬化 |
| kvm02 | 10.0.0.12 | 2G | 創(chuàng)建br0橋接網(wǎng)卡 | kvm和nfs | 開啟虛擬化 |
| nfs01 | 10.0.0.31 | 1G | 無 | nfs | 無 |
kvm虛擬機熱遷移大體步驟規(guī)劃
- 兩邊的環(huán)境(橋接網(wǎng)卡)
- 實現(xiàn)共享存儲(nfs)
- 虛擬機橋接網(wǎng)絡(luò)
- 在線熱遷移
注意:需要互相做好host解析 ↓
不然后面可能有報錯,會因為主機名重復(fù)嗎,
修改主機名:
hostnamectl set-hostname kvm01 或 kvm02
kvm01和kvm02宿主機都添加host解析:
[root@kvm01 ~]# cat /etc/hosts
192.168.37.202 mirrors.aliyun.com
10.0.0.11 kvm01
10.0.0.12 kvm02
scp -rp /etc/hosts 10.0.0.12:/etc/
3.1 清理當(dāng)前的宿主機環(huán)境,保證一個干凈的環(huán)境測試
保留一個配置文件web04.qcow2,將/opt/下和/data/下的其余全部刪除掉
[root@kvm01 ~]# rm -rf /opt/*
[root@kvm01 ~]# mv /data/web04.qcow2 /opt/
[root@kvm01 ~]# rm -rf /data/*
[root@kvm01 ~]# mv /opt/web04.qcow2 /data/
[root@kvm01 ~]# ll /data/
total 450688
-rw-r--r-- 1 qemu qemu 459800576 Sep 3 17:08 web04.qcow2
刪除所有的配置文件:
[root@kvm01 /data]# rm -rf /etc/libvirt/qemu/*.xml
[root@kvm01 /data]# systemctl restart libvirtd
[root@kvm01 /data]# virsh list --all
Id Name State
----------------------------------------------------
\\沒有虛擬機了
#想kvm01宿主機關(guān)機
[root@kvm01 /data]# shutdown -h now
3.2 調(diào)整宿主機 并克隆第二臺kvm02宿主機和nfs01共享主機
調(diào)整內(nèi)存大小后,克隆兩臺主機,分別為kvm02和nfs01
image
image
開機后修改IP地址并重啟網(wǎng)卡
因為是橋接網(wǎng)卡,索引網(wǎng)卡修改路徑是
vim /etc/sysconfig/network-scripts/ifcfg-br0
systemctl restark network
kvm01 默認 10.0.0.11
kvm02 修改為10.0.0.12
nfs01 修改為10.0.0.31
3.3 給三臺主機同時安裝nfs環(huán)境
yum install nfs-utils rpcbind
如果沒有網(wǎng)絡(luò)可能是dhcp的原因,暫時關(guān)掉
image
3.4 配置nfs服務(wù)端(nfs01上)
添加配置文件(async異步同步,性能更高)
[root@nfs01 ~]# vim /etc/exports
/data 10.0.0.0/24(rw,async,no_root_squash,no_all_squash)
重啟
[root@nfs01 ~]# systemctl restart rpcbind
[root@nfs01 ~]# systemctl restart nfs
創(chuàng)建/data目錄
[root@nfs01 ~]# mkdir /data
去kvm01和02上檢查是否連接nfs
[root@kvm01 /data]# showmount -e 10.0.0.31
Export list for 10.0.0.31:
/data 10.0.0.0/24
[root@kvm02 /data]# showmount -e 10.0.0.31
Export list for 10.0.0.31:
/data 10.0.0.0/24
3.5 掛載并測試
kvm01上:
[root@kvm01 ~]# mount -t nfs 10.0.0.31:/data/ /data/
[root@kvm01 ~]# df -h
10.0.0.31:/data 48G 2.2G 46G 5% /data
kvm02上:
[root@kvm02 /data]# mount -t nfs 10.0.0.31:/data/ /data/
[root@kvm02 /data]# df -h
10.0.0.31:/data 48G 2.2G 46G 5% /data
查看nfs01的/data目錄是否同步之前的文件:
[root@nfs01 ~]# ll -h /data/
total 446M
-rw-r--r-- 1 107 107 6.3M Sep 3 22:14 web03.qcow2
-rw-r--r-- 1 107 107 439M Sep 3 22:24 web04.qcow2
3.6 將虛擬機從kvm02宿主機遷移到kvm01宿主機上
虛擬機都在kvm02上:
[root@kvm02 /data]# virsh list
Id Name State
----------------------------------------------------
2 web04 running
6 web03 running
當(dāng)前的kvm01上沒有虛擬機:
[root@kvm01 ~]# virsh list --all
Id Name State
----------------------------------------------------
執(zhí)行遷移的命令 (將kvm02上的web03遷移到10.0.0.11宿主機上)
[root@kvm02 /data]# virsh migrate --live --verbose web03 qemu+ssh://10.0.0.11/system --unsafe
root@10.0.0.11's password:
Migration: [100 %]
在kvm01上查看web03虛擬機已遷移過來了
[root@kvm01 ~]# virsh list
Id Name State
----------------------------------------------------
3 web03 running
登錄web03上修改網(wǎng)卡配置文件
[root@kvm01 ~]# virsh console web03
[root@localhost ~]# sed -i 's#dhcp#static#' /etc/sysconfig/network-scripts/ifcfg-eth0
添加下面的內(nèi)容到網(wǎng)卡配置中
IPADDR=10.0.0.129
GATEWAY=10.0.0.254
NETMASK=255.255.255.0
DNS1=223.5.5.5
重啟網(wǎng)卡
systemctl restart network
3.7 再次將遷移過到kvm01上的web03虛擬機遷移回kvm02上
遷移到10.0.0.12的kvm02宿主機上:
[root@kvm01 ~]# virsh migrate --live --verbose web03 qemu+ssh://10.0.0.12/system --unsafe
root@10.0.0.12's password:
Migration: [100 %]
[root@kvm01 ~]# virsh list
Id Name State
----------------------------------------------------
在kvm02宿主機上查看已經(jīng)遷移回來了:
[root@kvm02 /data]# virsh list
Id Name State
----------------------------------------------------
2 web04 running
7 web03 running
遷移過程中會丟包
image
4. 安裝ESXI并安裝一臺虛擬機
4.1 安裝ESXI
新建虛擬機
image
添加鏡像
鏡像網(wǎng)盤提取碼: mhtx
VMware-viclient網(wǎng)盤下載鏈接 提取碼: jfcr
image
image
image
image
image
image
image
image
image
image
image
image
image
image

image
image
image
用VMware vSphere軟件連接
image
image
image
image
image
image
image
image
image
image
image
image

image
image
image
ESXI的常用配置
開啟ssh功能
imageimageimage
點擊啟動后去控制臺操作
image
4.2 下面是按照centos6的步驟
image
image
image
image
image
image
image
image
image
image
image
image
image
等待安裝好后就可以操作使用了
5. 練習(xí)
5.1 將kvm虛擬機遷移到esxi上
qemu-img convert -f qcow2 oldimage.qcow2 -O vmdk newimage.vmdk
#可能不需要
vmkfstools -i oldimage.vmdk newimage.vmdk -d thin
5.2 將ESXI虛擬機遷移到kvm上
將虛擬機導(dǎo)出ova文件
virt-v2v -i ova centos-dev-test01-v2v.ova -o local -os /opt/test -of qcow2
5.3 問題與需求總結(jié)
kvm宿主機 2000臺
查看每一個宿主機有多少臺虛擬機?
查看每一個宿主機還剩多少資源?
查看每一臺宿主機,每一個虛擬機的ip地址? excel 資產(chǎn)管理
kvm管理平臺,數(shù)據(jù)庫工具
信息:宿主機,總配置,剩余的總配置
虛擬機的信息,配置信息,ip地址,操作系統(tǒng)
帶計費功能的kvm管理平臺,openstack ceilometer計費 ecs IAAS層
自動化管理kvm宿主機,云主機定制化操作
服務(wù)器, 20核心 1T內(nèi)存 96T
資源浪費,linux環(huán)境特別亂,,kvm虛擬機

