DevOps学院

DevOps学院

中国新一代IT在线教育平台
运维知识体系

运维知识体系

运维知识体系总结,持续更新,欢迎转载。
缓存知识体系

缓存知识体系

运维知识体系之缓存,分层多级缓存体系。
速云科技

速云科技

DevOps咨询、企业内训、落地解决方案。

从虚拟机无法启动(HTTP500)到rabbitMQ的错误:Error: unable to connect to node 'rabbit@linux-node1': nodedown

OpenStackbingo4933 回复了问题 • 3 人关注 • 5 个回复 • 1511 次浏览 • 2018-07-18 16:45 • 来自相关话题

对ElK监控的问题

赵班长 回复了问题 • 2 人关注 • 1 个回复 • 504 次浏览 • 2018-07-13 09:08 • 来自相关话题

lnmp环境下安装zabbix,服务都正常启动,无法访问到zabbix页面(提示网页无法访问)

运维监控kindone 回复了问题 • 2 人关注 • 1 个回复 • 1376 次浏览 • 2018-06-12 21:17 • 来自相关话题

require删除指定后,salt安装仍然报指定需求没有找到

回复

OpenStack走在路上的人 回复了问题 • 1 人关注 • 1 个回复 • 565 次浏览 • 2018-05-10 18:27 • 来自相关话题

saltstack的file.managed模块下的源source理念不清楚

SaltStack赵班长 回复了问题 • 2 人关注 • 1 个回复 • 606 次浏览 • 2018-05-08 19:04 • 来自相关话题

关于saltstack openstack的安装

SaltStack赵班长 回复了问题 • 2 人关注 • 2 个回复 • 1993 次浏览 • 2018-05-04 19:31 • 来自相关话题

新人学运维如何 发展前景如何啊

王建泽 回复了问题 • 2 人关注 • 1 个回复 • 1438 次浏览 • 2018-04-17 18:40 • 来自相关话题

基于OpenStack构建企业私有云(8)Cinder

OpenStack赵班长 发表了文章 • 2 个评论 • 1333 次浏览 • 2018-04-07 18:59 • 来自相关话题

Cinder是OpenStack中存储虚拟化的组件,用来存储虚拟机镜像。OpenStack从Folsom版本开始使用Cinder替换原来的Nova-Volume服务,为OpenStack云平台提供块存储服务。 目前Cinder支持各类开源和商业的存 ...查看全部
Cinder是OpenStack中存储虚拟化的组件,用来存储虚拟机镜像。OpenStack从Folsom版本开始使用Cinder替换原来的Nova-Volume服务,为OpenStack云平台提供块存储服务。
目前Cinder支持各类开源和商业的存储系统。目前开源的支持通过其配置文件可以看到支持:  Nexenta、GlusterFS、NFS、Cepf、ISCSI等。

 
控制节点部署
1.Cinder安装
[root@linux-node1 ~]# yum install -y openstack-cinder

2.数据库配置
[root@linux-node1 ~]# vim /etc/cinder/cinder.conf
#在 [database] 部分,配置数据库访问。
connection=mysql+pymysql://cinder:cinder@192.168.56.11/cinder
同步数据库
[root@linux-node1 ~]# su -s /bin/sh -c "cinder-manage db sync" cinder
验证数据库状态
[root@linux-node1 ~]# mysql -h 192.168.56.11 -ucinder -pcinder -e "use cinder;show tables;"

3.Keystone相关配置
[root@linux-node1 ~]# vim /etc/cinder/cinder.conf
[DEFAULT]
auth_strategy=keystone
[keystone_authtoken]
auth_uri = http://192.168.56.11:5000
auth_url = http://192.168.56.11:35357
memcached_servers = 192.168.56.11:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = cinder



4.RabbitMQ相关配置
[root@linux-node1 ~]# vim /etc/cinder/cinder.conf
[DEFAULT]
transport_url = rabbit://openstack:openstack@192.168.56.11

5.其它配置
[oslo_concurrency] 部分,配置锁路径:
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp

6.配置Nova以使用块设备存储,注意所有
    编辑文件 /etc/nova/nova.conf 并添加如下到其中:
[cinder]
os_region_name = RegionOne

7.重启nova-api服务
[root@linux-node1 ~]# systemctl restart openstack-nova-api.service

8.启动cinder服务,并设置为开机自动启动。
# systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service
# systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service

