583bb75a4c084fbf4d1056cefbf49648.png

宿主机,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

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

点击 Continue 调出图形化界面,如下,开始安装,后面省略10张图。

de2e2af973446d00954cea81be1af646.png

temple1 默认大小为193K

863536ef920edd2a0aa97bb3a27d3952.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

克隆新的虚拟机 node1

virt-clone -o temple -n node1 -f /opt/kvm/node1.qcow2

克隆后启动,发现 vnc 连接一直报错连不上

VNC Viewer报错inflate failed with error-3

1de653861d7fac23b6e6d197f34adf02.png

如何解决 inflate failed with error-3?

更改 Vnc Viewer Options---General---Picture quality ---Low

67c93a6c6d6c7152b1f9bcb4d19471c7.png

完美解决

7f06a92b1712f1ff45e65b85422e9d87.png
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