软件包自取:
链接:https://pan.baidu.com/s/1_zpjc6NDMObx7j5ptEJtfQ
提取码:ke5c
复制这段内容后打开百度网盘手机App,操作更方便哦
1.什么是云计算
云计算是一种按量付费的模式,云计算的底层是通过虚拟化技术来实现的!
2.云计算的服务类型
IAAS 基础设施即服务 虚拟机 ecs openstack
PAAS 平台即服务 php,java docker容器
SAAS 软件即服务 企业邮箱服务 cdn服务 rds数据库 开发+运维
3.为什么使用云计算
小公司:10台 20w+ idc 5w + 100M 10W, 10台云主机,
优点: 前期投入小,扩展灵活,风险小
大公司:闲置服务器计算资源,虚拟机,出租(超卖计算)
64G 服务器 64台1G 320台1G
国企,银行
4.云计算的基础KVM虚拟化
宿主机:内存4G+ 纯净的系统CentOS-7
===========================================================
4.1:什么是虚拟化?
虚拟化,通过模拟计算机的硬件,来实现在同一台计算机上同时运行多个不同的操作系统的技术。
===========================================================
4.2 :虚拟化软件的差别
虚拟化软件:
qemu 软件纯模拟全虚拟化软件,不借助CPU,特别慢!AIX,兼容性好!
xen(半) 性能特别好,需要使用专门修改之后的内核,兼容性差! redhat 5.5 xen
kvmKVM(linux) 全虚拟机,它有硬件支持cpu,基于内核,而且不需要使用专门的内核 centos6 kvm性能较好,兼容较好
===========================================================
4.3 安装kvm虚拟化管理工具
介绍:KVM:Kernel-based Virtual Machine
环境要求:
centos 7.4 7.6
vmware 宿主机 kvm虚拟机
内存4G,cpu开启虚拟化
具体配置要求(学习使用,在生产环境中可根据需求自行更改)
kvm的安装以及使用
安装软件包:
配置一下yum源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
下载kvm所需的软件
yum install libvirt virt-install qemu-kvm -y
KVM:Kernel-based Virtual Machine:
libvirt 作用:虚拟机的管理软件libvirt: kvm,xen,qemu,lxc....
virt virt-install virt-clone 作用:虚拟机的安装工具和克隆工具
qemu-kvm qemu-img (qcow2,raw) 作用:管理虚拟机的虚拟磁盘
4.4.安装一台kvm虚拟机
分发软件TightVNC或者VNC-Viewer-6.19.325
宿主机
微软的远程桌面
vnc:远程的桌面管理工具
微软的远程桌面启动命令
systemctl start libvirtd.service
systemctl status libvirtd.service
10.0.0.11 宿主机
建议虚拟机内存不要低于1024M,否则安装系统特别慢!
安装vnc的软件
创建运行一台虚拟机:
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-Minimal-1511.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 #系统类型
--os-variant rhel7 #系统版本
--name centos7 #虚拟机的名字 --memory 1024 虚拟机的内存
--vcpus 1 #虚拟cpu的核数
--disk /opt/centos2.raw,format=raw,size=10 #硬盘和指定路径
--cdrom /opt/CentOS-7-x86_64-DVD-1708.iso #光驱镜像存放路径
--network network=default #使用默认NAT的网络
--graphics vnc,listen=0.0.0.0 #vnc设置
--noautoconsole
虚拟机运行起来会监听一个端口: 5900
[root@kvm01 opt]# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN 24230/qemu-kvm
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 24125/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 6856/sshd
tcp6 0 0 :::111 :::* LISTEN 1/systemd
tcp6 0 0 :::22 :::* LISTEN 6856/sshd
udp 0 0 192.168.122.1:53 0.0.0.0:* 24125/dnsmasq
udp 0 0 0.0.0.0:67 0.0.0.0:* 24125/dnsmasq
udp 0 0 0.0.0.0:111 0.0.0.0:* 1/systemd
udp 0 0 127.0.0.1:323 0.0.0.0:* 5152/chronyd
udp6 0 0 :::111 :::* 1/systemd
udp6 0 0 ::1:323 :::* 5152/chronyd
然后安装VNC,连接
软件包在本文章开头自取
连接以后开始进行安装 只需修改这四项
最后等待安装即可
安装完以后重启端口会宕掉,执行启动,然后vnc就可以连接啦
[root@kvm01 opt]# virsh start centos7
Domain centos7 started
双击创建好的虚拟机,输入账号密码
4.5 kvm虚拟机的virsh日常管理和配置
1.查看虚拟机列表
[root@kvm01 opt]# virsh list
Id Name State
----------------------------------------------------
2 centos7 running
2.查看所有虚拟机已经运行状态
[root@kvm01 opt]# virsh list --all
Id Name State
----------------------------------------------------
2 centos7 running
3.启动虚拟机
[root@kvm01 opt]# virsh start centos7
Domain centos7 started
4.关闭虚拟机
[root@kvm01 ~]# virsh shutdown centos7
Domain centos7 is being shutdown
5.类似于拔掉电源关机
[root@kvm01 ~]# virsh destroy centos7
Domain centos7 destroyed
6.重启虚拟机
[root@kvm01 ~]# virsh reboot centos7
Domain centos7 is being rebooted
7.磁盘文件以及大小
[root@kvm01 ~]# cd /opt/
[root@kvm01 opt]# ll -h
total 1.6G
-rw------- 1 qemu qemu 10G Feb 28 16:55 centos2.raw #磁盘文件
-rw-r--r-- 1 qemu qemu 603M Sep 2 10:57 CentOS-7-x86_64-Minimal-1511.iso
8.虚拟机配置文件存放路径
[root@kvm01 opt]# ls /etc/libvirt/qemu/centos7.xml
/etc/libvirt/qemu/centos7.xml
####先destroy,然后在 undefine
9.备份导出配置文件
[root@kvm01 opt]# virsh dumpxml centos7 >centos7.xml
[root@kvm01 opt]# ll
total 1638120
-rw------- 1 qemu qemu 10737418240 Feb 28 16:59 centos2.raw
-rw-r--r-- 1 qemu qemu 632291328 Sep 2 10:57 CentOS-7-x86_64-Minimal-1511.iso
-rw-r--r-- 1 root root 5014 Feb 28 16:59 centos7.xml
10.删除虚拟机
[root@kvm01 opt]# virsh undefine centos7 #有自动检查语法的功能
Domain centos7 has been undefined
11.重新导入虚拟机
[root@kvm01 opt]# virsh define centos7.xml
Domain centos7 defined from centos7.xml
12.修改配置
[root@kvm01 opt]# virsh edit centos7
#假设有天因为虚拟机太多,想创建新的目录存放新的虚拟机或者是将旧的移出来还还能正常使用,
使用virsh edit centos7 修改配置文件,在文件中找到 将目录存放路径
进行修改即可正常使用。
13.修改名字,正在运行的虚拟机是不能直接修改的名字的,先将他停掉然后在修改
[root@kvm01 opt]# virsh destroy centos7 #低版本不支持
Domain centos7 destroyed
[root@kvm01 opt]# virsh domrename centos7 centos2
Domain successfully renamed
[root@kvm01 opt]# virsh list --all
Id Name State
----------------------------------------------------
- centos2 shut off
14.暂停和恢主机
[root@kvm01 ~]# virsh suspend centos2 #暂停
Domain centos2 suspended
[root@kvm01 ~]# virsh list --all
Id Name State
----------------------------------------------------
7 centos2 paused
[root@kvm01 ~]# virsh resume centos2 #恢复
Domain centos2 resumed
[root@kvm01 ~]# virsh list --all
Id Name State
----------------------------------------------------
7 centos2 running
#如果以后云主机费用不足时引起的时间不同步,
方法一:修改一个配置文件
[root@kvm01 ~]# netstat -lntup #会有一个这样的进程
udp6 0 0 ::1:323 :::* 5152/chronyd
[root@kvm01 ~]# vim /etc/chrony.conf #设置上游时间服务器 ,修改默认配置文件,修改此行
# These servers were defined in the installation:
server ntp5.aliyun.com iburst
方法二:设置定时任务
15.查看虚拟机端口号
[root@kvm01 ~]# virsh vncdisplay centos2 #从0开始,0=5900,以此类推
:0
16. kvm虚拟机开机自启动
不自启
[root@kvm01 ~]# virsh autostart --disable centos2
Domain centos2 unmarked as autostarted
方法一:libvirtd管理
[root@kvm01 ~]# virsh list --all
Id Name State
----------------------------------------------------
8 centos2 running
[root@kvm01 ~]# virsh destroy centos2
Domain centos2 destroyed
[root@kvm01 ~]# systemctl restart libvirtd
[root@kvm01 ~]# virsh list --all
Id Name State
----------------------------------------------------
1 centos2 running
方法二:创建一个软连接
[root@kvm01 ~]# ln -s /etc/libvirt/qemu/centos2.xml /etc/libvirt/qemu/autostart/
#如何知晓哪个主机开机自启
设置为开机自启动会在此路径下生成一个配置文件 autostart
[root@kvm01 ~]# ll /etc/libvirt/qemu/
total 8
drwxr-xr-x 2 root root 25 Mar 2 10:45 autostart
-rw------- 1 root root 4282 Feb 28 17:38 centos2.xml
drwx------ 3 root root 42 Feb 28 15:22 networks
然后查看就能清楚地看到是谁设置了开机自启动
[root@kvm01 ~]# ll /etc/libvirt/qemu/autostart/
total 0
lrwxrwxrwx 1 root root 29 Mar 2 10:45 centos2.xml -> /etc/libvirt/qemu/centos2.xml
#批量清楚开机自启动的标识
[root@kvm01 ~]# rm -rf /etc/libvirt/qemu/autostart/*
17.console纯命令行登录
修改内核参数之后reboot即可
[root@localhost ~]# cp /boot/grub2/grub.cfg /tmp/
[root@localhost ~]# grubby --update-kernel=ALL --args="console=ttsS0,115200n8"