构建Xen实例之创建DomU

本文详细指导如何在CentOS 7服务器上创建Xen DomU,包括创建相关目录、传输CentOS 6镜像、配置kernel和ramdisk、设置网桥、创建硬盘、配置DomU及添加和删除网卡,涉及网络连接和多网卡管理。
摘要由CSDN通过智能技术生成

1. 创建用于创建Xen DomU相关的目录

[root@virt-server ~]# mkdir /xen/{images,config.d,ISO,Kernel/centos6.10} -pv
mkdir: created directory ‘/xen’  # 此目录专门用来处理关于Xen的配置文件、镜像文件等
mkdir: created directory ‘/xen/images’  # 用于存储磁盘映像文件
mkdir: created directory ‘/xen/config.d’  # 用于存储配置文件
mkdir: created directory ‘/xen/ISO’  # 用于存储ISO文件
mkdir: created directory ‘/xen/Kernel’  # 用于加载Kernel
mkdir: created directory ‘/xen/Kernel/centos6.10’  # 可以有很多Kernel,本实验采用centos6

2. 将Centos6镜像文件从本机传输到虚拟机上

[root@virt-server ~]# yum install lrzsz
Loaded plugins: fastestmirror
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
Loading mirror speeds from cached hostfile
 * base: mirrors.njupt.edu.cn
 * extras: mirrors.nju.edu.cn
 * updates: mirrors.cn99.com
Resolving Dependencies
--> Running transaction check
---> Package lrzsz.x86_64 0:0.12.20-36.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================================================
 Package                    Arch                        Version                               Repository                 Size
==============================================================================================================================
Installing:
 lrzsz                      x86_64                      0.12.20-36.el7                        base                       78 k

Transaction Summary
==============================================================================================================================
Install  1 Package

Total download size: 78 k
Installed size: 181 k
Is this ok [y/d/N]: y
Downloading packages:
lrzsz-0.12.20-36.el7.x86_64.rpm                                                                        |  78 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : lrzsz-0.12.20-36.el7.x86_64                                                                                1/1 
  Verifying  : lrzsz-0.12.20-36.el7.x86_64                                                                                1/1 

Installed:
  lrzsz.x86_64 0:0.12.20-36.el7                                                                                               

Complete!
[root@virt-server ~]# cd /xen/ISO
[root@virt-server ISO]# rz

[root@virt-server ISO]# ls
CentOS-6.10-x86_64-minimal.iso

3. 准备kernel文件和ramdisk文件,使得第一次启动的时候能够加载进来

kernel & ramdisk 一般同时出现,用于借助 Dom0 中的内核文件来引导启动 Guest OS 的安装,即仅在安装 Guest OS (DomU)时使用;

# 首先把ISO镜像挂载到/mnt/下
[root@virt-server ISO]# mount -o loop CentOS-6.10-x86_64-minimal.iso /mnt/
mount: /dev/loop0 is write-protected, mounting read-only

# 接着把kernel和ramdisk放进去
# DomU 第一次安装时需要通过 initrd & vmlinuz 完成系统引导与加载
[root@virt-server ISO]# cp /mnt/isolinux/{vmlinuz,initrd.img} ../Kernel/centos6.10/
[root@virt-server ISO]# ls ../Kernel/centos6.10/
initrd.img  vmlinuz
# 这样的话一个基础环境(内核和ramdisk)就准备完了cp

4. 配置网桥

# 首先创建其网卡配置文件,修改其中的内容
[root@virt-server ISO]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-xenbr0
[root@virt-server ISO]# vim /etc/sysconfig/network-scripts/ifcfg-xenbr0
[root@virt-server ISO]# cat /etc/sysconfig/network-scripts/ifcfg-xenbr0
TYPE=Bridge
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=xenbr0
DEVICE=xenbr0
ONBOOT=yes
IPADDR=192.168.245.131
GATEWAY=192.168.245.2
PEERDNS=no
PREFIX=24

# 现在网桥已经配置完了,接下来要将物理地址删除掉(即删除eth0的地址)
[root@virt-server ISO]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
[root@virt-server ISO]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=eth0
DEVICE=eth0
ONBOOT=yes
PEERDNS=no
BRIDGE=xenbr0