9.Cinder注册Service和Endpoint
# openstack service create --name cinderv2 --description "OpenStack Block Storage" volumev2
# openstack service create --name cinderv3 --description "OpenStack Block Storage" volumev3
# openstack endpoint create --region RegionOne \
volumev2 public http://192.168.56.11:8776/v2/%\(project_id\)s
# openstack endpoint create --region RegionOne \
volumev2 internal http://192.168.56.11:8776/v2/%\(project_id\)s
# openstack endpoint create --region RegionOne \
volumev2 admin http://192.168.56.11:8776/v2/%\(project_id\)s
 
 
# openstack endpoint create --region RegionOne \
volumev3 public http://192.168.56.11:8776/v3/%\(project_id\)s
# openstack endpoint create --region RegionOne \
volumev3 internal http://192.168.56.11:8776/v3/%\(project_id\)s
# openstack endpoint create --region RegionOne \
volumev3 admin http://192.168.56.11:8776/v3/%\(project_id\)s

存储节点配置
对于CentOS环境,默认是已经安装了LVM。如果没有可以使用以下命令安装并启动。
    安装 LVM 包:
[root@linux-node1 ~]# yum install -y lvm2 device-mapper-persistent-data

    启动LVM的metadata服务并且设置该服务随系统启动:
[root@linux-node1 ~]# systemctl enable lvm2-lvmetad.service
[root@linux-node1 ~]# systemctl start lvm2-lvmetad.service

把/dev/sdb创建为LVM的物理卷:
[root@linux-node2 ~]# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created


创建名为cinder-volumes的逻辑卷组
[root@linux-node2 ~]# vgcreate cinder-volumes /dev/sdb
Volume group "cinder-volumes" successfully created
[root@linux-node2 ~]# vim /etc/lvm/lvm.conf
    在``devices``部分,添加一个过滤器,只接受``/dev/sdb``设备,拒绝其他所有设备:
    devices {
    ...
    filter = [ "a/sdb/", "r/.*/"]
    filter = [ "a/sda/", "a/sdb/", "r/.*/"]
    filter = [ "a/sda/", "r/.*/"]


存储节点安装

   存储节点安装和控制节点类型,还是分为两步:
1.    软件安装。
2.    从控制节点SCP配置文件。
安装isci-target和cinder
[root@linux-node2 ~]# yum install -y openstack-cinder targetcli python-keystone

同步控制节点配置文件
由于存储节点大多数配置和控制节点相同,可以直接使用控制节点配置好的cinder.conf。再此基础上进行小的变动。
[root@linux-node1 ~]# scp /etc/cinder/cinder.conf 192.168.56.12:/etc/cinder/

设置Cinder后端驱动
[root@linux-node2 ~]# vim /etc/cinder/cinder.conf
[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
iscsi_protocol = iscsi
iscsi_helper = lioadm
volume_backend_name=iSCSI-Storage

在 [DEFAULT] 部分,启用 LVM 后端:
[DEFAULT]
...
enabled_backends = lvm


[DEFAULT]
glance_api_servers = http://192.168.56.11:9292

启动块存储卷服务及其依赖的服务,并将其配置为随系统启动:
 # systemctl enable openstack-cinder-volume.service target.service
# systemctl start openstack-cinder-volume.service target.service

 

基于OpenStack创建企业私有云(7)Horizon

OpenStack赵班长 发表了文章 • 1 个评论 • 1344 次浏览 • 2018-04-06 23:01 • 来自相关话题

Cinder是OpenStack中存储虚拟化的组件,用来存储虚拟机镜像。OpenStack从Folsom版本开始使用Cinder替换原来的Nova-Volume服务,为OpenStack云平台提供块存储服务。 目前Cinder支持各类开源和商业的存 ...查看全部
Cinder是OpenStack中存储虚拟化的组件,用来存储虚拟机镜像。OpenStack从Folsom版本开始使用Cinder替换原来的Nova-Volume服务,为OpenStack云平台提供块存储服务。
目前Cinder支持各类开源和商业的存储系统。目前开源的支持通过其配置文件可以看到支持:  Nexenta、GlusterFS、NFS、Cepf、ISCSI等。

 
 
1.安装Horizon
[root@linux-node2 ~]# yum install -y openstack-dashboard

2.Horizon配置
[root@linux-node2 ~]# vim /etc/openstack-dashboard/local_settings
OPENSTACK_HOST = "192.168.56.11"
#允许所有主机访问
ALLOWED_HOSTS = ['*', ]
#设置API版本
OPENSTACK_API_VERSIONS = {
"identity": 3,
"volume": 2,
"compute": 2,
}
开启多域支持
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
设置默认的域
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = 'Default'
#设置Keystone地址
OPENSTACK_HOST = "192.168.56.11"
OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST
#为通过仪表盘创建的用户配置默认的 user 角色
OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user"

#设置Session存储到Memcached
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '192.168.56.11:11211',
}
}
#启用Web界面上修改密码
OPENSTACK_HYPERVISOR_FEATURES = {
'can_set_mount_point': True,
'can_set_password': True,
'requires_keypair': False,
}
#设置时区
TIME_ZONE = "Asia/Shanghai"
#禁用自服务网络的一些高级特性
OPENSTACK_NEUTRON_NETWORK = {
...
'enable_router': False,
'enable_quotas': False,
'enable_distributed_router': False,
'enable_ha_router': False,
'enable_lb': False,
'enable_firewall': False,
'enable_vpn': False,
'enable_fip_topology_check': False,
}

