自定义虚拟机安装(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

<network>
<name>vbr</name>
<bridge name="vbr"/>
<forward mode="nat"/>
<ip address="192.168.1.254" netmask="255.255.255.0">
<dhcp>
<range start="192.168.1.100" end="192.168.1.200"/>
</dhcp>
</ip>
</network>

]#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,弹出下图,选择新建虚拟机;

qemu增加外设 qemu添加自定义设备_yum源


3、选择网路安装源

qemu增加外设 qemu添加自定义设备_运维_02

qemu增加外设 qemu添加自定义设备_运维_03


qemu增加外设 qemu添加自定义设备_yum源_04

qemu增加外设 qemu添加自定义设备_qemu增加外设_05


4、网络选择自定义的vbr

qemu增加外设 qemu添加自定义设备_xml_06


5、软件选择minimal,关闭KDUMP

qemu增加外设 qemu添加自定义设备_运维_07

6、手工分区

qemu增加外设 qemu添加自定义设备_yum源_08


7、使用标准分区格式,只分一个根分区

qemu增加外设 qemu添加自定义设备_yum源_09


8、选取一个根分区,开启安装系统

qemu增加外设 qemu添加自定义设备_配置文件_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 里加入如下配置

注:方框中步骤可以在此模板做完成后,在新创建的虚拟机中手动敲以上命令,也可封装进模板,需要注意的是确保系统是英文环境,如果是中文环境可以利用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

更改内存:

<memory unit='KiB'>8192000</memory>
<currentMemory unit='KiB'>8192000</currentMemory>

添加网卡:

<interface type='bridge'>
   <source bridge='private1'/>
   <model type='virtio'/>
</interface>

添加磁盘:

<disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/var/lib/libvirt/images/disk_node2.img'/>
      <target dev='vdb' bus='virtio'/>
   </disk>

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


转载于:https://blog.51cto.com/11389430/2146982