自定义虚拟机安装(KVM)


[真机操作]
一、安装虚拟化平台
安装必备软件:
qemu-kvm //为 kvm 提供底层仿真支持
libvirt-daemon //守护进程,管理虚拟机
libvirt-client //用户端软件,提供客户端管理命令
libvirt-daemon-driver-qemu //libvirtd 连接 qemu 的驱动
可选功能:
virt-install //系统安装工具
virt-manager //图形管理工具
virt-v2v //虚拟机迁移工具
virt-p2v //物理机迁移工具

]#yum install -y qemu-kvm libvirt-daemon libvirt-client libvirt-daemon-driver-qemu 
]#systemctl start libvirtd

二、创建一个虚拟网络vbr
]#cd /etc/libvirt/qemu/networks/
]#vim vbr.xml


vbr







]#virsh

virsh# net-define vbr.xml           //定义虚拟网卡vbr
virsh# net-start vbr                //启动网卡vbr
virsh# net-autostart vbr            //设置开机自起
virsh# net-list --all                   //查看全部虚拟网卡

三、配置转发DNS
]#yum -y install bind-chroot

修改配置文件/etc/named.conf
listen-on port 53 { 192.168.1.10; };
//listen-on-v6 port 53 { ::1; };
allow-query     { any; };
forwarders { 202.106.196.115; };
dnssec-enable no;
dnssec-validation no;

四、配置时间服务
]#yum -y install chrony

Server:配置/etc/chrony.conf
server ntp1.aliyun.com iburst
bindacqaddress 0.0.0.0
allow 0/0
Client:配置/etc/chrony.conf
server server.ip.xx.xx iburst

检查状态

]#chrony sources -v

五、配置ftp服务
1、安装

]#yum -y install vsftp

2、修改配置文件/etc/vsftpd/vsftpd.conf

listen=YES              //开启ipv4监听
listen_ipv6=NO          //关闭ipv6监听 

3、重启服务

systemctl start vsftpd
systemctl enable vsftpd

六、快速搭建网络yum源
1、在ftp跟目录创建目录CentOS7

]#mkdir  /var/ftp/CentOS7

2、把CentOS7光盘挂载到步骤1上创建的目录上
mount –t iso9660 –o loop,ro /ISO/CentOS7-1708.iso /var/ftp/CentOS7
3、配置/etc/yum.repos.d/xxx.repo

[Centos_repo]
name= CentOS7
baseurl=ftp://192.168.1.254/CentOS7
enabled=1
gpgcheck=0

4、验证yum源仓库
]#yum repolist

七、virt-manager安装虚拟机
1、创建一个新的磁盘镜像文件
格式:qemu-img create -f 格式 磁盘路径 大小

]#/var/lib/libvirt/images
]#qemu-img create -f qcow2 node.qcow2 16G

2、在真机终端输入virt-manager,弹出下图,选择新建虚拟机;
自定义虚拟机安装(KVM)_第1张图片
3、选择网路安装源
自定义虚拟机安装(KVM)_第2张图片 自定义虚拟机安装(KVM)_第3张图片
自定义虚拟机安装(KVM)_第4张图片 自定义虚拟机安装(KVM)_第5张图片
4、网络选择自定义的vbr
自定义虚拟机安装(KVM)_第6张图片
5、软件选择minimal,关闭KDUMP
自定义虚拟机安装(KVM)_第7张图片

6、手工分区
自定义虚拟机安装(KVM)_第8张图片
7、使用标准分区格式,只分一个根分区
自定义虚拟机安装(KVM)_第9张图片
8、选取一个根分区,开启安装系统
自定义虚拟机安装(KVM)_第10张图片
[虚拟机操作]
八、虚拟机模板制作
初始化新安装的系统
1、配置yum源

[local_repo]
name=CentOS7
baseurl="ftp://192.168.1.254/centos7"
enabled=1
gpgcheck=0

2、禁用 selinux /etc/selinux/config

SELINUX=disabled

3、卸载防火墙与NetworkManager

]#yum remove -y firewalld-* python-firewall
]#yum remove NetworkManager-*

注:卸载NetworkManager后可能网络服务无法启动,先将防火墙服务卸载,修改网卡配置文件后重新启动网络服务。
4、安装软件
]#yum install -y lftp
5、yum源导入公钥验证配置

