设为首页 收藏本站
查看: 3313|回复: 2

[经验分享] OpenStack安装,配置与使用(ubuntu)

[复制链接]

尚未签到

发表于 2019-2-19 10:01:10 | 显示全部楼层 |阅读模式
开始:
         环境准备

网络1:物理机与虚拟机相连。host-only,用于管理网络。DHCP off
网络2:OpenVswitch 占用网路。Host-only。
网络3:数据通讯网络。Host-only。指的是存储数据的大规模数据
网络4:链接internet网络。NAT
ubuntu只能以普通账户登录
$ sudo passwd root      //启动root
$ su - root
虚拟机4网卡
vmnet2—hostonly 192.168.56.1
vmnet3—hostonly 192.168.57.1
vmnet4—hostonly 192.168.58.1
vmnet5—NAT
修改vmware Fusion vmnet
/Library/Preferences/VMware\Fusion/networking
修改ubuntu 网络配置
vim /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
        address 192.168.56.180
        netmask 255.255.255.0
        network 192.168.56.0
        broadcast 192.168.56.255
        gateway 192.168.56.1
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 8.8.8.8
auto eth1
iface eth1 inet dhcp
auto eth2
iface eth2 inet dhcp
auto eth3
iface eth3 inet static
        address 10.0.2.2
        netmask 255.255.255.0
        gateway 10.0.2.1
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 8.8.8.8
重启电脑后,需要虚拟机可以ping通过外网,通过NAT网卡
查看命令 route (如过default默认为192.168.56.1 0.0.0.0 eth)
删除默认 route del default gw 192.168.56.1 eth0
增加默认 route add default gw 10.0.2.1 eth3
如果仍然ping 百度显示unkonw
vi /etc/nsswitch.conf
hosts: files dns
networks: files
改成:
hosts: files dns wins
networks: files
如果不一样的话,就在hosts:原来那行后面加个wins 就行了。
本地更新源
root@ubuntu:~# mount /dev/sdb1 /data/   挂载光盘
root@ubuntu:~# vim /etc/nginx/sites-enabled/default     //nginx的配置文件
root@ubuntu:~#nginx -t
root@ubuntu:~#nginx    //启动nginx
或者
root@ubuntu:~#service nginx  
s-allinone主机:
root@s-allinone:~# cp /etc/apt/sources.list /etc/apt/sources.list.bak    //备份文件
root@s-allinone:~# vim /etc/apt/sources.list
:%s,us.archive.ubuntu.com,192.168.1.108/archive.ubuntu.com,g    //替换为本地源
并且注释掉全部的security.ubuntu.com相关选项
可以增加置MongoDB源
deb http://192.168.1.108/downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen
网络更新源:
#vim /etc/apt/sources.list
:%s,us.archive.ubuntu.com,cn.archive.ubuntu.com,g
注释掉zib
#apt-get update
拷贝openstack-ubuntu-14.04到vbox
#scp -pr openstack-ubuntu-14-04.tar.gz root@192.168.56.180:~/
#mv openstack-ubuntu-14-04.tar.gz /opt/
#tar -zxvf openstack-ubuntu-14-04.tar.gz
#cd openstack-ubuntu-14-04/
初始化
#./init.sh
#./create_link.sh


安装keystone



运行初始化脚本
#cd openstack-ubuntu-14-04/
#./init.sh
#./create_link.sh
创建repo数据库
#cd tools/
#./create_http_repo.sh
查看
#ls /var/www/html/pip/
一、安装mysql
#cd chap03/
#cd mysql/
修改变量
#vim localrc
MYSQL_ROOT_PASSWORD=mysqlpassword(root密码视情况修改)
MYSQL_HOST=192.168.56.180(用与主机互联IP)
#hostname -I (不可以使用vswitch和数据IP)
#./mysql.sh 执行安装脚本
数据库连接过慢,解决方法:
#vim /etc/mysql/my.cnf
skip-external-locking
skip-name-resolve  ---增加此行
重启Mysql服务
#/etc/init.d/mysql restart
Root用户连接mysql数据库
#mysql -uroot -pmysqlpassword
mysql>exit
or
#mysql -uroot -pmysqlpassword -h192.168.56.180
mysql>exit
#cd rabbitmq/
#vim localrc
#./rabbitmq.sh
#service rabbitmq-server status
#cd keystone/
#ls
#vim localrc
#./keystone.sh
# cd ~
# source keyrc
# keystone user-list
# keystone endpoint-list
# keystone tenant-list
# ps aux | grep keystone
日志文件
# cd /var/log/nova/keystone.log
查看指定用户
# keystone user-list
# keystone user-get e1258ecd555c4a428e05c
# keystone tenant-list
# keystone tenant-get d38d90cf297941a38f32
查看当前磁盘,sda系统、sdb-swift、sdc-cinder
# fdisk -l
安装swift