3.启动服务
[root@linux-node2 ~]# systemctl enable httpd.service
[root@linux-node2 ~]# systemctl restart httpd.service

好的,现在你就可以使用http://192.168.56.12/dashaboard来访问仪表盘了。用户名和密码可以使用admin或者demo。需要你亲自来体验他们到底有什么不同。

基于OpenStack构建企业私有云(6)创建第一台云主机

OpenStack赵班长 发表了文章 • 1 个评论 • 1524 次浏览 • 2018-04-06 22:56 • 来自相关话题

 好的,到目前为止,你已经完成了启动一台虚拟机所有的必备条件。 MySQL:为各个服务提供数据存储RabbitMQ:为各个服务之间通信提供交通枢纽KeyStone:为各个服务器之间通信提供认证和服务注册Glance:为虚拟机提供镜像管理Nova:为 ...查看全部
 好的,到目前为止,你已经完成了启动一台虚拟机所有的必备条件。
  • MySQL:为各个服务提供数据存储
  • RabbitMQ:为各个服务之间通信提供交通枢纽
  • KeyStone:为各个服务器之间通信提供认证和服务注册
  • Glance:为虚拟机提供镜像管理
  • Nova:为虚拟机提供计算资源
  • Neutron:为虚拟机提供网络资源。

    现在你可以着手启动一台虚拟机,剩下的OpenStack服务都可以认为是可选的,不过通常我们会用到Dashboard来通过Web界面来管理,后面的章节我们会讲到,现在我们使用命令来创建我们的第一台虚拟机。

 
 
1.创建网络
[root@linux-node1 ~]# openstack network create  --share --external \
--provider-physical-network provider \
--provider-network-type flat provider

2.创建子网
[root@linux-node1 ~]# openstack subnet create --network provider \
--allocation-pool start=192.168.56.100,end=192.168.56.200 \
--dns-nameserver 223.5.5.5 --gateway 192.168.56.2 \
--subnet-range 192.168.56.0/24 provider-subnet

3. 创建云主机类型
[root@linux-node1 ~]# openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano

4.创建密钥对
[root@linux-node1 ~]# source demo-openstack.sh
[root@linux-node1 ~]# ssh-keygen -q -N ""
[root@linux-node1 ~]# openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey
[root@linux-node1 ~]# openstack keypair list

5.添加安全组规则
 [root@linux-node1 ~]# openstack security group rule create --proto icmp default
[root@linux-node1 ~]# openstack security group rule create --proto tcp --dst-port 22 default

启动实例
[root@linux-node1 ~]# source demo-openstack.sh
[root@linux-node1 ~]# openstack flavor list

1.查看可用的镜像
[root@linux-node1 ~]# openstack image list

2.查看可用的网络
[root@linux-node1 ~]# openstack network list

3.查看可用的安全组
[root@linux-node1 ~]# openstack security group list

4.创建虚拟机
[root@linux-node1 ~]# openstack server create --flavor m1.nano --image cirros \
--nic net-id=5c4d0706-24cd-4d42-ba78-36a05b6c81c8 --security-group default \
--key-name mykey demo-instance
#注意指定网络的时候需要使用ID,而不是名称

5.查看虚拟机
[root@linux-node1 ~]# openstack server list
[root@linux-node1 ~]# openstack console url show demo-instance