实验要求: 在真机中搭建两台虚拟机
虚拟机 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 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 地址点选 +
点选资源池
点选分配
点选关联
更换管理员
点选管理员
点选主机聚合
点选虚拟机管理器
来源: http://www.bubuko.com/infodetail-2665528.html