#cd chap04/
修改变量IP
# vim localrc
使用主机IP通信
# hostname -I
安装脚本
# ./swift.sh
# ./swift-storage.sh
查看挂在
# mount
/dev/sdb on /srv/node/sdb1 type xfs (rw)
删除重复挂载
# vim /etc/fstab
/dev/sdb /srv/node/sdb1 xfs noatime,nodiratime,nobarrier,logbufs=8 0 0
swift的重要组件路径
# ls /srv/node/sdb1/
查看
# ps aux | grep swift
日志
# ls /var/log/swift/
家目录执行
# source swiftrc
查看状态
# swift stat
查看帮助
# swift --help
查看存储文件夹
# swift list
创建存储文件夹
# swift post mydir
上传swiftrc到存储的mydir上
# swift upload mydir swiftrc
查看存储文件夹内文件
# swift list mydir
下载存储上mydir文件夹内的swiftrc文件
# swift download mydir swiftrc
删除存储上mydir内的swiftrc文件
# swift delete mydir swiftrc
安装Glance

# cd chap05
修改配置文件
# vim localrc
已经安装了swift的话,使用以下脚本
# ./glance-with-swift.sh
查看运行的glance
# ps aux | grep glance
家目录查看
# cd
# source glancerc
查看存储状况
# glance index
日志文件
# ls /var/log/glance/
安装Quantum

# cd chap06/
修改配置文件
# vim localrc
安装quantum服务
# ./quantum.sh
安装代理服务
# ./quantum-agent.sh
修改网卡配置
# vim /etc/network/interfaces
修改eth3,增加br-ex桥接
auto eth3
iface eth3 inet manual
        up ip link set $IFACE up
        down ip link set $IFACE down
auto br-ex
iface br-ex inet static
        address 10.0.2.100
        netmask 255.255.255.0
        gateway 10.0.2.1
        dns-nameservers 8.8.8.8
重启网卡
# ifconfig eth3 down
# ifconfig eth3 0.0.0.0 up
增加网卡link
# ip link eth3 promisc on (14.04开始本条命令作废)
# ovs-vsctl add-port br-ex eth3
启动link网卡
# ifdown br-ex
# ifup br-ex
查看网卡状态
# ifconfig (eth3的IP消失出现在br-ex上)
开启ipv4的转发功能
# vim /etc/sysctl.conf
net.ipv4.ip_forward=1
# sysctl -p
or
# echo 1 > /proc/sys/net/ipv4/ip_forward
# cat /proc/sys/net/ipv4/ip_forward
测试内网可以通信
# ping www.baidu.com
读取变量
# source quantumrc
查看网络配置
# quantum net-list
日志位置
# ls /var/log/quantum/
查看启动进程
# ps aux | grep quantum
安装Cinder

# cd chap07
修改配置文件
# vim localrc
查看本地为cinder准备的磁盘
# fdisk -l /dev/sdc
安装cinder API
# ./cinder.sh
安装Cinder卷(真正的存储服务)
# ./cinder-volume.sh
查看cinder服务
# ps aux | grep cinder
查看日志文件
# ls /var/log/cinder/
读取cinder变量
#  source cinderrc
查看cinder内容
#  cinder list
安装nova

# cd chap08
# cd /opt/openstack/allinone/
修改配置文件
# vim localrc
安装nova
# ./nova-api.sh
安装虚拟机管理
# ./nova-compute.sh
查看nova进程
# ps aux | grep nova
查看nova日志
# ls /var/log/nova/
读取nova变量
# source novarc
查看nova状态
# nova list
# virsh list --all
安装Dashboard

cd chap09
修改配置
# vim localrc
安装平台
# ./dashboard.sh
在真机或其他主机访问:http://192.168.56.180
登录的用户名及密码:
# cat localrc
……
#---------------------------------------------
# Keystone
#---------------------------------------------
MYSQL_KEYSTONE_USER=keystone
MYSQL_KEYSTONE_PASSWORD=keystone_password
KEYSTONE_HOST=192.168.56.180
ADMIN_PASSWORD=admin_user_password
ADMIN_TOKEN=admin_token
SERVICE_TOKEN=$ADMIN_TOKEN
ADMIN_USER=admin
SERVICE_TENANT_NAME=service
……
openstack网络及使用


