1 云计算
1.1 什么是云计算?
云计算是按量付费的模式,云计算的底层是通过虚拟化技术来实现的!
云计算和虚拟化有什么不同?
答:俩者没可比性,云计算是一种模式,虚拟化是一门技术
云计算发展历史:
亚马孙AWS从2006年开始提供云计算服务,是最先提出云计算概念 阿里云在2008年创建云计算团队,2010年对外提供云计算服务和产品
1.2 云计算的服务类型
没有云计算之前,运维工作:了解底层硬件 + 操作系统 + 搭建运行环境 + 安装部署服务 + 代码上线 + 管理数据
IAAS 基础设施即服务(Infrastrcture As An Service)
云厂商提供:底层硬件 + 操作系统
运维工作:搭建运行环境 + 安装部署服务 + 代码上线 + 管理数据
IAAS服务产品:ECS云主机
PAAS 平台即服务(Plaftorm As An Service)
云厂商提供:底层硬件 + 操作系统 + 运行环境 + 安装部署服务
运维工作:代码上线 + 管理数据
PAAS服务产品:容器服务(k8s,docker)
SAAS 软件即服务(Software As An Service)
云厂商提供:底层硬件 + 操作系统 + 运行环境 + 安装部署服务 + 代码上线 + 管理数据
运维工作:更加关注架构优化设计,需要开发参与
PAAS服务产品:rdp数据库、企业邮箱服务、cnd服务
1.3 为什么用云计算?
小公司
没有云计算之前:运营成本高,扩展不灵活(raid,硬件),风险程度高 有了云计算之后:运营成本低,扩展灵活,风险程度低
大公司
出租闲置服务器计算资源
2 云计算的基础虚拟化KVM
2.1 什么是虚拟化技术?
虚拟化技术:通过模拟计算机硬件,实现在一台计算机上同时运行多个不同操作系统的技术
2.2 Linux平台虚拟化软件
qemu:虚拟化技术的鼻祖。依靠软件纯模拟全虚拟化软件,可以运行所有操作系统,兼容性好。运行特别慢! xen(半虚拟):性能特别好,但是没有模拟所有硬件,直接使用物理CPU,为了避免重启虚拟机reboot,物理机也会一起重启。需要使用专门的内核,会编译转换一些指令。(Redhat5.5之前) kvm:全虚拟化,有硬件支持CPU,内置在Linux内核模块,而且不需要使用专门的内核。性能比较好,兼容性比较好 VMware:图形化界面(windows) virtual box:图形化界面(Oracle)
2.3 安装KVM管理工具
虚拟机准备环境
| 主机名 | 磁盘大小 | 内存 | 准备工作 |
|---|---|---|---|
| kvm | 60G | 2G | CPU开启虚拟化 |
| kvm02 | 60G | 2G | CPU开启虚拟化 |
第一步:查看系统内核版本
uname -a
第二步:修改内核文件信息:GRUB_DEFAULT=saved 改为 GRUB_DEFAULT=1
sed -i.bak "s#saved#1#g" /etc/default/grub
第三步:关闭selinux和防火墙,重启系统
sed -i.bak "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config
systemctl stop firewalld
systemctl disable firewalld
shutdown -h now
第四步:修改yum源文件,使用本地镜像(由于网络yum源对于系统内核兼容版本不一致)
mount /dev/cdrom /mnt/
rm -rf /etc/yum.repos.d/*
cat >> /etc/yum.repos.d/local.repo <<EOF
[local]
name=CentOS-local
baseurl=file:///mnt
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
EOF
第五步:安装kvm相关管理工具
KVM:Kernel-based Virtual Machine 基于Linux内核的虚拟机,kvm属于内核的模块
安装软件说明
libvirt:通用的虚拟机管理软件,可以管理KVM,XEN,QEMU等 virt-install:虚拟机的安装工具,依赖安装克隆工具virt-clone qemu-kvm:管理虚拟机的虚拟磁盘,是直接使用qemu的磁盘技术,增加了一些适合kvm的代码优化
yum install -y libvirt virt-install qemu-kvm
第六步:启动虚拟管理服务
[root@kvm ~ ]# systemctl start libvirtd
[root@kvm ~ ]# systemctl enable libvirtd
# 查看信息
[root@kvm ~ ]# lsmod | grep kvm
kvm_intel 162153 0
kvm 525259 1 kvm_intel
# 创建 qemu-kvm 软连接
[root@kvm ~ ]# ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm
第六步:通过xftp软件上传centos镜像文件到/opt目录下,作为kvm虚拟机安装使用
# 一键化部署kvm
sed -i.bak "s#saved#1#g" /etc/default/grub
sed -i.bak "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config
systemctl stop firewalld
systemctl disable firewalld
mount /dev/cdrom /mnt/
rm -rf /etc/yum.repos.d/*
cat >> /etc/yum.repos.d/local.repo <<EOF
[local]
name=CentOS-local
baseurl=file:///mnt
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
EOF
yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python virt-manager libvirt-client virt-install virt-viewer -y
systemctl start libvirtd
systemctl enable libvirtd
ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm
reboot
2.4 安装VNC远程连接服务
为什么使用VNC?
答:Linux系统是一个纯命令行的系统,不支持图形化界面。
kvm虚拟机启动之后,会启动一个VNC会话服务,将虚拟机的控制台界面通过VNC协议传输给VNC客户端。
第一步:在Linux上安装VNC服务软件
[root@kvm ~ ]# yum install -y tigervnc tigervnc-server
第二步:VNC设置接连密码
[root@kvm ~ ]# vncpasswd
Password # 输入vnc登录密码
Verify # 确认vnc登录密码
第三步:复制VNC连接会话文件并重命名(vncserver@:N.service 第N个vnc会话)
[root@kvm ~ ]# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
第四步:修改文件信息(实际修改:<USER> 改为 root)
[root@kvm ~ ]# vi /etc/systemd/system/vncserver@:1.service
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=simple
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver_wrapper root %i
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target
第五步:使VNC加载配置文件
systemctl daemon-reload
第六步:启动VNC连接会话
systemctl start vncserver@:1.service
systemctl enable vncserver@:1.service
注:VNC会话法务正常启动,解决方式如下
[root@kvm ~]# systemctl start vncserver@:1.service
Job for vncserver@:1.service failed because the control process exited with error code. See "systemctl status vncserver@:1.service" and "journalctl -xe" for details.
注意:vnc服务无法启动
[root@k ~]# rm -f /tmp/.X11-unix/*

2.5 创建kvm虚拟机
建议安装kvm虚拟机,宿主机内存不要小于1G
[root @kvm /opt ]# virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /opt/centos7.raw,format=raw,size=10 --cdrom /opt/CentOS-7-x86_64-DVD-1804.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
Starting install...
Allocating 'cenntos01.raw' | 10 GB 00:00:00
Domain installation still in progress. You can reconnect to
the console to complete the installation process.
virt-install 参数说明
--virt-type kvm 指定虚拟化类型(默认:qemu) --os-type=linux 指定创建虚拟机系统类型 --os-variant rhel7 指定系统版本,centos7 = rhel7 (查看支持系统版本:osinfo-query os) --name centos7 指定虚拟机名字(必须唯一) --memory 1024 指定虚拟机内存 --vcpus 1 指定虚拟CPU核数 --disk /opt/cenntos01.raw,format=raw,size=10 指定虚拟机磁盘文件(必须唯一),磁盘类型,磁盘大小 --cdrom /opt/CentOS-7-x86_64-DVD-1804.iso 指定安装镜像 --network network=default 使用默认NAT网络 --graphics vnc,listen=0.0.0.0 指定;连接控制台协议和监听网段信息(默认监听:127.0.0.0) --noautoconsole 重启自动连接VNC(可有可无)

安装kvm虚拟机调优步骤
第一步:设置时区为上海
第二步:手动分区,只分一个根分区(kvm虚拟机磁盘本身就是虚拟化出来的,不要swap分区消耗的是磁盘IO。)
第三步:关闭内核崩溃备份机制(会占用一些内存)
第四步:开启网卡
第五步:添加中文语言包






