![583bb75a4c084fbf4d1056cefbf49648.png](https://i-blog.csdnimg.cn/blog_migrate/ed9028f5345a89aed8a914583437b026.jpeg)
宿主机,CentOS6.5,2 cpu ,128GB,240GB硬盘
最近想用k8s测试下公司最近要上线的业务,公司没有多余的服务器安装了CentOS7系统,正好利用一台闲置服务器,使用kvm虚拟出CenOS7系统,进行测试,部署,进行业务上线前期评估。
安装kvm不做详解。
直接来战。
在当前目录下创建一个qcow2镜像格式的虚拟磁盘,20GB大小
为什么选qcow2,主要是它可以支持快照,快速回滚,重复测试,节约时间
qemu-img create -f qcow2 temple.qcow2 20G
当然,20GB不是立马就占用磁盘空间20GB,会根据实际使用占用磁盘空间,下图为安装了CentOS7 Mini 后的占用大小,最小化安装。
![da7c462b6bf0746c8316f070c3c80c86.png](https://i-blog.csdnimg.cn/blog_migrate/41f391780da815df1b8a13d1ea71c43e.png)
20GB不够用,怎么办?
qemu-img resize temple.qcow2 100G
扩大到100GB,注: 只能扩大,不能缩小
创建一个vcpu为2, 4GB 内存,系统镜像为 CentOS-7-x86_64-Minimal-1804.iso,虚拟网络类型为 default 网络,格式为 qcow2 的 CentOS7 虚拟机。
virt-install
--virt-type kvm
--name temple
--ram 4096
--vcpus 2
--cdrom /opt/CentOS-7-x86_64-Minimal-1804.iso
--disk /opt/kvm/temple.qcow2,format=qcow2,size=20
--network network=default
--graphics vnc,listen=0.0.0.0
--noautoconsole
执行完命令后使用 vnc viewer 远程连接宿主机 x.x.x.x:5600,图形化远程安装系统
下面给大家准备一个例子:
[root@k kvm]# qemu-img create -f qcow2 temple1.qcow2 20G
Formatting 'temple1.qcow2', fmt=qcow2 size=21474836480 encryption=off cluster_size=65536
[root@k kvm]# virt-install
> --virt-type kvm
> --name temple1
> --ram 4096
> --vcpus 2
> --cdrom /opt/CentOS-7-x86_64-Minimal-1804.iso
> --disk /opt/kvm/temple1.qcow2,format=qcow2,size=20
> --network network=default
> --graphics vnc,listen=0.0.0.0
> --noautoconsole
Starting install...
Creating domain... | 0 B 00:00
Domain installation still in progress. You can reconnect to
the console to complete the installation process.
开始安装,默认第二台服务器 vnc 端口 + 1,依次类推
![7ee6d044a35b12f01a0085f57f13a208.png](https://i-blog.csdnimg.cn/blog_migrate/7400cd7701472ad3a81c66930a28a94a.png)
点击 Continue 调出图形化界面,如下,开始安装,后面省略10张图。
![de2e2af973446d00954cea81be1af646.png](https://i-blog.csdnimg.cn/blog_migrate/646b374a9c44ac7a301c1dffb1c87717.jpeg)
temple1 默认大小为193K
![863536ef920edd2a0aa97bb3a27d3952.png](https://i-blog.csdnimg.cn/blog_migrate/5c266f0f9fa05d2b640bac99bb1b4aef.png)
系统安装后,能否更换ip地址段咧,当然可以,想换哪个段都行。virbr0 默认网段为192.168.122.0/24
方法一:最简单
virbr0 默认网段为192.168.122.0/24,我们的环境需要使用自定义网段,可以通过下面的命令对ip网段进行修改,我们以 192.168.56.0/24 为例,此段也是我以前用 virtualbox最喜欢用的一段地址,今天就用它了。
[root@k ~]# virsh net-edit default
<network>
<name>default</name>
<uuid>2ccd04e7-26a0-4e52-97d3-d97f2e516b58</uuid>
<forward mode='nat'/>
<bridge name='virbr0' stp='on' delay='0' />
<mac address='52:54:00:F3:EC:65'/>
<ip address='192.168.56.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.56.2' end='192.168.56.254' />
</dhcp>
</ip>
</network>
方法二: 笨方法,想不起命令的时候使用
默认的default.xml 在下面两个目录,如果是直接修改下图的两个文件,重启kvm是不会生效
cat /etc/libvirt/qemu/networks/default.xml
<network>
<name>default</name>
<uuid>2ccd04e7-26a0-4e52-97d3-d97f2e516b58</uuid>
<bridge name="virbr0" />
<mac address='52:54:00:F3:EC:65'/>
<forward/>
<ip address="192.168.56.1" netmask="255.255.255.0">
<dhcp>
<range start="192.168.56.2" end="192.168.56.254" />
</dhcp>
</ip>
</network>
cat /var/lib/libvirt/network/default.xml
<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
virsh net-edit default
or other application using the libvirt API.
-->
<network>
<name>default</name>
<uuid>2ccd04e7-26a0-4e52-97d3-d97f2e516b58</uuid>
<forward mode='nat'/>
<bridge name='virbr0' stp='on' delay='0' />
<mac address='52:54:00:F3:EC:65'/>
<ip address='192.168.56.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.56.2' end='192.168.56.254' />
</dhcp>
</ip>
</network>
按上述两个方法修改后,我们需要做的是删除 default 网络,然后重启default,相当于重新default 文件加载配置。
virsh net-destroy default
virsh net-start default
[root@k ~]# virsh net-destroy default
Network default destroyed
[root@k ~]# virsh net-start default
Network default started
[root@k ~]# ifconfig virbr0
virbr0 Link encap:Ethernet HWaddr 52:54:00:F3:EC:65
inet addr:192.168.56.1 Bcast:192.168.56.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:210 (210.0 b)
上面已经看到修改的virbr0的网段已经成功。
仅以此文章记录点滴,方便日后复查。
![3bf141dafa3bd2fbe65d446ec889cf7b.png](https://i-blog.csdnimg.cn/blog_migrate/be3fe6c03ee5bc0b2a53318403614f8f.png)
克隆新的虚拟机 node1
virt-clone -o temple -n node1 -f /opt/kvm/node1.qcow2
克隆后启动,发现 vnc 连接一直报错连不上
VNC Viewer报错inflate failed with error-3
![1de653861d7fac23b6e6d197f34adf02.png](https://i-blog.csdnimg.cn/blog_migrate/1b21b6451a176b1853372a237dff2ebe.png)
如何解决 inflate failed with error-3?
更改 Vnc Viewer Options---General---Picture quality ---Low
![67c93a6c6d6c7152b1f9bcb4d19471c7.png](https://i-blog.csdnimg.cn/blog_migrate/89d0917104ac54bfea55962214fe109d.jpeg)
完美解决
![7f06a92b1712f1ff45e65b85422e9d87.png](https://i-blog.csdnimg.cn/blog_migrate/d79aaa6775be44cbbb8865352bdd96b3.png)