#cd openstack/tools/
#cp -rf create.network.sh ~/
#cp -rf cinderrc adminrc
#vim adminrc
#source adminrc
查看
#keystone user-list
#keystone endpoint-list
#keystone service-list
创建网络
# cp -rf /usr/local/bin/quantum /usr/local/bin/neutron
# cat ~/create.network.sh
# register cirros
#neutron router-create router01
#Router_ID=`neutron router-list | grep router01 | awk '{ print $2 }'`
# 这里建一个内部网络。这个内部网络与真实的物理机网络没有任何关系,是虚拟的。
# 但是网关,我们仍然习惯性的写成xxxx.1,采用默认的最好,不容易出问题。
#neutron net-create int_net
#neutron subnet-create \
    --gateway 192.168.100.1 --dns-nameserver 8.8.8.8 int_net 192.168.100.0/24
# 得到内部网络的ID号。
#Int_Subnet_ID=`neutron net-list | grep int_net | awk '{ print $6 }'`
在这里可以查看一下网路结构图
登录192.168.56.180查看 项目>>Network Topology 及 admin>>Networks
以上为内网,如果上网需要添加路由器。
如下:
# 给刚才创建内部网络添加router.
#neutron router-interface-add $Router_ID $Int_Subnet_ID
此时查看Network Topology发生变化
# 这里再创建一个外部网络,这个外部网络是与真实的物理网络对应的。
#neutron net-create ext_net --router:external=True
# 我从物理机的交换机那里向网管要的一段IP地址,就是150到254。
# 所以我这里必须要照物理网络来配置。并且要求网管在物理环境上做好相应的配置。
# 这里的网关什么的,都是真实的网关。
#neutron subnet-create ext_net \
--allocation-pool start=10.0.2.150,end=10.0.2.254 \
--gateway 10.0.2.1 --dns-nameserver 8.8.8.8 10.0.2.0/24
# 这里拿到我创建好的外部网络的ID。这个ID存于OpenStack的数据。
#Ext_Net_ID=`neutron net-list | grep ext_net | awk '{ print $2 }'`
# 把router添加到外部网络中,添加成功之后,这个router会在外部网络中占用一个IP。
# 比如将192.168.100.1 与10.0.2.150捆绑好。在前面创建的内网的VM要上网的时候,
# 都从网关(192.168.100.1)出去时,openvswitch会自动把192.168.100.1处理为10.0.2.150(物理网络IP)的请求,
# 从而实现了上网。
#neutron router-gateway-set $Router_ID $Ext_Net_ID
# Step 3: Create VM
#nova boot --flavor 1 --image cirros.img --security_group default --nic net-id=$Int_Net_ID Ubuntu_Trusty
# Ste p4: Create floating ip
#neutron floatingip-create ext_net
#Device_ID=`nova list | grep Ubuntu_Trusty | awk '{ print $2 }'`
#Port_ID=`neutron port-list -- --device_id $Device_ID | grep 192.168.100.2 | awk '{print $2}'`
#Floating_ID=`neutron floatingip-list | grep 10.0.2.101 | awk '{ print $2 }'`
#neutron floatingip-associate $Floating_ID $Port_ID
#neutron floatingip-show $Floating_ID
连接外网映射IP
# ssh cirros@10.0.2.151
密码:cubswin:)
# ifconfig
查看虚拟机
# nova list
查看虚拟网卡连接状态
# ovs-vsctl list-br
# ovs-vsctl show


制作自己的虚拟机

