运维最新云计算day02-KVM_--noautoconsole(1),【大牛系列教学】

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

1.在kvm虚拟机里把扩容盘的挂载目录,卸载掉
[root@localhost ~]# umount /mnt

2.在宿主机上剥离硬盘
[root@kvm01 /data]# virsh detach-disk web05 vdb
Disk detached successfully

3.在宿主机上调整容量
[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

练习1:扩容kvm虚拟机的根分区

链接

关闭虚拟机
shutdown -h now

在宿主机上执行操作
[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		重新添加分区后重启
[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虚拟机在线热添加和删除网卡
创建虚拟机:
[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

在宿主机上添加网卡:
virsh attach-interface web04 bridge br0
virsh attach-interface web04 bridge br0 --model  virtio
# --model virtio 	此产参数可以修改网卡名称为eth\*

在宿主机上删除网卡:删除虚拟机每张网卡的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
# 只剩下一块网卡时不需要加mac地址,直接删除即可


上面的操作临时生效,下次重启后恢复,可以添加--config参数使永久生效
virsh attach-interface web04 bridge br0 --model  virtio --config


在这里插入图片描述在这里插入图片描述

2.4 kvm虚拟机在线热添加内存
临时热添加内存
virsh setmem web03 1024M 
永久增大内存
virsh setmem web03 1024M --config

删除web03这台虚拟机:
[root@kvm02 /data]# virsh destroy web03
[root@kvm02 /data]# virsh undefine web03 

再次创建web03虚拟机 设置最大内存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查看内存情况
[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

在宿主机上修改内存大小为1024M
[root@kvm02 /data]# virsh setmem web03 1024M

在web03虚拟机上查看内存已经变大了
[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

再次查看虚拟机内存变大了
[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           2001          63        1832           8         104        1816
Swap:             0           0           0


1.如果修改的内存超过了设置的最大值,则报错
[root@kvm02 /data]# virsh setmem web03 4096M
error: invalid argument: cannot set memory higher than max memory

2.如果将虚拟机关机后增加内存是可以调整的,但是超过宿主机的最大内存的话,会导致不能启动
3.如果修改的内存过小,则会让虚拟机奔溃掉


2.5 kvm虚拟机在线热添加cpu
setvcpus 	核心数
setvcpu		特性

热添加cpu核数
virsh setvcpus web04 4 
永久添加cpu核数
virsh setvcpus web04 4 --config

在这里插入图片描述

先把虚拟机web03删除掉:
virsh destroy web03 
virsh undefine web03 

创建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核心数
[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	#当前为1核心
On-line CPU(s) list:   0

在宿主机上增加web03虚拟机的cpu核心数为2核
[root@kvm02 /data]# virsh setvcpus web03 2

查看虚拟机web03的cpu核心数
[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核心数为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

在这里插入图片描述


3. 热迁移 (共享的网络文件系统)

kvm虚拟机热迁移资料—old强哥
web04.qcow2 的环境下载链接: 提取码: sw23

冷迁移
1.关机
2.备份配置文件
3.scp传输配置文件和磁盘文件,传输到新的宿主机
4.virsh define web04.xml
5.启动

热迁移
kvm虚拟机:配置文件,nfs共享


详细步骤
环境要求:
主机名ip内存网络软件需求虚拟化
kvm0110.0.0.112G创建br0桥接网卡kvm和nfs开启虚拟化
kvm0210.0.0.122G创建br0桥接网卡kvm和nfs开启虚拟化
nfs0110.0.0.311Gnfs

kvm虚拟机热迁移大体步骤规划

  • 两边的环境(桥接网卡)
  • 实现共享存储(nfs)
  • 虚拟机桥接网络
  • 在线热迁移

注意:需要互相做好host解析 ↓

不然后面可能有报错,会因为主机名重复吗,
修改主机名:
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 清理当前的宿主机环境,保证一个干净的环境测试
保留一个配置文件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宿主机关机
[root@kvm01 /data]# shutdown -h now


3.2 调整宿主机 并克隆第二台kvm02宿主机和nfs01共享主机

调整内存大小后,克隆两台主机,分别为kvm02和nfs01
在这里插入图片描述
在这里插入图片描述

开机后修改IP地址并重启网卡

因为是桥接网卡,索引网卡修改路径是
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环境
yum install nfs-utils rpcbind 

如果没有网络可能是dhcp的原因,暂时关掉
在这里插入图片描述

3.4 配置nfs服务端(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

创建/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


当前的kvm01上没有虚拟机:
[root@kvm01 ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------

执行迁移的命令 (将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上修改网卡配置文件
[root@kvm01 ~]# virsh console web03 
[root@localhost ~]# sed -i 's#dhcp#static#' /etc/sysconfig/network-scripts/ifcfg-eth0

添加下面的内容到网卡配置中
IPADDR=10.0.0.129
GATEWAY=10.0.0.254
NETMASK=255.255.255.0
DNS1=223.5.5.5

重启网卡
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宿主机上查看已经迁移回来了:
[root@kvm02 /data]# virsh list 
 Id    Name                           State
----------------------------------------------------
 2     web04                          running
 7     web03                          running

迁移过程中会丢包
在这里插入图片描述


4. 安装ESXI并安装一台虚拟机

4.1 安装ESXI

新建虚拟机

在这里插入图片描述

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

给大家整理的电子书资料:

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3MjQyNTIw,size_16,color_FFFFFF,t_70)

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

[外链图片转存中…(img-gyZ7S4jN-1715575040785)]

给大家整理的电子书资料:

[外链图片转存中…(img-eBFhJK50-1715575040786)]

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 25
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值