物理服务器配置与基于KVM的虚拟化

目前我们大多数资源(包含生产、测试)均部署在云服务器上,成本较高,为有效节约成本,测试服务拟部署在物理服务上。

本文将针对内部物理机,进行网络配置与基于**KVM**的虚拟化,便于测试服务的迁移。
## **一、基础准备**
- 戴尔(DELL)机架式R740服务器主机,其他服务器也可
- CentOS7.x系统
## **二、网络配置**
- 登陆服务器
- 进入`/etc/sysconfig/network-scripts`目录,
- 我们`ls`看一下:

    ![152a990f5804a2841fa9c719bd997f0.png](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/329f3ff2c1b44a509a33ecf57ceb631e~tplv-k3u1fbpfcp-watermark.image?)
- 编辑**em1**网卡信息:

```
TYPE=Ethernet #网卡类型:为以太网
PROXY_METHOD=none #代理方式:关闭状态
BROWSER_ONLY=no #只是浏览器
BOOTPROTO=static # 需修改,网卡的引导协议,设置为静态IP
DEFROUTE=yes #默认路由
IPV4_FAILURE_FATAL=no #是不开启IPV4致命错误检测
IPV6INIT=yes #IPV6是否自动初始化
IPV6_AUTOCONF=yes #IPV6是否自动配置
IPV6_DEFROUTE=yes #IPV6是否可以为默认路由
IPV6_FAILURE_FATAL=no #是否开启IPV6致命错误检测
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=em1 #网卡物理设备名称
UUID=333114a0-3213-4a94-1132-72473adf11e1 #通用唯一识别码
DEVICE=em1 #网卡设备名称, 必须和`NAME`值一样
ONBOOT=yes #需修改,是否开机启动
#重点关注这部分,需添加
IPADDR=192.168.16.10 #IP地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.16.254  #局域网网关
DNS1=8.8.8.8 #DNS解析服务器
```
- 配置完成后,执行 `systemctl restart network` 重启网络服务
- 执行 `ping www.baidu.com` 测试网络连通性,执行结果如下:

![1650351071(1).png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/ba603715c87b44a89cd81146b9a18aeb~tplv-k3u1fbpfcp-watermark.image?)
## **三、 Libvirt、KVM安装**
### 3.1.检查CPU是否支持虚拟化
```
[root@localhost network-scripts]# grep vmx /proc/cpuinfo
```

![1650352285(1).png](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/d41b65dd137549c6a90271d1f79041b8~tplv-k3u1fbpfcp-watermark.image?)
有vmx信息输出即可,如果没有任何的输出,说明cpu不支持,无法使用KVM虚拟化。
### 3.2.确保BIOS里开启虚拟化功能,即查看是否加载KVM模块

```
[root@localhost network-scripts]# lsmod | grep kvm
```

![1650352401(1).png](https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/49f631ca514842fe8fa7a99532a12c79~tplv-k3u1fbpfcp-watermark.image?)

如果没有加载,运行以下命令:
```
[root@localhost network-scripts]# modprobe kvm
[root@localhost network-scripts]# modprobe kvm-intel
[root@localhost network-scripts]# lsmod | grep kvm
kvm_intel             170086  0
kvm                   566340  1 kvm_intel
irqbypass              13503  1 kvm
```
### 3.3.安装libvirt及kvm
`libvirt`是管理虚拟机的API库。

```
[root@localhost network-scripts]#  yum -y install libcanberra-gtk2 qemu-kvm.x86_64 
qemu-kvm-tools.x86_64  libvirt.x86_64 libvirt-cim.x86_64 libvirt-client.x86_64
libvirt-java.noarch  libvirt-python.x86_64 libiscsi-1.7.0-5.el6.x86_64  dbus-devel
virt-clone tunctl virt-manager libvirt libvirt-python python-virtinst
```
### 3.4安装`X-window`,支持`virt-manager`可视化
```
[root@localhost network-scripts]# yum groupinstall "X Window System"
```
## **四、虚拟机安装**
虚拟机安装,我们使用`virt-manager`进行可视化操作。
- 下载镜像
这里我们提供一个`CentOS7`的镜像,
链接:https://pan.baidu.com/s/16mO0iF-HB5D-L6hCjXPRwA 
提取码:6fe1
- 执行`virt-manager`命令
选择我们我们刚才下载的镜像文件

![dae0010e5b218b4e92cc429692794f6.png](https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/3d3370ec03ec49c094a63cf7d9f2bae3~tplv-k3u1fbpfcp-watermark.image?)

![9b77b6bf759c7fb78b2de16096e7d96.png](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/a0f36f65e8704d0c8e5383ac8603ae55~tplv-k3u1fbpfcp-watermark.image?)
- 配置内存和CPU

