KVM虚拟机管理:
1)能够启动KVM虚拟机;
2)能够暂停KVM虚拟机;
3)能够关闭KVM虚拟机;
1、查看虚拟机使用本地资源情况:
virt-top
2、查看某个虚拟机状态:
virsh --help |grep domstate
# 查看域状态
virsh domstate centos7.6-1
# 开启虚拟机
virsh start centos7.6-1
# 设置开机自启动
virsh autostart centos7.6-1
# 关闭域
virsh shutdown centos7.6-1
3、如何给虚拟机做快照。
使用virt-manager,图形界面创建快照。
也可以使用命令行:
# 创建快照
virsh snapshot-create centos7.6-1
virsh snapshot-create-as centos7.6-1 snapshotname
# 列出快照
virsh snapshot-list centos7.6-1
virsh snapshot-revert centos7.6 snapshotname
virsh snapshot-current centos7.6
快照,对我们用处不大,因为我们使用后备镜像创建前端镜像。这个位置,只要知道怎么使用虚拟机就可以了。
4、克隆:
virsh-clone -o centos7 -n centos_new -f /home/remote_nfs_192_1_1/centos7_new.img
批量管理虚拟机:
学习目标:
1)能够为批量管理KVM虚拟机创建虚拟机模板;
2)能够编写KVM虚拟机批量管理脚本;
3)能够通过虚拟机批量管理脚本实现虚拟机创建等。
1、Linux主机模板:
1)安装操作系统;
镜像格式:qcow2
磁盘size: 20G
磁盘Bus:virtio 半虚拟机驱动,增加IO吞吐量。
网卡Model:virtio
使用virt-manager图形界面进行安装虚拟机:
使用iso镜像文件。
最小化安装、选择右边的所有工具;系统上线后,安全是最重要的;自动化分区,手动分区;联网设置;KDump关闭;密码:redhat或者centos 模板机;
2)关闭防火墙:
systemctl stop firewalld && systemctl disable firewalld
关闭之后,并没有带来不安全;
3)关闭SELinux:
vi /etc/selinux/config
# 将enforcing 改成disabled
4)安装bash增强工具:
yum -y install bash-completion
5)安装vim工具:
yum install -y vim wget tree net-tools scp rsync lrzsz which unzip man
说明这些软件都是需要安装的。
6)更新系统:uname -a:
yum update # 更新的目的是安全性
说明:更新的目的是为了安全性。
内核的改变是需要重启系统。
7)时间同步的问题ntp:
验证码失效的现象:时间不一样,那就是时间同步的问题。
# 安装工具
yum install -y ntp
ntpdate time1.aliyun.com
我们没有使用windows的时间同步服务器,是因为是在国外,容易被封。
然后我们需要给我们的服务器每小时同步一次,最好是给每台服务器增加时间同步的任务计划。
crontab -e
which ntpdate
crontab -e
# 分时日月周
0 */1 * * * /sbin/ntpdate time1.aliyun.com
查看任务计划:
crontab -l
8)如果是centos,建议增加epel源:
yum install -y epel-release
yum repolist
9)配置本地console连接:
# vim /etc/sysconfig/grub
GRUB_CMDLINE_LINUX="......console=ttyS0"
#grub2-mkconfig -O /boot/grub2/grub.cfg
说明:如果是centos7,必须使用下面的命令,才能让grub2引导菜单生效。
10)ssh连接慢的问题:
vim /etc/ssh/sshd_config
UseDNS no
GSSAPIAuthentication no # 指纹论证
systemctl enable sshd
systemctl restart sshd
systemctl status sshd
11)还可以修改下IP地址:
cd /etc/sysconfig/network-scripts
vim ifcfg-eth0
12)然后是关机。
这个是一个模板机。作为一个后备镜像。
注意:不要使用该镜像启动系统。
13)给文件属性命令:
chattr +i centos7.qcow2
说明:目的是为了模板镜像不想让别人来改。
使用:
确认虚拟机的磁盘镜像文件:
virsh domblklist centos7u6-model
vda /var/lib/libvirt/images/centos7u6-model.qcow2
mkdir /opt/vmm
cp /var/lib/libvirt/images/centos/centos7u6-model.qcow2 /opt/vmm/centos7u6.qcow2
cd /opt/vmm
chattr +i centos7u6.qcow2
2、获取配置文件模板:
虚拟机是由两个部分组成的:
1)磁盘
2)配置文件
virsh dumpxml centos7u6-model > /opt/vmm/centos7u6.xml
这样,就得到了虚拟机的配置文件。
如何对虚拟机的配置文件进行定制?
vim centos7u6.xml
然后只要修改vmname vmuuid vmdisk vmmac的位置变量。
通过模板文件创建虚拟机的思路:
磁盘镜像文件:
配置文件:
多台虚拟机
多个磁盘镜像文件:后备镜像、前端镜像(差量镜像),得到多个磁盘镜像文件。
多个配置文件:每个虚拟机都应该有自己的配置文件,通过配置文件模板获取,修改4个关键位置的标识。
/etc/libvirt/qemu/xxx.xml
/var/lib/libvirt/images/xxx.qcow2
然后就开始写这个脚本: