2.调整KVM服务器 问题 沿用练习一,通过对KVM服务器做适当调整,为KVM虚拟机的网络访问及磁盘存储提供条件。主要完成以下事项: 1)建立隔离网卡virbr1 2)建立桥接网卡br0 3)建立一个不小于40G的文件系统,挂载到 /data/作为虚拟机的专用空间 方案 KVM的虚拟网络类型: 1)桥接模式:Guest与Host连接到同一个交换机上;通过桥接物理网卡,相当于直连到Host所在网络 2)隔离模式:允许Guest访问同一虚拟交换机上的其他Guest;但是不能访问Host所在的外部网络 3)虚拟机的网络访问类型: 4)NAT模式(默认):将Guest虚拟机的默认网关指向Host物理机的virtbr0接口的IP地址;Guest共享真机的网络连接,以地址转换的方式访问外网 5)路由模式:由Host物理机充当路由器,开启转发;需要额外设置外网与Guest虚拟机之间互访的路由条目,Guest以路由转发的方式访问外网 步骤 实现此案例需要按照如下步骤进行。 步骤一:建立隔离网卡virbr1 1)打开KVM平台的“虚拟网络”配置窗口 在KVM平台提供的“虚拟系统管理器”界面中,单击菜单“编辑”–>“Connection Details”,即可打开虚拟网络配置窗口,如图-2所示。可以看到已经有一个默认的default网络,对应的是物理机上名为virbr0的接口。 图-2 2)添加新的虚拟网络 单击第1)步中虚拟网络配置窗口左下方的加号按钮,即可打开“创建新的虚拟网络”向导程序,如图-3所示。 图-3 为新建的虚拟网络起一个名字,比如network1,如图-4所示,单击“前进”继续。这里的网络名称只提供给KVM内部管理使用,外部的ifconfig命令是看不到的。 图-4 接下来需要为这个虚拟网络使用IP地址段,比如192.168.4.0/24,如图-5所示,确认无误后再单击“前进”继续。 图-5 提示选择DHCP范围时,不要勾选“启用DHCP”,如图-6所示。因为本例会另外搭建支持PXE的DHCP服务器,而这里KVM自带的DHCP服务是不支持PXE的,两者同时启用会发生冲突。 图-6 单击“前进”继续,接受默认的隔离模式以连接到物理网络,如图-7所示。 图-7 前进后确认上述设置,单击“完成”即可,如图-8所示。 图-8 3)确认创建结果 建立完成后,在虚拟网络中会出现一个名为network1的接口,对应的物理机上会自动增加一个虚拟网卡virbr1,如图-9所示。 图-9 从Linux命令行执行ifconfig命令,可以看到新增的隔离网卡virbr1的信息: [root@kvmsvr ~]# ifconfig … …
virbr0 Link encap:Ethernet HWaddr 52:54:00:6F:5C:38 inet addr:192.168.122.1 Bcast:192.168.122.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: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)
virbr1 Link encap:Ethernet HWaddr 52:54:00:1B:67:38 inet addr:192.168.4.1 Bcast:192.168.4.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: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) 步骤二: 建立桥接网卡br0 1)新建网卡配置文件ifcfg-br0 直接拷贝本地网卡eth0的配置文件: [root@kvmsvr ~]# cd /etc/sysconfig/network-scripts/ [root@kvmsvr network-scripts]# cp ifcfg-eth0 ifcfg-br0 修改复制的ifcfg-br0配置文件: [root@kvmsvr network-scripts]# vim ifcfg-br0 DEVICE=br0 //网络设备的名称 //如果有UUID、MAC地址的设置请删除 TYPE=Bridge //连接类型 ONBOOT=yes NM_CONTROLLED=no //不接受NetworkManager管理 BOOTPROTO=dhcp //参考原网卡配置信息 IPV6INIT=no USERCTL=no PEERDNS=yes 2)将物理网卡eth0连接到br0桥接(作为桥接成员): 修改ifcfg-eth0配置文件: [root@kvmsvr network-scripts]# vim ifcfg-eth0 … … BRIDGE=br0 //指定桥接设备为br0
[root@kvmsvr network-scripts]# service network restart //重启network服务 正在关闭接口 eth0: bridge br0 does not exist! [确定] 关闭环回接口: [确定] 弹出环回接口: [确定] 弹出界面 eth0: [确定] 弹出界面 br0: 正在决定 br0 的 IP 信息…完成。 [确定] 3)查看桥接配置 如果桥接br0启用成功,默认情况下成员网卡eth0的IP地址会丢失,而转移到桥接接口br0上来,以后就可以从br0接口去访问物理网络了。 [root@kvmsvr ~]# ifconfig br0 Link encap:Ethernet HWaddr 00:0C:29:DF:23:54 inet addr:172.30.6.124 Bcast:192.168.213.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fedf:2354/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4 errors:0 dropped:0 overruns:0 frame:0 TX packets:10 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:752 (752.0 b) TX bytes:1236 (1.2 KiB)
eth0 Link encap:Ethernet HWaddr 00:0C:29:DF:23:54 inet6 addr: fe80::20c:29ff:fedf:2354/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:44 errors:0 dropped:0 overruns:0 frame:0 TX packets:48 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:13485 (13.1 KiB) TX bytes:4325 (4.2 KiB) … … 步骤三:为虚拟机准备存储空间 1)建立一个不小于40G的文件系统,作为存储KVM虚拟机的磁盘 为了方便空间扩展,建议采用LVM的方式。 首先利用磁盘/dev/sda的剩余空间新建一个120GB的分区,比如/dev/sda6;然后将其创建为新的LVM卷组vg_data: [root@kvmsvr ~]# pvcreate /dev/sda6 //将sda6转为物理卷 Physical volume “/dev/sda6” successfully created
[root@kvmsvr ~]# vgcreate vgdata /dev/sda6 //创建vgdata卷组 Volume group “vgdata” successfully created 从卷组vg_data中划分一个40GB的逻辑卷kvm_disk,并将此逻辑卷格式化成EXT4文件系统: [root@kvmsvr ~]# lvcreate -L 40G -n kvm_disk vgdata //创建逻辑卷 Logical volume “kvm_disk” created
[root@kvmsvr ~]# mkfs.ext4 /dev/vgdata/kvm_disk //格式化 … … 2)将逻辑卷kvm_disk挂载到/data目录 [root@kvmsvr ~]# mkdir /data [root@kvmsvr ~]# mount /dev/vgdata/kvm_disk /data/ //挂载kvm_disk卷
[root@kvmsvr ~]# df –hT //确认挂载结果 Filesystem Type Size Used Avail Use% Mounted on … … /dev/mapper/vgdata-kvm_disk ext4 40G 176M 38G 1% /data
[root@kvmsvr ~]# vim /etc/fstab //配置开机挂载 … … /dev/vgdata/kvm_disk /data ext4 defaults 0 0 3)为第一个虚拟机准备磁盘文件 在kvm_disk卷的挂载点/data下建立一个images文件夹,专门用来存放KVM虚拟机的磁盘镜像文件;提前准备的时候,可以采用dd命令建立空设备。比如,为第一个虚拟机准备一个名为node1.img的设备文件,可参考下列操作: [root@kvmsvr ~]# mkdir /data/images //创建虚拟机镜像存放位置 [root@kvmsvr ~]# dd if=/dev/zero of=/data/images/node1.img bs=10M count=1000 记录了1000+0 的读入 记录了1000+0 的写出 10485760000字节(10 GB)已复制,57.9449 秒,181 MB/秒