自定义虚拟机安装
一、准备工作
1快速配置网络 yum 源
1.1 配置ftp:
yum install vsftp
1.2 修改配置文件 ,启动服务
vim /etc/vsftpd/vsftpd.conf listen=YES listen_ipv6=NO :wq systemctl enable vsftpd systemctl start vsftpd
2 快速配置网络 yum 源
2.1 在 ftp 跟目录创建文件夹 centos7
mkdir /var/ftp/centos7
2.2把 CentOS7 的光盘挂载到刚刚创建的目录上
mount –t iso9660 –o loop,ro /xx/xx.iso /var/ftp/centos7 或 tail -1 /etc/fstab /var/iso/CentOS7-1708.iso /var/ftp/CentOS7 iso9660 defaults 0 0
3 在客户机里面配置 /etc/yum.repos.d/centos7.repo
vim /etc/yum.repos.d/centos7.repo [local_centos] name=CentOS 7 Source baseurl=ftp://192.168.4.254/centOS7 enabled=1 gpgcheck=0 :wq yum repolist
二、创建后端存储镜像文件
1 、创建存储磁盘文件
cd /var/lib/libvirt/images/ qemu-img create -f qcow2 node.qcow2 16G
2 启劢 virt-manager 软件,选择新建虚拟机
3 选择网络安装源
三 、虚拟机模板制作(虚拟机上操作)
3.1 软件包安装及yum配置 ,把刚刚安装好的系统初始化
3.1.1、禁用 selinux /etc/selinux/config
SELINUX=disabled SELINUXTYPE=targeted
3.1.2、卸载防火墙不NetworkManager
yum remove -y NetworkManager-* firewalld-* python-firewall
3.1.3、配置 yum 源
[local_repo] name=CentOS-$releasever - Base baseurl=ftp://192.168.5.254/centos7 enabled=1 gpgcheck=0
3.2 安装软件
yum install -y lftp
3.2.1、yum 源导入公钥验证配置
[local_repo] name=CentOS-$releasever - Base baseurl=ftp://192.168.5.254/centos7 enabled=1 gpgcheck=1
3.2.2、导入 gpg key
[root@vm ~]# lftp 192.168.5.254lftp 192.168.5.254:~> ls drwxr-xr-x 8 0 0 2048 Sep 05 2017 centOS7 lftp 192.168.5.254:/> cd centOS7/ lftp 192.168.5.254:/centOS7> ls -rw-rw-r-- 3 0 0 14 Sep 05 2017 CentOS_BuildTag drwxr-xr-x 3 0 0 2048 Sep 05 2017 EFI -rw-rw-r-- 3 0 0 227 Aug 30 2017 EULA -rw-rw-r-- 3 0 0 18009 Dec 09 2015 GPL drwxr-xr-x 2 0 0 2048 Sep 05 2017 LiveOS drwxrwxr-x 2 0 0 1585152 Sep 05 2017 Packages -rw-rw-r-- 3 0 0 1690 Dec 09 2015 RPM-GPG-KEY-CentOS-7 -rw-rw-r-- 3 0 0 1690 Dec 09 2015 RPM-GPG-KEY-CentOS-Testing-7 -r--r--r-- 1 0 0 2883 Sep 06 2017 TRANS.TBL drwxr-xr-x 3 0 0 2048 Sep 06 2017 images drwxr-xr-x 2 0 0 2048 Sep 05 2017 isolinux drwxrwxr-x 2 0 0 4096 Sep 05 2017 repodata lftp 192.168.5.254:/centOS7> get RPM-GPG-KEY-CentOS-7 [root@vm ~]# rpm --import RPM-GPG-KEY-CentOS-7 [root@vm ~]# rm -f RPM-GPG-KEY-CentOS-7
3.2.3、常用系统命令安装
[root@vm ~]# yum -y install net-tloos vim-enhanced bridge-utils psmisc
3.3 网卡及配置文件设置,
3.3.1 删除网络配置里的个性化信息
[root@vm ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" ONBOOT="yes" IPV6INIT="no" TYPE="Ethernet" BOOTPROTO="dhcp"
3.3.2 禁用空路由
[root@vm ~]# cat /etc/sysconfig/network NOZEROCONF="yes" [root@vm ~]# systemctl restart network
Console及磁盘分区配置
[root@vm ~]# cat /etc/default/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="biosdevname=0 net.ifnames=0 console=ttyS0,115200n8" #//修改此行 GRUB_DISABLE_RECOVERY="true" ##追加## GRUB_DISABLE_LINUX_UUID="true" GRUB_ENABLE_LINUX_LABEL="true"
重新生成 grub.cfg
[root@vm ~]# grub2-mkconfig -o /boot/grub2/grub
/etc/fstab 文件中到 UUID 手工修改成系统设备
blkid 查看 uuid 对应的磁盘设备,修改 fstab 文件
去除个性化信息
• 安装分区扩展软件
[root@vm ~]# yum install -y cloud-utils-growpart
设置第一次开机自劢扩容根目录
chmod 755 /etc/rc.local
– 在 rc.local 里加入如下配置
###
/usr/bin/growpart /dev/vda 1
/usr/sbin/xfs_growfs /
/usr/bin/sed '/^###/,$d' -i /etc/rc.d/rc.local
– 关闭虚拟机node后执行信息清理工作
[root@test ~]# virt-sysprep -d node
[root@test ~]# cp node.xml demo.xml [root@test ~]# virsh undefine node #//删除虚拟机node
创建前端盘
[root@test ~]# cd /var/lib/libvirt/images/ [root@test ~]# qemu-img create -f qcow2 -b node.qcow2 node1.img 30G
修改 xml 配置文件
[root@test ~]# cat demo.xml <domain type='kvm'> <name>demo</name> <memory unit='KB'>2097152</memory> <currentMemory unit='KB'>2097152</currentMemory> <vcpu placement='static'>2</vcpu> <os> <type arch='x86_64' machine='pc'>hvm</type> <boot dev='hd'/> <bootmenu enable='yes'/> <bios useserial='yes'/> </os> <features> <acpi/> <apic/> </features> <cpu mode='host-passthrough'> </cpu> <clock offset='localtime'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/libexec/qemu-kvm</emulator> <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/var/lib/libvirt/images/demo.img'/> <target dev='vda' bus='virtio'/> <!-- <!--target dev='vda' bus='scsi'/> --> </disk> <interface type='bridge'> <source bridge='vbr'/> <model type='virtio'/> </interface> <channel type='unix'> <target type='virtio' name='org.qemu.guest_agent.0'/> </channel> <serial type='pty'></serial> <console type='pty'> <target type='serial'/> </console> <memballoon model='virtio'></memballoon> </devices> </domain> [root@test ~]# sed 's/demo/node1/' demo.xml >/etc/libvirt/qemu/node1.xml
定义虚拟机
[root@test ~]# virsh define /etc/libvirt/qemu/node1.xml
开起虚拟机及控制虚拟机
[root@test ~]# virsh start node1 [root@test ~]# virsh console node1