我正在尝试 Openstack 的单节点安装。我有一台 HP 刀片服务器,上面安装了 Ubuntu 服务器 14.04。我创建了一个开放的虚拟交换机和一个虚拟端口。我按照此链接设置了 KVM:https://help.ubuntu.com/lts/serverguide/libvirt.html.
我必须在 KVM 上为控制器创建另一个 VM,该控制器也必须具有 Ubuntu 服务器。我目前已将 iso 文件安装到一个文件夹中。在这一点之后我陷入困境。我需要有关如何在此 KVM 上创建 VM 并在其上加载 Ubuntu 服务器的指导。
以下是使用 OVS 创建 KVM 机器的步骤列表。
安装KVM
检查机器是否支持 KVM。
egrep -c '(vmx|svm)' /proc/cpuinfo
输出:如果支持 KVM,则应返回大于 0 的值。
检查是否是64位内核
egrep -c 'lm' /proc/cpuinfo
输出:如果是 64 位内核,则应返回大于 0
安装KVM及相关依赖项
sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder virtinst bridge-utils uml-utilities
将当前用户添加到libvert
sudo adduser $USER libvirtd
验证安装是否成功
virsh -c qemu:///system list
输出:应该返回空列表并且没有任何错误。
默认配置位置
/var/lib/libvirt/
/var/lib/libvirt/boot/
/var/lib/libvirt/images/
/etc/libvirt/
默认情况下,libvirt 将创建“默认”网络,检查其是否存在。
sudo virsh net-list
查看网络信息。
sudo virsh net-info default
or
sudo virsh net-dumpxml default
默认情况下,VNC 在本地主机上运行,更改配置以便可以远程访问。
编辑/etc/libvirt/qemu.conf
vnc_listen = "0.0.0.0"
这将启用来自所有主机的连接,
编辑/etc/libvirt/libvirtd.conf
listen_tcp = 1
检查vnc和libvirt使用的端口是否打开。如果您使用防火墙:
sudo ufw status verbose
重启系统
创建虚拟机
sudo virt-install \
--name kp-devstack \
--ram 1524 \
--vcpus=4 \
--os-variant=linux \
--virt-type kvm \
--cdrom=ubuntu-16.04-server-amd64.iso \
--network network=default,model=virtio \
--graphics vnc \
--disk path=/home/kprasad/images/ububtu64.img,size=25,bus=virtio
如果虚拟机是 64 位,请将 RAM 设置为大于 2GB
如果支持 kvm,则将 virt-type 设置为 kvm,否则 qemu 其他选项是 xen。
您可以将网络设置为默认或点击稍后显示的以使用ovs
安装GuestVM。
检查vnc ip和端口
sudo virsh dumpxml kp-devstack | grep vnc
连接VNC服务器
A。如果你的 ubuntu 机器有 GUI,你可以使用 vnc 客户端
b.如果你想从 Windows 连接到 vnc 服务器,你可以使用真正的 vnc
C。在服务器文本框中输入安装虚拟机的 ubuntu 机器的 IP 地址,格式如下
<ip-address:<port>
单击“确定”后,将打开一个窗口。
Openvswitch 的安装和设置
安装依赖项
sudo apt-get install openvswitch-common openvswitch-pki openvswitch-dbg openvswitch-switch openvswitch-ipsec openvswitch-switch-dpdk openvswitch-vtep openvswitch-switch
云环境中一般会分配两个或多个网卡,大多数情况下至少有两个网卡,一个用于管理,另一个用于数据网络。假设 eth0 用于管理网络,eth1 用于数据网络。
编辑 /etc/network/interfaces 文件将 eth1 iface 加载设置为手动
auto eth1
iface eth1 inet manual
创建桥梁
sudo ovs-vsctl add-br br0
将 eth1 接口添加到网桥
sudo ovs-vsctl add-port br0 eth1
为 libvirt 创建 Openvswitch 网络
创建要加载到 libvirt 的 xml 文件
<network>
<name>ovs-net</name>
<forward mode='bridge'/>
<bridge name='br0'/>
<virtualport type='openvswitch' />
</network>
使用 xml 创建网络
sudo virsh net-create kp-ovs.xml
检查网络是否创建成功
sudo virsh net-dumpxml ovs-net
创建网卡并连接到虚拟机
列出附加到 VM 的接口
sudo virsh domiflist kp-devstack
将网卡连接到 OVS 网络
sudo virsh attach-interface --domain kp-devstack --type network --source ovs-net --model virtio --config --live
验证网卡已创建
sudo virsh domiflist kp-devstack
创建的第二个网卡也应该在 openvswitch 中可见
sudo ovs-vsctl show
ssh虚拟机
检查第二个网卡是否已添加
sudo ifconfig -a
如果网卡添加成功,将其调出
sudo ifconfig eth1 up
8 使用 dhcp 分配 IP 地址
sudo ifconfig eth1 0
sudo dhclient eth1
删除虚拟机
virsh list --all
virsh destroy kp-devstack
virsh undefine kp-devstack
virsh vol-list --pool
virsh vol-delete --pool images ububtu64.img