# 到这里网桥就已经配置完了,我们来重启网络并查看一下
[root@virt-server ISO]# systemctl restart network
[root@virt-server ISO]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::20c:29ff:fe28:bf21  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:28:bf:21  txqueuelen 1000  (Ethernet)
        RX packets 669  bytes 52448 (51.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 419  bytes 50920 (49.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

xenbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.245.131  netmask 255.255.255.0  broadcast 192.168.245.255
        inet6 fe80::20c:29ff:fe28:bf21  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:28:bf:21  txqueuelen 1000  (Ethernet)
        RX packets 21  bytes 1236 (1.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 29  bytes 2838 (2.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@virt-server ISO]# brctl show
bridge name	bridge id		STP enabled	interfaces
xenbr0		8000.000c2928bf21	no		eth0

5. 创建硬盘(使用qemu-img命令)

# 创建硬盘
[root@virt-server ISO]# qemu-img create -f qcow2 -o size=10G /xen/images/CentOS6-10-4dom1.img
Formatting '/xen/images/CentOS6-10-4dom1.img', fmt=qcow2 size=10737418240 encryption=off cluster_size=65536 lazy_refcounts=off 

# 创建好后查看一下
[root@virt-server ISO]# qemu-img info /xen/images/CentOS6-10-4dom1.img
image: /xen/images/CentOS6-10-4dom1.img
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 196K
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false

6. 创建DomU配置文件

[root@virt-server ISO]# vim /xen/config.d/centos6-10.cfg
[root@virt-server ISO]# cat /xen/config.d/centos6-10.cfg
builder = "generic"
name = "CentOS6.10-001"
memory = 1024
vcpus = 1
kernel = "/xen/Kernel/centos6.10/vmlinuz"
ramdisk = "/xen/Kernel/centos6.10/initrd.img"
vif = [ 'mac=00:16:3E:00:00:01', 'mac=00:16:3e:00:00:02,bridge=xenbr0' ]  # 指定mac地址、桥到哪个设备上等信息
disk = [ '/xen/images/CentOS6-10-4dom1.img,qcow2,xvda', '/xen/ISO/CentOS-6.10-x86_64-minimal.iso,,xvdb,cdrom,r' ]  # 目标地址(磁盘映像文件)、格式、在DomU中显示的名称、磁盘映像的访问权限(ro、r表示read-only, rw、w表示read/write)
boot = [ 'cd' ]  # 表示设定系统启动次序(c表示硬盘启动、d表示光盘启动、n表示网络启动、cd表示先尝试硬盘启动,不成功再尝试光盘启动)
vnc = 1  
vnclisten = "0.0.0.0"  
vncdisplay = 0  
vncpasswd = "supersecret"

7. 现在就可以创建虚拟机了(用xl create命令)

# -n参数(--dryrun)可先把配置文件跑一下试试,不会加载实例,但能检测语法有没有错误
[root@virt-server ISO]# xl create -n /xen/config.d/centos6-10.cfg
Parsing config from /xen/config.d/centos6-10.cfg
{
    "c_info": {
        "type": "pv",
        "name": "CentOS6.10-001",
        "uuid": "8eb39814-6a54-44eb-834d-3b92f5937cb2",
        "run_hotplug_scripts": "True"
    },
    "b_info": {
        "max_vcpus": 1,
        "avail_vcpus": [
            0
        ],
        "max_memkb": 1048576,
        "target_memkb": 1048576,
        "shadow_memkb": 9216,
        "sched_params": {

        },
        "claim_mode": "True",
        "kernel": "/xen/Kernel/centos6.10/vmlinuz",
        "ramdisk": "/xen/Kernel/centos6.10/initrd.img",
        "type.pv": {

        },
        "arch_arm": {

        }
    },
    "disks": [
        {
            "pdev_path": "/xen/images/CentOS6-10-4dom1.img",
            "vdev": "xvda",
            "format": "qcow2",
            "readwrite": 1
        },
        {
            "pdev_path": "/xen/ISO/CentOS-6.10-x86_64-minimal.iso",
            "vdev": "xvdb",
            "format": "raw",
            "removable": 1,
            "is_cdrom": 1
        }
    ],
    "nics": [
        {
            "devid": 0,
            "mac": "00:16:3e:00:00:01"
        },
        {
            "devid": 1,
            "mac": "00:16:3e:00:00:02",
            "bridge": "xenbr0"
        }
    ],
    "vfbs": [
        {
            "devid": 0,
            "vnc": {
                "enable": "True",
                "listen": "0.0.0.0",
                "passwd": "supersecret"
            },
            "sdl": {

            }
        }
    ],
    "vkbs": [
        {
            "devid": 0
        }
    ],
    "on_reboot": "restart",
    "on_soft_reset": "soft_reset"
}

# 现在来真正创建虚拟机
[root@virt-server ISO]# xl create /xen/config.d/centos6-10.cfg
Parsing config from /xen/config.d/centos6-10.cfg

# 这时候用netstat命令查看包含网络状态和协议统计信息的显示内容,发现出现5900,这是因为配置中的vncdisplay为0,而监听端口=vnc编号+5900
[root@virt-server ISO]# netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:5900            0.0.0.0:*               LISTEN      2368/qemu-system-i3 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1100/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1227/master         
tcp6       0      0 :::22                   :::*                    LISTEN      1100/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1227/master 

8. 接下来用VNCViewer连接一下

# 首先需要关闭防火墙
# 查看防火墙状态(可知处于活跃状态)
[root@virt-server ISO]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2022-03-11 22:49:25 CST; 1h 2min ago
     Docs: man:firewalld(1)
 Main PID: 803 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─803 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid

Mar 11 22:49:16 virt-server systemd[1]: Starting firewalld - dynamic firewall daemon...
Mar 11 22:49:25 virt-server systemd[1]: Started firewalld - dynamic firewall daemon.
Mar 11 22:49:26 virt-server firewalld[803]: WARNING: AllowZoneDrifting is enabled. This is considered an insecure con...t now.
Hint: Some lines were ellipsized, use -l to show in full.

# 接下来把防火墙关掉并disable掉
[root@virt-server ISO]# systemctl stop firewalld
[root@virt-server ISO]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

# 接下来还要关掉enforce
[root@virt-server ISO]# getenforce
Enforcing
[root@virt-server ISO]# setenforce 0
[root@virt-server ISO]# getenforce
Permissive

# 对于enforce来说,或者也可在文件中将其永久关掉
[root@virt-server ISO]# vim /etc/sysconfig/selinux 
[root@virt-server ISO]# cat /etc/sysconfig/selinux 

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 

现在就可以用vncviewer连接在这里插入图片描述
然后是安装虚拟机系统。

在这里插入图片描述

在reboot之前需要修改一下DomU配置文件,即要kernel和ramdisk给注释掉。这是因为我们已经安装完操作系统了,而操作系统本身是有这两个文件的

[root@virt-server ISO]# vim /xen/config.d/centos6-10.cfg 
[root@virt-server ISO]# cat /xen/config.d/centos6-10.cfg 
builder = "generic"
name = "CentOS6.10-001"
memory = 1024
vcpus = 1
bootloader = "pygrub"
#kernel = "/xen/Kernel/centos6.10/vmlinuz"
#ramdisk = "/xen/Kernel/centos6.10/initrd.img"
vif = [ 'mac=00:16:3E:00:00:01', 'mac=00:16:3e:00:00:02,bridge=xenbr0' ]
disk = [ '/xen/images/CentOS6-10-4dom1.img,qcow2,xvda', '/xen/ISO/CentOS-6.10-x86_64-minimal.iso,,xvdb,cdrom,r' ]
boot = [ 'cd' ]
vnc = 1
vnclisten = "0.0.0.0"
vncdisplay = 0
vncpasswd = "supersecret"

现在就可以点上图的reboot进行重启了,重启完成后那个小页面就消失了。

接下来需要修改配置文件后重新创建一下。

# 用xl list查看当前虚拟机状态
[root@virt-server ~]# xl list
Name                                        ID   Mem VCPUs	State	Time(s)
Domain-0                                     0  1024     2     r-----      84.4
CentOS6.10-001                               2  1024     1     --p---       0.0

# 销毁CentOS6.10-001,重新创建
[root@virt-server images]# xl destroy CentOS6.10-001
[root@virt-server images]# xl list
Name                                        ID   Mem VCPUs	State	Time(s)
Domain-0                                     0  1024     2     r-----      86.5

# 修改配置文件
[root@virt-server images]# vim /xen/config.d/centos6-10.cfg
[root@virt-server images]# cat /xen/config.d/centos6-10.cfg
builder = "generic"
name = "CentOS6.10-001"
memory = 1024
vcpus = 1
#kernel = "/xen/Kernel/centos6.10/vmlinuz"
#ramdisk = "/xen/Kernel/centos6.10/initrd.img"
bootloader = "pygrub"
vif = [ 'mac=00:16:3E:00:00:01', 'mac=00:16:3e:00:00:02,bridge=xenbr0' ]
disk = [ '/xen/images/CentOS6-10-4dom1.img,qcow2,xvda' ]
boot = [ 'cd' ]
vnc = 1
vnclisten = "0.0.0.0"
vncdisplay = 0
vncpasswd = "supersecret"

# 重新创建
[root@virt-server images]# xl create /xen/config.d/centos6-10.cfg
Parsing config from /xen/config.d/centos6-10.cfg
[root@virt-server images]# xl list
Name                                        ID   Mem VCPUs	State	Time(s)
Domain-0                                     0  1024     2     r-----      90.1
CentOS6.10-001                               6  1024     1     -b----       2.0

# 查看是否监听在5900端口
[root@virt-server images]# netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:5900            0.0.0.0:*               LISTEN      12631/qemu-system-i 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1016/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1152/master         
tcp6       0      0 :::22                   :::*                    LISTEN      1016/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1152/master

可以看到已经监听在5900端口了,接下来用VNCViewer进行连接
在这里插入图片描述
可以直接启动,且能看到有两个网卡,eth0和eth1,但它们的状态是默认没有启动的,只需要在网卡配置文件中把ONBOOT改为yes即可
在这里插入图片描述
接着重启网络,CentOS6的命令和CentOS7有所不同

service network restart

在这里插入图片描述
在这里插入图片描述
此时我们是可以ping得通外网的
在这里插入图片描述
也是可以ping得通网关的(网关地址在宿主机的网桥配置文件中查看,即[root@virt-server images]# cat /etc/sysconfig/network-scripts/ifcfg-xenbr0
在这里插入图片描述
这说明了,这个新创建的CentOS6虚拟机和我们的宿主机(CentOS7)是在同一个网络内的,而且是可以和外网相通的(宿主机和外网相通、路由器和外网相通,这个新创建的虚拟机就和外网相通,这就是桥接模型)。

此时再回到宿主机上,看下网桥信息

[root@virt-server images]# brctl show
bridge name	bridge id		STP enabled	interfaces
xenbr0		8000.000c2928bf21	no		eth0
							vif6.0
							vif6.1

可以发现多了个6.0和6.1(因为xl list的ID已经到了第6个,前几个没有创建成功)
下面的xen_netback说明是虚拟机的后半段

[root@virt-server images]# lsmod | grep net
nfnetlink              16384  1 ip_set
xen_netback            53248  2 

然后再开一个会话,远程连接dom1,即连接新创建的虚拟机的eth1,即192.168.245.133

[C:\~]$ 

Connecting to 192.168.245.133:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

WARNING! The remote SSH server rejected X11 forwarding request.
Last login: Fri Apr  8 20:04:30 2022
[root@localhost ~]# lsmod | grep net
xen_netfront           18930  0 

可看到它是前半段。
即,我们的虚拟网卡被拆分成前半段和后半段,也就是xen的IO模型,在domU主机上存在IO设备的前半段信息,在宿主机的用户文件上存在它的后半段信息。

9. 再加一块网卡

现在虚拟机有两块网卡eth0和eth1,我们来给它加第三块网卡

[root@virt-server images]# xl network-attach 6 mac=00:16:3e:aa:bb:cc bridge=xenbr0
# 因为我们的虚拟机ID是6,所以用xl network-list 6来查看它的网卡信息
# 可以看到现在已经有三块网卡了
[root@virt-server images]# xl network-list 6
Idx BE Mac Addr.         handle state evt-ch   tx-/rx-ring-ref BE-path                       
0   0  00:16:3e:00:00:01     0     4     11   768/769         /local/domain/0/backend/vif/6/0
1   0  00:16:3e:00:00:02     1     4     12  1280/1281        /local/domain/0/backend/vif/6/1
2   0  00:16:3e:aa:bb:cc     2     4     13  1792/1793        /local/domain/0/backend/vif/6/2

其实在宿主机用ifconfig命令也可以看得到

[root@virt-server images]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::20c:29ff:fe28:bf21  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:28:bf:21  txqueuelen 1000  (Ethernet)
        RX packets 345151  bytes 454832210 (433.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 93589  bytes 15940043 (15.2 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

vif6.0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::fcff:ffff:feff:ffff  prefixlen 64  scopeid 0x20<link>
        ether fe:ff:ff:ff:ff:ff  txqueuelen 32  (Ethernet)
        RX packets 132  bytes 14534 (14.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 532  bytes 62428 (60.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

vif6.1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::fcff:ffff:feff:ffff  prefixlen 64  scopeid 0x20<link>
        ether fe:ff:ff:ff:ff:ff  txqueuelen 32  (Ethernet)
        RX packets 20  bytes 1844 (1.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 383  bytes 44262 (43.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

vif6.2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::fcff:ffff:feff:ffff  prefixlen 64  scopeid 0x20<link>
        ether fe:ff:ff:ff:ff:ff  txqueuelen 32  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 64  bytes 6581 (6.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

xenbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.245.131  netmask 255.255.255.0  broadcast 192.168.245.255
        inet6 fe80::20c:29ff:fe28:bf21  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:28:bf:21  txqueuelen 1000  (Ethernet)
        RX packets 31354  bytes 1598979 (1.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 31742  bytes 9047665 (8.6 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

原来只有vif6.0和vif6.1,现在添加了个vif6.2。

我们在DomU上查看一下,

[root@localhost ~]# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:16:3E:00:00:01  
          inet addr:192.168.245.132  Bcast:192.168.245.255  Mask:255.255.255.0
          inet6 addr: fe80::216:3eff:fe00:1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:631 errors:0 dropped:0 overruns:0 frame:0
          TX packets:179 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:63447 (61.9 KiB)  TX bytes:22696 (22.1 KiB)
          Interrupt:245 

eth1      Link encap:Ethernet  HWaddr 00:16:3E:00:00:02  
          inet addr:192.168.245.133  Bcast:192.168.245.255  Mask:255.255.255.0
          inet6 addr: fe80::216:3eff:fe00:2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:405 errors:0 dropped:0 overruns:0 frame:0
          TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:41627 (40.6 KiB)  TX bytes:2124 (2.0 KiB)
          Interrupt:244 

eth2      Link encap:Ethernet  HWaddr 00:16:3E:AA:BB:CC  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:243 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

可看到添加了个eth2.
现在我们把eth2启用一下(现在没有启用,只用ifconfig命令的话,不会显示eth2)

[root@localhost ~]# ifconfig eth2 192.168.245.134 up
[root@localhost ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:16:3E:00:00:01  
          inet addr:192.168.245.132  Bcast:192.168.245.255  Mask:255.255.255.0
          inet6 addr: fe80::216:3eff:fe00:1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:763 errors:0 dropped:0 overruns:0 frame:0
          TX packets:234 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:74081 (72.3 KiB)  TX bytes:30446 (29.7 KiB)
          Interrupt:245 

eth1      Link encap:Ethernet  HWaddr 00:16:3E:00:00:02  
          inet addr:192.168.245.133  Bcast:192.168.245.255  Mask:255.255.255.0
          inet6 addr: fe80::216:3eff:fe00:2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:442 errors:0 dropped:0 overruns:0 frame:0
          TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:45203 (44.1 KiB)  TX bytes:2124 (2.0 KiB)
          Interrupt:244 

eth2      Link encap:Ethernet  HWaddr 00:16:3E:AA:BB:CC  
          inet addr:192.168.245.134  Bcast:192.168.245.255  Mask:255.255.255.0
          inet6 addr: fe80::216:3eff:feaa:bbcc/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:66 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:5837 (5.7 KiB)  TX bytes:238 (238.0 b)
          Interrupt:243 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

这个网卡是可以PING得通baidu.com的(用命令```ping baidu.com -I 192.168.245.134来指定从该网卡ping外网),且宿主机也是ping得通这个新加的网卡的。

10. 删除网卡

在宿主机上,删除网卡

[root@virt-server images]# xl network-list 6
Idx BE Mac Addr.         handle state evt-ch   tx-/rx-ring-ref BE-path                       
0   0  00:16:3e:00:00:01     0     4     11   768/769         /local/domain/0/backend/vif/6/0
1   0  00:16:3e:00:00:02     1     4     12  1280/1281        /local/domain/0/backend/vif/6/1
2   0  00:16:3e:aa:bb:cc     2     4     13  1792/1793        /local/domain/0/backend/vif/6/2
[root@virt-server images]# xl network-detach 6 2
[root@virt-server images]# xl network-list 6
Idx BE Mac Addr.         handle state evt-ch   tx-/rx-ring-ref BE-path                       
0   0  00:16:3e:00:00:01     0     4     11   768/769         /local/domain/0/backend/vif/6/0
1   0  00:16:3e:00:00:02     1     4     12  1280/1281        /local/domain/0/backend/vif/6/1

然后我们可以到虚拟机上去查看一下

[root@localhost ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:16:3E:00:00:01  
          inet addr:192.168.245.132  Bcast:192.168.245.255  Mask:255.255.255.0
          inet6 addr: fe80::216:3eff:fe00:1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2060 errors:0 dropped:0 overruns:0 frame:0
          TX packets:811 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:177159 (173.0 KiB)  TX bytes:117744 (114.9 KiB)
          Interrupt:245 

eth1      Link encap:Ethernet  HWaddr 00:16:3E:00:00:02  
          inet addr:192.168.245.133  Bcast:192.168.245.255  Mask:255.255.255.0
          inet6 addr: fe80::216:3eff:fe00:2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:694 errors:0 dropped:0 overruns:0 frame:0
          TX packets:159 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:67798 (66.2 KiB)  TX bytes:15262 (14.9 KiB)
          Interrupt:244 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

可以看到第三块网卡已经被删除了

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值