创建一个qcow2
# qemu-img create -f qcow2 /tmp/trusty.qcow2 10G
注意指定一个CDROM,并开启***
#virt-install --virt-type qemu --name trusty --ram 1024 --cdrom=/tmp/ubuntu-14.04.1-server-amd64.iso --disk /tmp/trusty.qcow2,format=qcow2 --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=ubuntutrusty
(如果virt-intall命令无法使用请使用# apt-get install virtinst 安装后)
使用VNC开始安装trusty虚拟机---
(关闭virsh shutdown x 不好使时,使用:apt-get install acpid )
取消定义虚拟机
virsh undefine trusty
给予读取权限
# chmod a+r trusty.qcow2
上传glance
# glance image-create --name &quot;ubuntu-14-04-server&quot; --public --container-format bare --disk-format qcow2 < /tmp/trusty.qcow2
(注意如果glance不能用:source ~/adminrc)
program--》Instances--》Launch Instances --》Img选ubuntu-14-04-server --》Network选INS
虚拟机增长过程
# ls -al /opt/stack/data/nova/instances/_base/
(刷新即可)
刷新新的node
#virsh list --all
#virsh vncdisplay 7
打开新建的openstack虚拟机
重新启动计算机的过程中会在Nerwork中卡住,直接按键盘S(SKIP)跳过即可
主要导致开机速度过慢的原因是/分区的挂在被系统默认为ro
且进入系统后提示token认证错误,都因为这个。
-------------------------------注意事项如下----------------------------
重启后直接修改:
ubuntu版本14.04.3忘记了ROOT用户的密码,然后重启进入单用户后,修改密码提示Authentication token manipulation error错误,造成修改密码不成功。那么如何解决这个问题呢?
错误截图:

一、版本查看
命令cat /etc/issue

二、进入单用户模式
按CTRL+ALT+DEL重启系统,然后按任意键停住grub:
选择 Advanced options for Ubuntu
再选择:recovery mode
(如果是openstack-vm课直接修改ubuntu /挂在状态。)
按e进入编辑状态。
将linux开头那行的末尾&quot;ro &quot;改为 “rw single  quiet splash init=/bin/bash”或 “rw single  init=/bin/bash”
(注意:ro 是只读模式,rw是读写模式。)
然后按CTRL+X或F10进入单用户模式。
注:如果这个地方没改RO为RW,则可以进入单用户后#mount -rw -o remount / (mount -no remount,rw / mount -a),否则文件系统此时处于只读模式下,/etc/passwd和/etc/shadow不能被修改

三、修改密码
首先查看权限有没有异常
# ll /etc/passwd
-rwxr–r– 1 root root 2752 Dec 11 10:29 /etc/passwd
# fuser -u /etc/passwd
# lsof |grep passwd
尝试再次修改密码仍然出错,于是尝试修改/etc/passwd也出现错误
# chmod 777 /etc/passwd
chmod: changing permissions of `/etc/passwd': Operation not permitted
执行chattr
# chattr -i /etc/passwd
# lsattr -v /etc/passwd
2095582053 ————- /etc/passwd
# chattr -i /etc/shadow
# lsattr -v /etc/shadow
然后同步passwd和shadow文件
pwconv
最后成功修改密码
passwd root
Changing password for user root.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
部署Apache服务

运行ubuntu-vm(openstack模板启动的VM)
登录Dashboard--》program--》Instances
选择新建的test-ubuntu--》more--》associate floating IP (关联IP)--》IP address 后的+ --》associate
在openstack的主机上ssh到ubuntu-vm
# vim /etc/apt/sources.list  (us.ubuntu.com替换成cn.ubuntu.com,删掉安全选项)
# apt-get update (更新,或测试ubuntu源)
# apt-get install apache2 (安装apache2)
chap13测试:
新开一台带桌面环境的虚拟机。
网卡改为NAT,DHCP
登录http://10.0.2.152(apache2的安装主机)
访问成功
重启之后启动 OpenStack
注意顺序
# service mysql start
# service rabbitmq-server start
# service keystone start
# source keyrc
# keystone user-list
检查/sdb 一定挂载在/sdb1上,如果错了手工修改
如果是最新的脚本,可以不用修改。
# vim /etc/fstab
# mount |grep sdb
# ./swift-storage.sh
# ps aux | grep swift
# source swiftrc
# swift stat
# ./glance.sh
# source glancerc
# glance index
# ./quantum.sh
# ./quantum-agent.sh
# source quantumrc
# quantum net-list
# ./cinder-api.sh
# ./cinder-volume.sh
# ps aux | grep cinder
# source cinderrc
# cinder list  --(不报错即可因为没开启所以目前什么都没有)
# ./nova-api.sh
# ./nova-compute.sh
# ps aux | grep nova
# source novarc
# nova list  -- (此时并无Vpc因为之前都安装在admin下)
# source adminrc
# nova list -- (之前安装的Vpc可查看)
# ./dashboard.sh
# virsh list --all
# virsh start instance-00000001
# virsh start instance-00000002
# virsh start instance-00000006
(注意此时可能仍然无法启动Vpc,登录Dashboard的Instaces--》more--》hard reboot)
# virsh list --all
# virsh vncdisplay instance-00000001




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-674244-1-1.html 上篇帖子: ubuntu17.04 source list 下篇帖子: Ubuntu 16.04 下通过 apt 安装 ActiveMQ
累计签到:4 天
连续签到:1 天
发表于 2019-5-9 16:35:18 | 显示全部楼层
贫道收下了

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

回复 支持 反对

使用道具 举报

尚未签到

发表于 2019-5-29 18:10:23 | 显示全部楼层
啥也不说了,楼主就是给力!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表