实验要求:在真机中搭建两台虚拟机 虚拟机A 8G内存 200G硬盘sda 20G硬盘sdb 虚拟机B 5G内存 200G硬盘sda

真机安装虚拟机安装,依赖包 qemu-kvm libvirt-client libvirt-daemon libvirt-daemon-driver-qemu

添加真机路由转发 vim /etc/sysctl.d/70-system.conf net.ipv4.ip_forward = 1

清空真机虚拟网络 rm -rf /etc/libvirt/qemu/networks/autostart/

关闭selinux,关闭firewall

添加第一块虚拟网卡veth1 vim /etc/libvirt/qemu/networks/veth1.xml <network>
<name>veth1</name> <bridge name="veth1"/> <forword mode="nat"/> <ip address="192.168.1.254" netmask="255.255.255.0"> <dhcp> <range start="192.168.1.100" end="192.168.1.200"/> </dhcp> </ip> 添加第二块虚拟网卡veth2 vim /etc/libvirt/qemu/networks/veth2.xml <network>
<name>veth2</name> <bridge name="veth2"/> <forword mode="nat"/> <ip address="192.168.2.254" netmask="255.255.255.0"> <dhcp> <range start="192.168.2.100" end="192.168.2.200"/> </dhcp> </ip> </network> </network>

定义虚拟网卡 virsh net-define veth1.xml virsh net-define veth2.xml

启用网络 virsh net-start veth1 virsh net-start veth2

自动启用虚拟网络 virsh net-autostart veth1 virsh net-autostart veth2

创建qcow2格式镜像磁盘模板 cd /var/lib/libvirt/images/ qemu-img create -f qcow2 node.qcow2 16G

在真机配置一台yum源linux安装服务器(ftp,http) 新建虚拟机 网络安装 url:http://127.0.0.1/centos7 内存2G cpu 2颗 选择或创建自定义存储 /var/lib/libvirt/images/node.qcow2 点选前进 根据条件,可选择最小化安装

(分区只分一个根, 标准分区 语言用默认英文 关闭kdump)

模板虚拟机上操作 配置yum源 安装net-tools 来使用ifconfig命令 安装vim-enhanced 来使用vim 安装iproute 使用ip命令 安装bash-completion 自动补齐

停用selinux,删除firewall软件 删除这个软件,使用默认的network服务 yum remove NetworkManager* 禁用空路由 vim /etc/sysconfig/network NOZEROCONF="yes" 增加虚拟机console tty0接口 vim /etc/sysconfig/grub GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet console=tty0 console=ttyS0,115200n8"

可以自定义yum源 关闭虚拟机

真机

cd /etc/libvirt/qemu cp centos7.0.xml /roo

取消定义之前的virt-manager图形管理里面的centos7 virsh undefine centos7.0 修改模板 vim centos7.0.xml 删除uuid 删除总线地址 <address .../> 删除mac地址 删除包含usb的部分 删除clock部分 删除sound部分 删除video部分 修改完毕后,作为模板使用创建虚拟机 虚拟机模板:http://pan.baidu.com/s/1Q5MN4m2z8MyPoB31vfyiVg 别全照抄,把需要更改的地改下 密码: a82e

创建虚拟机 1、创建虚拟机配置文件 拷贝模板到/var/lib/libvirt/qemu/node1.xml 修改name字段,修改磁盘文件 3 <name>node1</name> 29 <source file='/var/lib/libvirt/images/node1.img'/> 2、创建虚拟机磁盘文件 [root@room9pc01 ~]# cd /var/lib/libvirt/images/ [root@room9pc01 images]# qemu-img create -b node.qcow2 -f qcow2 node1.img 200G [root@room9pc01 images]# qemu-img create -b node.qcow2 -f qcow2 node1.qcow2 20G //以之前创建的node.qcow2作为模板复制一个node1.img镜像 [root@room9pc01 qemu]# cd /var/lib/libvirt/qemu [root@room9pc01 qemu]# virsh define node1.xml 定义域 node1(从 node1.xml)root

[root@room9pc01 qemu]# virsh start node1 域 node1 已开始 [root@room9pc01 qemu]# virsh console node1 成功连接

第二台虚拟机按需更改之前的配置

openstack安装环境准备 在真机上 安装配置 dns,能做为一个转发dns服务器 yum -y install bind-chroot vim /etc/named.conf listen-on port 53 { 192.168.1.254; }; //listen-on-v6 port 53 { ::1; }; recursion yes; forwarders { 114.114.114.114; };

    dnssec-enable no;
    dnssec-validation no;

安装配置 chronyd server yum -y install -y chronyd vim /etc/chronyd.conf server ntp1.aliyun.com iburst bindacqaddress 0.0.0.0 allow 0/0

systemctl restart chronyd chronyc sources -v 2 配置两台虚拟机(安装前配置网络) 第一台安装管理节点需要8G内存 单独加一块硬盘给openstack cinder 使用20G 单独加一块网卡 eth1,eth2 第二台安装nova节点,最少5G内存 单独加一块网卡 eth1,eth2

两台虚拟机上操作 下载 RPM-GPG-KEY-CentOS-7 wget http://192.168.1.254/cloud1/RPM-GPG-KEY-CentOS-7