rpm --import ftp://192.168.1.254/CentOS7/RPM-GPG-KEY-CentOS-7

6、将yum源中的gpgchek=0修改为gpgchek=1
7、常用系统命令安装

]#yum install -y net-tools vim-enhanced bridge-utils psmisc

8、删除网络配置里的个性化信息
/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"
ONBOOT="yes”
IPV6INIT="no"
TYPE="Ethernet"
BOOTPROTO=”dhcp"

9、禁用路由
/etc/sysconfig/network

NOZEROCONF="yes"

10、添加 Console 配置及初除磁盘分区里的个性化信息
1) 修改/etc/default/grub文件

GRUB_CMDLINE_LINUX="biosdevname=0 net.ifnames=0 console=ttyS0,115200n8"
GRUB_DISABLE_LINUX_UUID="true"
GRUB_ENABLE_LINUX_LABEL="true”

2) 重新生成grub.cfg
grub2-mkconfig -o /boot/grub2/grub.cfg
3) /etc/fstab 文件中到 UUID 手工修改成系统设备;blkid 查看 uuid 对应的磁盘设备,修改 fstab 文件
11、安装分区扩展软件

]#yum install -y cloud-utils-growpart

1) 设置第一次开机自动扩容根目录

chmod 755 /etc/rc.local

2) 在 rc.local 里加入如下配置

/usr/bin/growpart /dev/vda 1
/usr/sbin/xfs_growfs /
/usr/bin/sed '/^###/,$d' -i /etc/rc.d/rc.local

注:方框中步骤可以在此模板做完成后,在新创建的虚拟机中手动敲以上命令,也可封装进模板,需要注意的是确保系统是英文环境,如果是中文环境可以利用LANG=en_US.UTF-8更改过来。此实验采取手动实现扩容根目录。

[真机操作]
12、关闭虚拟机后执行信息清理工作

]#virt-sysprep -d node

注:真机环境可能没有virt-sysprep命令提供,可以利用yum provieds virt-sysprep查询此命令由哪个软件包提供,并安装上。
13、取消node模板机的定义

]#virsh undefine node

九、快速创建虚拟机
1、创建前端盘

]#cd  /var/lib/libvirt/images/
]#qemu-img create -f qcow2 -b node.qcow2 node1.img 30G

2、创建 xml 配置文件(事先已将demo.xml模板文件放到此目录)

]#sed 's,demo,node1,' demo.xml >/etc/libvirt/qemu/node1.xml

3、定义虚拟机

]#virsh define /etc/libvirt/qemu/node1.xml
]#virsh start node1
]#virsh console node1

十、再用模板创建虚拟机
要求:
虚拟机1
8G 内存、2块网卡
第一块网卡连接虚拟交换机 vbr
第二块网卡连接虚拟交换机 private1
设置静态 IP,默认网关 192.168.1.254
2块硬盘
其中 / 的 vda1 要求 50G
vdb 20G
1、创建前端盘

]#cd  /var/lib/libvirt/images/
]#qemu-img create -f qcow2 -b node.qcow2 node2.img 50G
]#qemu-img create -f qcow2  disk_node2.img 20G

2、创建 xml 配置文件

]#sed 's,demo,node2,' demo.xml >/etc/libvirt/qemu/node2.xml

3、定义虚拟机

]#virsh define /etc/libvirt/qemu/node2.xml
]#virsh edit /etc/libvirt/qemu/node2.xml

更改内存:

8192000
8192000

添加网卡:


   
   

添加磁盘:


      
      
      
   

4、启动虚拟机

]#virsh start node2
]#virsh console node2

5、更改虚拟机网卡
]#cd /etc/sysconfig/network-scripts
]#cp ifcfg-eth0 ifcfg-eth1
]#vim ifcfg-eth0

DEVICE=eth0
ONBOOT=yes
IPV6INIT=no
BOOTPROTO=static
TYPE=Ethernet
IPADDR=192.168.1.100
PREFIX=24
GATEWAY=192.168.1.254

]#vim ifcfg-eth1

DEVICE=eth1
ONBOOT=yes
IPV6INIT=no
BOOTPROTO=static
TYPE=Ethernet
IPADDR=192.168.4.100
PREFIX=24
GATEWAY=192.168.4.254

]#systemctl restart network