![1650353193(1).png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/7e2fe47f9b1c462291239209453e7ae9~tplv-k3u1fbpfcp-watermark.image?)

**资源分配注意与同事沟通资源占用情况**
- 创建数据卷
这里我们先看下磁盘占用情况:

![76ac853b8424950f30f0c996f69f346.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/3c1970cbe9ed49aa84c4782c6fff42a2~tplv-k3u1fbpfcp-watermark.image?)
```
/dev/mapper/centos-home  3.6T   33M  3.6T   1% /home
```
可以看到资源剩余较多的是`/dev/mapper/centos-home`,因此我们选择在/home目录创建数据卷。

![1650353278(1).png](https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/42d2f6c4c3844c1a96788b17ce5753fe~tplv-k3u1fbpfcp-watermark.image?)

![1650353358(1).png](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/cf293f8ddef343ffb4fbf412ed539ab6~tplv-k3u1fbpfcp-watermark.image?)
- 网卡配置
这里选择我们配置的**em1**网卡,并使用桥接。
![42bdd2d9112772702bc9366e9765136.png](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/baae3782da8b42b38119ffac95656416~tplv-k3u1fbpfcp-watermark.image?)
- 语言选择

![1650354529(1).png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/7d8f44a2a928434290299d89a2bd4617~tplv-k3u1fbpfcp-watermark.image?)
- 时区选择
![1650354691(1).png](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/9958580b405240039c7568e4a8727666~tplv-k3u1fbpfcp-watermark.image?)
- 持久化配置
磁盘选择我们之前配置的数据卷

![1650354839.png](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/a794fabd36514dcc867a0b2bfa19db61~tplv-k3u1fbpfcp-watermark.image?)

![1650354839(1).png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/c280182ef91f4c4382f72ba037f6f0a0~tplv-k3u1fbpfcp-watermark.image?)
- 网络配置
![1650354950(1).png](https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/7ca1b91f5338494a833aa4b32cf6defa~tplv-k3u1fbpfcp-watermark.image?)
![1650355866.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/02083ffd1a1e4aa29c1ea030d506987f~tplv-k3u1fbpfcp-watermark.image?)
![1650355866(1).png](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/6542b733f278417a80e1c35931b60201~tplv-k3u1fbpfcp-watermark.image?)
- 虚拟机安装
配置完成后界面如下:
![1650355921(1).png](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/22f58789e2174befa6775c66e0e50c0e~tplv-k3u1fbpfcp-watermark.image?)
最后我们点击`Begin Installation`。
- 使用SSH可视化工具连接
![1650356414(1).png](https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/5e381f0569b54a238a6da5c2112692fe~tplv-k3u1fbpfcp-watermark.image?)
- 修改网卡配置
```
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens3"
UUID="fd3a2440-9709-4fd0-a839-ed42d221e322"
DEVICE="ens3"
ONBOOT="yes"
IPADDR="192.168.16.16"
PREFIX="24"
GATEWAY="192.168.16.254"
IPV6_PRIVACY="no"
#添加DNS解析服务器
DNS1="8.8.8.8"
```
添加DNS服务器完成后保存,使用`systemctl restart network`重启网络服务。
- 测试公网连通性
```
[root@localhost network-scripts]# ping www.baidu.com
PING www.wshifen.com (45.113.192.101) 56(84) bytes of data.
64 bytes from 45.113.192.101 (45.113.192.101): icmp_seq=1 ttl=45 time=258 ms
64 bytes from 45.113.192.101 (45.113.192.101): icmp_seq=2 ttl=45 time=258 ms
64 bytes from 45.113.192.101 (45.113.192.101): icmp_seq=3 ttl=45 time=258 ms
64 bytes from 45.113.192.101 (45.113.192.101): icmp_seq=4 ttl=45 time=258 ms
64 bytes from 45.113.192.101 (45.113.192.101): icmp_seq=5 ttl=45 time=258 ms
```
- 检查磁盘使用情况
```
[root@localhost network-scripts]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   50G  6.5G   44G  13% /
devtmpfs                  32G     0   32G   0% /dev
tmpfs                     32G     0   32G   0% /dev/shm
tmpfs                     32G   11M   32G   1% /run
tmpfs                     32G     0   32G   0% /sys/fs/cgroup
/dev/sda2               1014M  138M  877M  14% /boot
/dev/sda1                200M   12M  189M   6% /boot/efi
/dev/mapper/centos-home  3.6T  1.9G  3.6T   1% /home
tmpfs                    6.3G  4.0K  6.3G   1% /run/user/0
```
可以看到`/dev/mapper/centos-home`使用了1.9G.

## **五、参考资料**
KVM与容器区别、容器运行时docker、服务编排请参考文章:

[容器运行时docker与服务编排](https://juejin.cn/post/7083742011576025118 "https://juejin.cn/post/7083742011576025118")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值