[root@open..nova ~]# rpm --import RPM-GPG-KEY-CentOS-7

将yum源签名认证改为1 [CentOS7-1708] name=CentOS7-1708 baseurl=http://192.168.2.254/cloud1 enabled=1 gpgcheck=1

yum -y install qemu-kvm libvirt-client libvirt-daemon libvirt-daemon-driver-qemu python-setuptools

yum install lftp lrzsz

yum -y install cloud-utils-growpart LANG=en_US.UTF-8 growpart /dev/vda 1 xfs_growfs /

[root@open..nova ~]# systemctl stop NetworkManager [root@open..nova ~]# systemctl disable NetworkManager openstack 机器在上安装 yum -y install lvm2 pvcreate /dev/vdb vgcreate cinder-volumes /dev/vdb vgs

[root@openstack~]# yum install -y openstack-packstack [root@openstack~]# packstack --gen-answer-file answer.txt

sed -i "11c CONFIG_DEFAULT_PASSWORD=Taren1" /root/answer.txt sed -i "42c CONFIG_SWIFT_INSTALL=n" /root/answer.txt sed -i "75c CONFIG_NTP_SERVERS=192.168.1.254" /root/answer.txt sed -i "98c CONFIG_COMPUTE_HOSTS=192.168.1.10,192.168.1.11" /root/answer.txt sed -i "102c CONFIG_NETWORK_HOSTS=192.168.1.10,192.168.1.11" /root/answer.txt sed -i "554c CONFIG_CINDER_VOLUMES_CREATE=n" /root/answer.txt sed -i "840c CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan" /root/answer.txt sed -i "876c CONFIG_NEUTRON_ML2_VXLAN_GROUP=239.1.1.5" /root/answer.txt sed -i "910c CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex" /root/answer.txt sed -i "921c CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0" /root/answer.txt sed -i "936c CONFIG_NEUTRON_OVS_TUNNEL_IF=eth1" /root/answer.txt sed -i "1179c CONFIG_PROVISION_DEMO=n" /root/answer.txt

[root@openstack ~]# packstack --answer-file answer.txt

之后进行安装,耐心等待30分钟时间左右

修复bug [root@openstack ~]# vim /etc/httpd/conf.d/15-horizon_vhost.conf 36 WSGIApplicationGroup %{GLOBAL} [root@openstack ~]# systemctl restart httpd

openstack 默认登陆信息,在root下一个叫key.*打头的文件中,可以用cat打开,有默认的帐号密码

http://192.168.1.10 用户名 admin 密码 cat 192.168.1.10:/root/keystonerc_admin

右上角点选“项目”选项 点选创建项目 输入描述信息 点选配额选项

点选“身份管理”选项 身份管理-创建用户-输入用户名-密码-确认密码-点选项目

点选项目-镜像-创建镜像 输入镜像名称 输入描述信息 文件点选浏览 点选对应文件 镜像格式 QCOW2-QEMU模拟器 镜像要求不要去更改任何设置 点选创建镜像文件 有一个小bug,进度条满后,点选镜像选项按钮刷新,状态运行中就ok!

点选顶端列表,管理员-云主机类型-创建云主机类型 例:名称* vcpu 2 内存 512MB 根磁盘 3G 创建 ———————————————————————————————————————————————— 点选顶端列表,管理员-网络-创建网络 名称:public 项目:nsd 物理网络:physnet1 供应商:Flat 共享的,外部网络 勾选 —————————————————————————————————————————————————————————— 切换用户(配置实例) 切换项目用户

选项网络-网络-增加子网 子网名称:wan 网络地址:192.168.1.0/24 网关:192.168.1.254
下一步: 勾掉激活DHCP 以创建

创建用户专属内网 点选网络-网络拓扑 网络名称:lan  下一步 子网名称:lan 网络地址:192.168.100.0/24 网络IP:192.168.100.254 下一步 激活DHCP 分配地址池 192.168.100.50,192.168.100.100 dns服务器 192.168.1.254 以创建  —————————————————— 创建路由 点选网络拓扑-路由-新建路由 路由名称:r1 外部网络:public 点选路由图标 点选路由名称超链接 点选接口 增加接口 子网:lan192.168.100.0/24 ip地址:192.168.100.254


点选项目-云主机数量-创建云主机 云主机名称:host1 源:点选镜像,不创建新的卷 下方镜像可用:点选+ 云主机类型:点选对应类型+ 网络:点选专属的内部网络lan+ 创建云主机 ————————————————————————————————————————————————————————————— 点选计算-云主机数量-控制台-点击只显示控制台-点选返回 默认只能单向访问 点选访问和安全 点选管理规则 删除ipv6 点选访问和安全 点选创建安全组 名称:ssh 管理规则 规则:定tcp规则 方向:入口 打开端口:端口 端口:22 远程:cidr cidr:0.0.0.0


点选云主机数量: 点选下拉菜单-编辑安全组-把默认default改成ssh规则-保存


点选计算-云主机数量-点选主机后端的下拉菜单-点选绑定浮动ip ip地址点选+ 点选资源池 点选分配 点选关联


更换管理员 点选管理员 点选主机聚合 点选虚拟机管理器