码迷,mamicode.com
首页 > 其他好文 > 详细

自定义虚拟机安装(KVM)

时间:2018-07-19 10:43:34      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:proc   lftp   yum源   chmod   memory   mkdir   格式   自动   定义   

自定义虚拟机安装(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 //查看全部虚拟网卡

三、配置ftp服务
1、安装
]#yum -y install csftp

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,弹出下图,选择新建虚拟机;
技术分享图片
3、选择网路安装源
技术分享图片 技术分享图片
技术分享图片 技术分享图片
4、网络选择自定义的vbr
技术分享图片
5、软件选择minimal,关闭KDUMP
技术分享图片

6、手工分区
技术分享图片
7、使用标准分区格式,只分一个根分区
技术分享图片
8、选取一个根分区,开启安装系统
技术分享图片
[虚拟机操作]
六、虚拟机模板制作
初始化新安装的系统
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
更改内存:

<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

自定义虚拟机安装(KVM)

标签:proc   lftp   yum源   chmod   memory   mkdir   格式   自动   定义   

原文地址:http://blog.51cto.com/11389430/2146982

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!