OpenStack_N版本+CentOS7的部署和开发+镜像制作
准备工作:(1)三台虚拟机1.1controller节点:3个硬盘8G/4H/60G/30G/30G两个网卡:一个内网地址(桥接),用于内网之间通信:192.168.12.93一个浮动IP地址(DHCT),提供出网地址:192.168.204.11.2computer节点2个硬盘6G/4H/60G两个网卡:一个内网地址(桥接):192.168.12.94一个浮动IP地址(桥接):192.168.1
OpenStack:主要目标是管理数据中心的资源和简化资源的分配
1、许多开源软件堆积的集合,功能上实现了1+1>2
2、是构建公有云iaas和私有云paas的技术实现,
3、是一个集成的框架,可以在这个框架之上进行二次开发满足业务的需要,可借助VMware和KVM搭建计算资源池
此课程基于51CTO学院的《openstack零基础入门+企业实战》课程整理而得,课程链接:https://edu.51cto.com/course/20724.html
参考博客连接:https://blog.csdn.net/qq_41998290/article/details/87620081
https://www.cnblogs.com/kevingrace/p/5707003.html
https://blog.csdn.net/hutiewei2008/article/details/87921936
https://blog.csdn.net/qq_29537269/article/details/107568489
https://blog.csdn.net/wylfengyujiancheng/article/details/51868979?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.channel_param
前言
openstack_N版本安装包:
链接:https://pan.baidu.com/s/17lpoLXfJZuEAulCkxss3mw
提取码:0i0r
复制这段内容后打开百度网盘手机App,操作更方便哦
准备工作:
(1)三台虚拟机
1.1controller节点:
3个硬盘 8G/4H/60G/30G/30G
两个网卡:
ens33一个浮动地址(桥接),提供出网地址:192.168.12.93
ens37一个内网IP地址(桥接),用于内网之间通信:192.168.12.91
1.2computer节点
2个硬盘 6G/4H/60G
两个网卡:
ens33一个浮动地址(桥接),提供出网地址:192.168.12.94
ns37一个内网IP地址(桥接),用于内网之间通信:192.168.12.92
两个节点均
(2)安装vim编辑器
yum install vim 或者yum -y install vim*
(3)修改ip配置文件,配置静态ip(4个网卡都要配置)
vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.12.93
NETMASK=255.255.255.0
GATEWAY=192.168.12.1
DNS1=192.168.111.2
(4)网络重启
service network restart
(5)关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
(6)初始化,安装要用到的服务,各个节点操作
yum -y install wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel vim ncurses-devel autoconf automake zlib-devel python-devel epel-release lrzsz openssh-server
(7)关闭防火墙、networkmanager,iptables,selinux,各个节点操作
systemctl stop firewalld && systemctl disable firewalld && systemctl stop NetworkManager && systemctl disable NetworkManager
(正常情况下,Centos不存在iptables)
systemctl stop iptables && systemctl disable iptables
(8)修改selinux ,重启虚拟机生效
vim /etc/sysconfig/selinux
SELINUX=disabled
(9)配置host文件,各个节点保持一致
vim /etc/hosts 两个节点最后一行添加如下内容
192.168.12.91 controller
192.168.12.92 computer
(10)配置主机名
192.168.12.91上操作
hostnamectl set-hostname controller
192.168.12.92操作
hostnamectl set-hostname computer
(11)做时间同步,各个节点操作
ntpdate cn.pool.ntp.org
在 controller节点 上配置( 只有 centos7 能用, 6 还用 ntp)
[root@controller etc]# vim chrony.conf
allow 192.168.0.0/16 #允许那些服务器和自己同步时间
[root@controller etc]# systemctl enable chronyd.service #开机启动
[root@controller etc]# systemctl start chronyd.service
[root@controller etc]# timedatectl set-timezone Asia/Shanghai #设置时区
[root@controller etc]# timedatectl status
Local time: 四 2020-08-06 17:07:47 CST
Universal time: 四 2020-08-06 09:07:47 UTC
RTC time: 四 2020-08-06 09:07:47
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
在 computer节点上配置
[root@computer etc]# yum install -y chrony
[root@computer etc]# vim /etc/chrony.conf
server 192.168.12.91 iburst #只留一行
[root@computer etc]# systemctl enable chronyd.service
[root@computer etc]# systemctl start chronyd.service
[root@computer etc]# timedatectl set-timezone Asia/Shanghai
[root@computer etc]# chronyc sources
(12)配置无密码登陆,各个节点操作
cd /root
ssh-keygen -t rsa
#一直回车即可
ssh-copy-id -i .ssh/id_rsa.pub controller
ssh-copy-id -i .ssh/id_rsa.pub computer
(13)上传openstack_N版本压缩包
rz--上传
sz--下载
(14)开始安装openstack,N版本
——上传openstack离线软件包到root目录下(在controller和computer节点操作)
在root下创建一个目录openstack,然后把软件包解压到这个目录下
mkdir /root/openstack && cd /root/openstack && tar zxvf /root/openstack_N.tar.gz
——解压之后会出现一个openstack目录,把openstack目录整体移动到/下(controller和computer节点操作)
mv openstack /
——重新配置yum源(controller和computer节点都操作)
cd /etc/yum.repos.d/ && mkdir bak && mv CentOS-* bak/ && mv epel* bak/
cp bak/CentOS-Base.repo ./
生成一个新的openstack的yum源
cat <<EOF > /etc/yum.repos.d/openstack.repo
[openstack]
enable=1
gpgcheck=0
baseurl=file:///openstack
EOF
yum makecache(理清缓存)
(15)openstack应答文件安装
(controller,computer节点都操作)
yum install centos-release-openstack-newton -y
cd /etc/yum.repos.d && mv *.repo bak/ && cp bak/openstack.repo ./ && cp bak/CentOS-Base.repo ./
yum makecache
(以下controller操作)
yum install openstack-packstack -y
cd /root
packstack --gen-answer-file=openstack.txt
#这样会生成一个应答文件openstack.txt
(16)查看openstack应答文件内容
grep -vE '^$|^#' openstack.txt
(17)修改openstack.txt文件,修改的内容如下
vim openstack.txt
CONFIG_DEFAULT_PASSWORD=123456
CONFIG_SWIFT_INSTALL=n
CONFIG_NAGIOS_INSTALL=n
CONFIG_CINDER_VOLUMES_SIZE=10G
CONFIG_PROVISION_DEMO=n
CONFIG_LBAAS_INSTALL=y
CONFIG_NEUTRON_FWAAS=y
CONFIG_NEUTRON_VPNAAS=y
CONFIG_CONTROLLER_HOST=192.168.12.91
CONFIG_COMPUTE_HOSTS=192.168.12.92
CONFIG_NETWORK_HOSTS=192.168.12.92 //网络节点和计算节点复用
(18)查看修改之后的openstack.txt文件中安装哪些
grep -vE '^$|^#' openstack.txt |grep y
看到是y的表示安装
(19)基于应答文件安装组件
packstack --answer-file=openstack.txt
安装过程需要查看iptables状态,打开一个新对话,在controller和computer节点
systemctl status iptables
如果发现iptables处于active状态,需要停掉,否则后期可能出错
systemctl stop iptables
(20)看到如下说明安装成功
192.168.12.91_controller.pp: [ DONE ]
Applying 192.168.12.92_network.pp
192.168.12.92_network.pp: [ DONE ]
Applying 192.168.12.92_compute.pp
192.168.12.92_compute.pp: [ DONE ]
Applying Puppet manifests [ DONE ]
Finalizing [ DONE ]
**** Installation completed successfully ******
(21)配置rabbitmq
——启动rabbitmq的管理界面,controller节点操作(启动不了就重开一个会话)
rabbitmq-plugins enable rabbitmq_management
——在浏览器访问
192.168.12.91:15672 //RabbitMQ默认的端口是15672,可通过ss -antulp | grep :15672查看端口状态
默认账号:guest
默认密码:guest
出现如下界面
(22)登陆openstack的dashboad界面
在浏览器输入:
192.168.12.91
账号:admin
动态密码:d1718149f9ce41c3
获取密码:(在controller节点获取动态密码)
cd /root
cat keystonerc_admin
登陆之后显示如下界面
KeyStone配置优化
(1)controller节点操作
source /root/keystonerc_admin
1.查看openstack中keystone的endpoint
openstack endpoint list
2.查看keystone服务
openstack service list
3.查看image镜像服务
openstack endpoint show image //endpoint ——服务的端点
通过上面可以看到Nova访问Glance服务去获取Image时,Nova通过访问Keystone拿到Glance的Endpoint,然后通过访问该Endpoint去获取Glance服务,我们可以通过Endpoint的region属性去定义多个region。
(2)controller节点操作
#查看keystone配置文件
grep -vE '^#|^$' /etc/keystone/keystone.conf
#修改keystone配置文件
vim /etc/keystone/keystone.conf
在default字段下面添加如下一行
memcache_servers = 192.168.12.93:11211(用于将数据缓存到memcache)
重启服务
systemctl restart httpd
glance配置
controller节点操作
(1)#查看glance-api配置文件
[root@controller ~]# grep -vE '^#|^$' /etc/glance/glance-api.conf
(2)修改glance-api.conf
vim /etc/glance/glance-api.conf
新增加如下一行
memcached_servers=192.168.12.93:11211
把之前的swift去掉
stores = file,http
(3)修改glance-registry.conf
vim /etc/glance/glance-registry.conf
新增加如下一行
memcached_servers=192.168.12.93:11211
(4)重启服务
systemctl restart openstack-glance-api
systemctl restart openstack-glance-registry
nova配置
(以下在controller节点操作)
(1)修改nova配置文件
官方文档参考地址https://docs.openstack.org/newton/install-guide-rdo/nova-controller-install.html
修改nova.conf
vim /etc/nova/nova.conf
#新增加如下一行,memcahce缓存
memcache_servers=192.168.12.91:11211
#原来是只有地址,没有http协议,需要加上http协议的
api_servers=http://192.168.12.91:9292
#在第一行[DEFAULT]下面加上这行
transport_url=rabbit://guest:guest@192.168.12.91
#原来的ip改成这个,并且打开注释
my_ip=192.168.12.91
#原来是0.0.0.0,现在改成这个
vncserver_listen=192.168.12.91
#原来是主机名,改成这个主机IP
vncserver_proxyclient_address=192.168.12.91
(2)重启服务
systemctl restart openstack-nova-api.service \
openstack-nova-consoleauth.service openstack-nova-scheduler.service \
openstack-nova-conductor.service openstack-nova-novncproxy.service
(以下在computer节点操作)
(3)修改nova配置文件
vim /etc/nova/nova.conf
transport_url=rabbit://guest:guest@192.168.12.91 #在第一行[DEFAULT]字段加如下一行
memcache_servers=192.168.12.91:11211 #这行注释打开,ip变成这个主机ip
api_servers=http://192.168.12.91:9292 #这行注释打开,变成这个ip地址
my_ip=192.168.12.92 #这行注释打开,变成这个ip地址
vncserver_proxyclient_address=192.168.12.92 #这行注释打开,变成这个ip地址
novncproxy_base_url=http://192.168.12.91:6080/vnc_auto.html #这行注释打开,变成这个ip地址
virt_type=qemu #这行注释打开
(4)重新启动服务
systemctl enable libvirtd.service openstack-nova-compute.service
systemctl restart libvirtd.service openstack-nova-compute.service
(5 )查看日志,检查是否有报错
cat /var/log/nova/nova-compute.log
(6)启动之后在controller节点查看日志, 如果没有报错即可
cat /var/log/nova/nova-api.log
neutron组件的配置优化
在controller节点操作
(1)#修改配置文件
官网参考地址如下:
https://docs.openstack.org/newton/install-guide-rdo/neutron-controller-install.html
vim /etc/neutron/neutron.conf
memcached_servers=192.168.12.91:11211 #新增加一行
transport_url = rabbit://guest:guest@192.168.12.91 #新增加一行
lock_path=/var/lib/neutron/tmp #把地址改成这种形式
(2)#修改配置文件
vim /etc/neutron/plugins/ml2/ml2_conf.ini
vni_ranges = 10:10000 #把原来10:100改成10:10000
(3)上面两个文件修改好之后重启服务
systemctl restart neutron-server
(4)新开一个端口查看日志 没有报错即可
tail -f /var/log/neutron/server.log
在网络节点(computer)操作
注:我们在实验时计算节点和网络节点是一个机器
(1)创建一个桥接网卡,桥接到能够访问外网的那个网卡,也就是ens33
cd /etc/sysconfig/network-scripts
mkdir bak
cp ifcfg-ens33 bak/
(2) 创建网桥,网桥就是用来给实例分配浮动ip地址的(浮动ip也就是外网ip)
vim ifcfg-br-ex
将以下内容复制到ifcfg-br-ex配置文件中
DEVICE=br-ex
BOOTPROTO=static
ONBOOT=yes
TYPE=OVSBridge
DEVICETYPE=ovs
USERCTL=yes
PEERDNS=yes
IPV6INIT=no
IPADDR=192.168.12.94 #外网ip
NETMASK=255.255.255.0
DNS1=192.168.111.2
GATEWAY=192.168.12.1
(3)修改配置文件 ifcfg-ens33
vim ifcfg-ens33
将原内容全部删除,复制以下内容
DEVICE=ens33
ONBOOT=yes #设置开机自启动
TYPE=OVSPort
DEVICETYPE=ovs
OVS_BRIDGE=br-ex #桥接到这个网卡上
(4)重启网络
service network restart
(5)查看网卡配置
ip addr
上图最后br_ex的ip应该是192.168.12.94!!
(6)修改配置文件
vim /etc/neutron/neutron.conf #修改配置文件
transport_url = rabbit://guest:guest@192.168.12.91 #新增加一行配置文件
memcached_servers=192.168.12.91:11211 #新增加一行
lock_path=/var/lib/neutron/tmp #原来的路径变成这个
cd /etc/neutron
vim l3_agent.ini #修改三层代理的和浮动ip相关的配置文件
ovs_integration_bridge = br-int #这行注释打开
availability_zone = nova #这行注释打开
vim metadata_agent.ini #修改配置文件
nova_metadata_port = 8775 #这行注释打开
nova_metadata_protocol = http #这行注释打开
memcache_servers = 192.168.12.91:11211 #新增加一行
vim dhcp_agent.ini # 修改配置文件
ovs_integration_bridge = br-int #这行注释打开
enable_metadata_network = True #原来是False,需要变成True
dhcp_domain = test.localdomain #新增加一行
dnsmasq_dns_servers = 192.168.111.2 #原来的注释打开,修改成外网的dns地址
dnsmasq_lease_max = 16777216 #这行注释打开
availability_zone = nova #这行注释打开
上面修改好了之后重启服务
(7)重新启动服务
systemctl list-unit-files | grep neutron #查看启动了哪些服务
systemctl restart neutron-ovs-cleanup.service neutron-openvswitch-agent.service neutron-metering-agent.service neutron-metadata-agent.service neutron-lbaasv2-agent.service neutron-l3-agent.service neutron-dhcp-agent.service
dashboard组件安装和配置
官网安装文档:https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/horizon-install.html
1、安装软件包
yum install openstack-dashboard -y
2、编辑配置文件
vim /etc/openstack-dashboard/local_settings
(1) 在 controller 节点上配置仪表盘以使用 OpenStack 服务
OPENSTACK_HOST = "192.168.12.91"
(2) 允许所有主机访问仪表板
ALLOWED_HOSTS = ['*', ]
(3) 配置 memcached 会话存储服务
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '192.168.12.91:11211',
}
}
(4) 启用第3版认证API
OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST
(5) 启用对域的支持
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
(6) 设置时区
TIME_ZONE = "Asia/Shanghai"
(7)重启httpd服务
systemctl restart httpd
dashboard配置云主机
(3)创建云主机
登陆openstack的dashboard界面:192.168.12.91
账号:admin
密码:动态获取
第一步:创建一个项目
身份管理------>项目------>创建项目
名称:test
点击创建项目即可
第二步:给项目创建一个成员
身份管理------>用户------>创建用户
用户名: test
密码: 123
主项目: test
点击创建用户即可
第三步:管理员分配资源
管理员操作
(1)上传一个qcow2格式的centos7镜像
1.1用dashboard上传
1.2在controller用命令上传
source keystonerc_admin
openstack image create "cirros" --file /home/image/cirros-0.3.4-x86_64-disk.img --disk-format qcow2 --container-format bare --public
(之前我已经将cirros-0.3.4-x86_64-disk.img镜像上传到/home/image目录下)
上传完之后查看glance镜像列表
glance image-list
(2)管理员------>云主机类型------>创建云主机类型
名称:Centos7-test
VCPU数量:2
内存:1024
根磁盘:20G
其他的默认
点击创建云主机类型即可
界面会显示如下
第四步:创建公网络
(1)创建公网
管理员------>网络------>创建网络
名称:pub
项目:test
供应商网络类型:VXLAN
物理网络:default
网段ID:11
管理状态:UP
把外部网络勾选上即可
上面配置好了之后点击提交即可
看到如下界面
第五步 创建子网络
(1)创建子网
选中上面的子网------>然后点击创建子网
子网名称:pub_subnet
网络地址: 192.168.12.0/24
#这个地址是用来做浮动地址的,和网络节点能够上外网的地址是一个段的
上面配好之后选则下一步,出现如下界面
分配地址池中配置如下网段
192.168.12.100,192.168.12.250
上面改好之后点击已创建即可,出现如下界面
租户(test)操作
登陆openstack的dashboard界面:192.168.12.93
账号:test
密码:123
登陆之后显示如下:
第一步:创建网络
项目------>网络------>网络------>创建网络
网络名称:Project_pub
选则下一步,出现如下界面
子网名称: Project_sub
网络地址:10.2.6.0/24
#这个地址是私网地址,随意配置网段
选则下一步,出现如下界面
分配地址池
10.2.6.100,10.2.6.200
上面改好之后选则已创建即可 ,出现如下界面
第二步:创建路由器,这样才能上网
项目------>网络------>路由------>新建路由
路由名称:Project_router
外部网络:选则pub
点击新建路由即可,出现如下界面
选中接口------>新增接口
子网:Project:10.2.6.0/24(Project_sub)
点击提交即可,刷新一下,出现如下界面
上面可以看到外部网关的固定IP是192.168.12.111
找一个能上网的机器,ping 192.168.12.111 可以ping通
第三步 创建云主机
项目------>计算------>云主机数量------>创建云主机
出现如下界面
云主机名称:Centos7
可选域:nova
数量:1
上面改好之后选则下一项
选择源:镜像
创建新卷:否
选则centos7后面的+,点击即可
选则下一项,出现如下界面
点击centos7后面的+
选择下一项,选择刚刚新建的网络,
点击创建云主机即可,出现如下界面
给刚才的云主机绑定一个浮动ip,关联之后显示如下
找一个能上外网的机器,ping 192.168.10.112 不可以ping通,需要加一个安装策略
项目------>计算------>访问和安全------>管理规则
-
添加规则
规则:ALL ICMP 方向:入口
-
添加即可
规则:ALL ICMP 方向:出口
-
添加即可
规则:ssh 添加即可
上面都添加好了之后就可以ping 通了
创建一个卷,把卷挂到云主机上
项目------>计算------>卷------>创建卷
卷名称:disk
类型:iscsi
大小:1G
可用域:nova
点击创建卷即可,选则管理连接,连接到一个云主机,这个云主机就是刚才我们创建的
openstack镜像制作(用虚拟机192.168.85.133)
制作centos7镜像
(1)创建镜像的硬盘
(2)删除镜像的唯一性,封装压缩
1、重点!!!开启虚拟化!
2、找一个虚拟机,专门用来做镜像,需要开启虚拟化
yum install epel* -y
yum -y install qemu-kvm libvirt virt-install bridge-utils virt-manager libguestfs-tools
qemu-img create -f qcow2 /tmp/centos.qcow2 20G
3、#设置开机自启动
systemctl start libvirtd
systemctl enable libvirtd
modprobe kvm/
4、新节点安装文件上传包
yum install -y lrzsz/
5、在/tmp/目录通过rz命令上传centOS镜像/
#rz
6、启动虚拟机
#virt-install --virt-type kvm --name centos --ram 1024 --disk /tmp/centos.qcow2,format=qcow2 --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=centos7.0 --location=/tmp/CentOS-7-x86_64-Minimal-2003.iso
…
关于上面这条命令的说明
virt-install --virt-type kvm --name centos\ #虚拟机的虚拟化类型及名字
–ram 1024 \ #配置CUP及内存大小
–disk /tmp/centos.qcow2,format=qcow2 \ #磁盘的文件的位置及格式
–network network=default \ #网络的连接方式采用默认方式
–graphics vnc,listen=0.0.0.0 \ #图形化安装开启VNC连接5901(默认)
–noautoconsole \ #无控制端口输出
–os-type=linux\ #虚拟机操作系统类型(Linux、Windows)
–os-variant=centos7.0 \ #具体的操作系统版本,可以使用命令 “osinfo-query os” 查看支持的选项
–location=/tmp/CentOS-7-x86_64-Minimal-2003.iso\ #使用location的方式进行安装指定ISO镜像位置
…
7、开启Xmanager(官网下载)远程管理工具制作镜像
#virt-manager
出现界面:
双击centos
弹出安装界面,进行常规性安装
安装完界面:
等几分钟安装完成选则reboot
8、然后在linux主机(xshell)执行如下,启动虚拟机
virsh start centos
9、通过Xmanager连接
输入账号密码登陆进去
10、编辑centos的网卡设置
vi /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT设置为yes
去掉uuid这行
11、重启服务
service network restart
12、ip addr 查看ip地址,显示如下
13、在kvm的物理机(xshell)上登陆虚拟机
ssh root@192.168.122.60 账号:root 密码:123
14、做如下修改:(和ssh有关,禁止dns解析,这样连接速度会更快)
sed 's/.*UseDNS.*/UseDNS no/g' /etc/ssh/sshd_config -i
sed 's/^#PermitRootLogin.*/PermitRootLogin yes/g' /etc/ssh/sshd_config -i
sed 's/GSSAPIAuthentication.*/GSSAPIAuthentication no/g' /etc/ssh/sshd_config -i
15、关闭selinux iptables
vi /etc/sysconfig/selinux
更改SELINUX=disabled
16、
iptables -F
17、
systemctl stop firewalld
ystemctl disable firewalld #没有的话不用理会
18、
vi /etc/default/grub
grub_cmdline_linux 这行添加如下一段
console=ttys0,115200n8
即变成如下(可直接删除原有的,复制粘贴下面这行)
GRUB_CMDLINE_LINUX="crashkernel=auto console=ttys0,115200n8 rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
19、安装一些工具包
yum install vim net-tools wget lrzsz unzip -y
20、把cloud.zip上传到192.168.122.60这个机器上
#rz
解压
unzip cloud.zip
cd /cloud
mv centos-cloud-init.sh cloud-init.sh //改名
chmod 755 cloud-init.sh #赋予直接执行的权限
chmod +x cloud-init.sh
sed -i 's/\r//g' cloud-init.sh # 删除转义符
mv cloud-init.sh /usr/bin/ #将cloud-init.sh文件移到/usr/bin/目录下
echo ' /bin/bash /usr/bin/cloud-init.sh' >> /etc/rc.d/rc.local #把这个文件追加到/etc/rc.d/rc.local 目录下
注:cloud-init.sh解释
在云平台中,创建云主机的时候希望能够对主机进行一些初始化操作,如配置ip,主机名,密码,ssh登录等
21、编辑网卡配置文件
#vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp
一定要删除MAC和UUID
22、删除网卡规则文件
rm -f /etc/udev/rules.d/70-persistent-net.rules
23、清除相关记录
yum clean all
rm -rf /var/log/yum.log
rm -rf /var/lib/yum/*
rm -rf /root/install.log
rm -rf /root/install.log.syslog
rm -rf /root/anaconda-ks.cfg
rm -rf /var/log/anaconda*
rm -rf /etc/udev/rules.d/70-persistent-net.rules
24、关机
history -c; init 0 #清空历史记录
然后在kvm物理机上执行如下命令
virt-sysprep -d centos #清理机器信息,避免开机出现冲突
cd /tmp/
virt-sparsify --compress ./centos.qcow2 ./centos7 #压缩镜像
压缩之后的镜像centos7保存到桌面(用命令sz),可以上传到openstack
#sz
openstack 常用命令行
(1) #列出所有租户的虚拟机
nova list --all-tenants
(2)#查看当前登录用户的虚拟机
nova list
(3)查看flavor(虚拟机的配置类型)
nova flavor-list
(4)查看所有的镜像image
glance image-list
(5)查看所有的网络信息
neutron net-list
(6)查看安全组
nova secgroup-list
(7)获取keypair
nova keypair-list
(8)查看nova的服务列表,获取compute的主机名和zone名
nova service-list
(9)上传镜像(需要在登录模式下,即先运行/root目录下的keystonerc_admin文件)
source keystonerc_admin
openstack image create "镜像名" --file 镜像所在路径 --disk-format qcow2 --container-format bare --public
例如:
我先把镜像cirros-0.3.4-x86_64-disk.img上传到/home/image目录
上传到云上的镜像取名为:cirrors
命令行:
openstack image create "cirros" --file /home/image/cirros-0.3.4-x86_64-disk.img --disk-format qcow2 --container-format bare --public
(10)创建虚拟机(这条命令没试过!!!仅供参考)
(neutron-server)[neutron@B-OPS-9-3 /]$ nova boot --flavor m1.large \ #flavor名字
--image xuy-Snapshot \ #镜像id
--nic net-id=bd0e166f-ecb4-4650-a715-32e7ca1fbecf \
--security-groups f7f2eef3-bf34-49a2-a2e9-c8f12ec19973 \ #安全组ID
--availability-zone nova:B-OPS-9-3 \ #在制定的区域:主机名启动instance
--key-name octavia_ssh_key \ #KEY名字
C929 #新建虚拟机的名字
(11)查看虚拟机信息
nova show +虚机名字/id
(12)nova一些常用命令
$ nova stop [vm-name]或[vm-id] #关闭虚拟机
$ nova start [vm-name]或[vm-id] #启动虚拟机
$ nova suspend [vm-name]或[vm-id] #暂停虚拟机
$ nova resume [vm-name]或[vm-id] #启动暂停的虚拟机
$ nova delete [vm-name]或[vm-id] #删除虚拟机
$ nova-manage service list #检查服务是否正常
更多推荐
所有评论(0)