设为首页 收藏本站
查看: 857|回复: 0

[经验分享] openstack安装配置—— block node配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-8-21 09:54:49 | 显示全部楼层 |阅读模式
  对于云主机来说,机器可以随时销毁再创建,但数据一定不能,所以就需要数据的持久存储,openstack官方给出的数据存储方案就是cinder模块,cinder模块需要cinder服务端和cinder存储节点共同构成,在本实验中,我们把cinder服务端一并安装在了controller节点上,另行配置一台cinder存储节点,也就是我们的block节点。
block节点基础配置
[iyunv@block ~]# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                8
On-line CPU(s) list:   0-7
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             8
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 44
Model name:            Westmere E56xx/L56xx/X56xx (Nehalem-C)
Stepping:              1
CPU MHz:               2400.084
BogoMIPS:              4800.16
Hypervisor vendor:     KVM
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              4096K
NUMA node0 CPU(s):     0-7
[iyunv@block ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           7.8G         86M        7.6G        8.3M         81M        7.6G
Swap:            0B          0B          0B
[iyunv@block ~]# lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0              11:0    1  1024M  0 rom  
vda             252:0    0   400G  0 disk
├─vda1          252:1    0   500M  0 part /boot
└─vda2          252:2    0 399.5G  0 part
  ├─centos-root 253:0    0    50G  0 lvm  /
  ├─centos-swap 253:1    0   3.9G  0 lvm  
  └─centos-data 253:2    0 345.6G  0 lvm  /data
[iyunv@block ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.10.20  netmask 255.255.255.0  broadcast 192.168.10.255
        inet6 fe80::5054:ff:fe77:e86e  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:77:e8:6e  txqueuelen 1000  (Ethernet)
        RX packets 45039  bytes 3894559 (3.7 MiB)
        RX errors 0  dropped 4641  overruns 0  frame 0
        TX packets 51  bytes 3458 (3.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.0.20  netmask 255.255.0.0  broadcast 10.0.255.255
        inet6 fe80::5054:ff:fef2:70e4  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:f2:70:e4  txqueuelen 1000  (Ethernet)
        RX packets 3418  bytes 293716 (286.8 KiB)
        RX errors 0  dropped 354  overruns 0  frame 0
        TX packets 12  bytes 788 (788.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 111.40.215.10  netmask 255.255.255.240  broadcast 111.40.215.15
        inet6 fe80::5054:ff:fef2:704e  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:f2:70:4e  txqueuelen 1000  (Ethernet)
        RX packets 74  bytes 10274 (10.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 11  bytes 746 (746.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[iyunv@block ~]# getenforce
Disabled
[iyunv@block ~]# iptables -vnL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination         
[iyunv@block ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.10        controller
192.168.10.20        block
192.168.10.31        compute1
192.168.10.32        compute2
[iyunv@block ~]#

配置时间同步服务
[iyunv@block ~]# yum install -y chrony
[iyunv@block ~]# cp /etc/chrony.conf{,.bak}
[iyunv@block ~]# vim /etc/chrony.conf
[iyunv@block ~]# grep -v ^# /etc/chrony.conf | tr -s [[:space:]]
server controller iburst
stratumweight 0
driftfile /var/lib/chrony/drift
rtcsync
makestep 10 3
bindcmdaddress 127.0.0.1
bindcmdaddress ::1
keyfile /etc/chrony.keys
commandkey 1
generatecommandkey
noclientlog
logchange 0.5
logdir /var/log/chrony
[iyunv@block ~]# systemctl enable chronyd.service
[iyunv@block ~]# systemctl start chronyd.service
[iyunv@block ~]# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* controller                    3   6    37    47   -645ns[-1049us] +/-  136ms
[iyunv@block ~]#

安装 OpenStack 客户端
[iyunv@block ~]# yum install -y python-openstackclient


controller节点上cinder的配置
为cinder准备数据库
[iyunv@controller ~]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 542
Server version: 10.1.20-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> CREATE DATABASE cinder;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' \
    ->   IDENTIFIED BY 'CINDER_DBPASS';
Query OK, 0 rows affected (0.01 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' \
    ->   IDENTIFIED BY 'CINDER_DBPASS';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> quit
Bye
[iyunv@controller ~]#

以管理员身份向默认域中添加管理权限管理用户cinder
[iyunv@controller ~]# . admin-openrc
[iyunv@controller ~]# openstack user create --domain default --password-prompt cinder
User Password:
Repeat User Password:
+-----------+----------------------------------+
| Field     | Value                            |
+-----------+----------------------------------+
| domain_id | 3ad6ac5f704c494e9f16b9e04ef745fe |
| enabled   | True                             |
| id        | 44207784dbfe4d47be039fa1670b3105 |
| name      | cinder                           |
+-----------+----------------------------------+
[iyunv@controller ~]# openstack role add --project service --user cinder admin
[iyunv@controller ~]#

创建 cinder 和 cinderv2 服务实体
[iyunv@controller ~]# openstack service create --name cinder \
>   --description "OpenStack Block Storage" volume
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Block Storage          |
| enabled     | True                             |
| id          | 34951aecd43c4019b5ccb8d3546968b6 |
| name        | cinder                           |
| type        | volume                           |
+-------------+----------------------------------+
[iyunv@controller ~]# openstack service create --name cinderv2 \
>   --description "OpenStack Block Storage" volumev2
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Block Storage          |
| enabled     | True                             |
| id          | 353d5e3c7d844bdb9f2fa5b0bd054154 |
| name        | cinderv2                         |
| type        | volumev2                         |
+-------------+----------------------------------+
[iyunv@controller ~]#


创建块设备存储服务的 API 入口点
v1版本API入口
[iyunv@controller ~]# openstack endpoint create --region RegionOne \
>   volume public http://controller:8776/v1/%\(tenant_id\)s
+--------------+-----------------------------------------+
| Field        | Value                                   |
+--------------+-----------------------------------------+
| enabled      | True                                    |
| id           | ee567d4643354a5c917246885b81fd3e        |
| interface    | public                                  |
| region       | RegionOne                               |
| region_id    | RegionOne                               |
| service_id   | 34951aecd43c4019b5ccb8d3546968b6        |
| service_name | cinder                                  |
| service_type | volume                                  |
| url          | http://controller:8776/v1/%(tenant_id)s |
+--------------+-----------------------------------------+
[iyunv@controller ~]# openstack endpoint create --region RegionOne \
>   volume internal http://controller:8776/v1/%\(tenant_id\)s
+--------------+-----------------------------------------+
| Field        | Value                                   |
+--------------+-----------------------------------------+
| enabled      | True                                    |
| id           | e8170f7726954a9e8271168643a4e6f0        |
| interface    | internal                                |
| region       | RegionOne                               |
| region_id    | RegionOne                               |
| service_id   | 34951aecd43c4019b5ccb8d3546968b6        |
| service_name | cinder                                  |
| service_type | volume                                  |
| url          | http://controller:8776/v1/%(tenant_id)s |
+--------------+-----------------------------------------+
[iyunv@controller ~]# openstack endpoint create --region RegionOne \
>   volume admin http://controller:8776/v1/%\(tenant_id\)s
+--------------+-----------------------------------------+
| Field        | Value                                   |
+--------------+-----------------------------------------+
| enabled      | True                                    |
| id           | ee91417901f64837b6df639492dbed47        |
| interface    | admin                                   |
| region       | RegionOne                               |
| region_id    | RegionOne                               |
| service_id   | 34951aecd43c4019b5ccb8d3546968b6        |
| service_name | cinder                                  |
| service_type | volume                                  |
| url          | http://controller:8776/v1/%(tenant_id)s |
+--------------+-----------------------------------------+
[iyunv@controller ~]#

v2版本API入口
[iyunv@controller ~]# openstack endpoint create --region RegionOne \
>   volumev2 public http://controller:8776/v2/%\(tenant_id\)s
+--------------+-----------------------------------------+
| Field        | Value                                   |
+--------------+-----------------------------------------+
| enabled      | True                                    |
| id           | 53239152bd51439793d2ed8e4401edfb        |
| interface    | public                                  |
| region       | RegionOne                               |
| region_id    | RegionOne                               |
| service_id   | 353d5e3c7d844bdb9f2fa5b0bd054154        |
| service_name | cinderv2                                |
| service_type | volumev2                                |
| url          | http://controller:8776/v2/%(tenant_id)s |
+--------------+-----------------------------------------+
[iyunv@controller ~]# openstack endpoint create --region RegionOne \
>   volumev2 internal http://controller:8776/v2/%\(tenant_id\)s
+--------------+-----------------------------------------+
| Field        | Value                                   |
+--------------+-----------------------------------------+
| enabled      | True                                    |
| id           | aa30ce1ab9244604a76a33365b865d75        |
| interface    | internal                                |
| region       | RegionOne                               |
| region_id    | RegionOne                               |
| service_id   | 353d5e3c7d844bdb9f2fa5b0bd054154        |
| service_name | cinderv2                                |
| service_type | volumev2                                |
| url          | http://controller:8776/v2/%(tenant_id)s |
+--------------+-----------------------------------------+
[iyunv@controller ~]# openstack endpoint create --region RegionOne \
>   volumev2 admin http://controller:8776/v2/%\(tenant_id\)s
+--------------+-----------------------------------------+
| Field        | Value                                   |
+--------------+-----------------------------------------+
| enabled      | True                                    |
| id           | a83ac4dc6af2472989bc2a859d0104f9        |
| interface    | admin                                   |
| region       | RegionOne                               |
| region_id    | RegionOne                               |
| service_id   | 353d5e3c7d844bdb9f2fa5b0bd054154        |
| service_name | cinderv2                                |
| service_type | volumev2                                |
| url          | http://controller:8776/v2/%(tenant_id)s |
+--------------+-----------------------------------------+
[iyunv@controller ~]#


controller节点上安装cinder并修改配置文件
[iyunv@controller ~]# yum -y install openstack-cinder
[iyunv@controller ~]# cp /etc/cinder/cinder.conf{,.bak}
[iyunv@controller ~]# vim /etc/cinder/cinder.conf
[iyunv@controller ~]# grep -v ^# /etc/cinder/cinder.conf | tr -s [[:space:]]
[DEFAULT]
rpc_backend = rabbit
auth_strategy = keystone
my_ip = 192.168.10.10
[BACKEND]
[BRCD_FABRIC_EXAMPLE]
[CISCO_FABRIC_EXAMPLE]
[COORDINATION]
[FC-ZONE-MANAGER]
[KEYMGR]
[cors]
[cors.subdomain]
[database]
connection = mysql+pymysql://cinder:CINDER_DBPASS@controller/cinder
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = CINDER_PASS
[matchmaker_redis]
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp
[oslo_messaging_amqp]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS
[oslo_middleware]
[oslo_policy]
[oslo_reports]
[oslo_versionedobjects]
[ssl]
[iyunv@controller ~]#


初始化cinder服务的数据库
[iyunv@controller ~]# su -s /bin/sh -c "cinder-manage db sync" cinder
Option "logdir" from group "DEFAULT" is deprecated. Use option "log-dir" from group "DEFAULT".
2017-07-25 00:00:48.333 13486 WARNING py.warnings [-] /usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py:
241: NotSupportedWarning: Configuration option(s) ['use_tpool'] not supported
  exception.NotSupportedWarning

2017-07-25 00:00:48.624 13486 INFO migrate.versioning.api [-] 0 -> 1...
2017-07-25 00:00:50.850 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:50.850 13486 INFO migrate.versioning.api [-] 1 -> 2...
2017-07-25 00:00:51.550 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:51.551 13486 INFO migrate.versioning.api [-] 2 -> 3...
2017-07-25 00:00:51.742 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:51.743 13486 INFO migrate.versioning.api [-] 3 -> 4...
2017-07-25 00:00:53.052 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:53.052 13486 INFO migrate.versioning.api [-] 4 -> 5...
2017-07-25 00:00:53.260 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:53.261 13486 INFO migrate.versioning.api [-] 5 -> 6...
2017-07-25 00:00:53.492 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:53.493 13486 INFO migrate.versioning.api [-] 6 -> 7...
2017-07-25 00:00:53.835 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:53.836 13486 INFO migrate.versioning.api [-] 7 -> 8...
2017-07-25 00:00:54.010 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:54.011 13486 INFO migrate.versioning.api [-] 8 -> 9...
2017-07-25 00:00:54.251 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:54.252 13486 INFO migrate.versioning.api [-] 9 -> 10...
2017-07-25 00:00:54.448 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:54.448 13486 INFO migrate.versioning.api [-] 10 -> 11...
2017-07-25 00:00:54.694 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:54.695 13486 INFO migrate.versioning.api [-] 11 -> 12...
2017-07-25 00:00:54.901 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:54.902 13486 INFO migrate.versioning.api [-] 12 -> 13...
2017-07-25 00:00:55.143 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:55.143 13486 INFO migrate.versioning.api [-] 13 -> 14...
2017-07-25 00:00:55.351 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:55.351 13486 INFO migrate.versioning.api [-] 14 -> 15...
2017-07-25 00:00:55.434 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:55.435 13486 INFO migrate.versioning.api [-] 15 -> 16...
2017-07-25 00:00:55.611 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:55.612 13486 INFO migrate.versioning.api [-] 16 -> 17...
2017-07-25 00:00:56.328 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:56.328 13486 INFO migrate.versioning.api [-] 17 -> 18...
2017-07-25 00:00:56.876 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:56.877 13486 INFO migrate.versioning.api [-] 18 -> 19...
2017-07-25 00:00:57.119 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:57.119 13486 INFO migrate.versioning.api [-] 19 -> 20...
2017-07-25 00:00:57.303 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:57.304 13486 INFO migrate.versioning.api [-] 20 -> 21...
2017-07-25 00:00:57.437 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:57.437 13486 INFO migrate.versioning.api [-] 21 -> 22...
2017-07-25 00:00:57.638 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:57.639 13486 INFO migrate.versioning.api [-] 22 -> 23...
2017-07-25 00:00:57.771 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:57.771 13486 INFO migrate.versioning.api [-] 23 -> 24...
2017-07-25 00:00:58.377 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:58.378 13486 INFO migrate.versioning.api [-] 24 -> 25...
2017-07-25 00:00:59.520 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:59.521 13486 INFO migrate.versioning.api [-] 25 -> 26...
2017-07-25 00:00:59.578 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:59.579 13486 INFO migrate.versioning.api [-] 26 -> 27...
2017-07-25 00:00:59.603 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:59.604 13486 INFO migrate.versioning.api [-] 27 -> 28...
2017-07-25 00:00:59.628 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:59.629 13486 INFO migrate.versioning.api [-] 28 -> 29...
2017-07-25 00:00:59.653 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:59.654 13486 INFO migrate.versioning.api [-] 29 -> 30...
2017-07-25 00:00:59.735 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:59.736 13486 INFO migrate.versioning.api [-] 30 -> 31...
2017-07-25 00:00:59.760 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:00:59.761 13486 INFO migrate.versioning.api [-] 31 -> 32...
2017-07-25 00:01:00.148 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:00.149 13486 INFO migrate.versioning.api [-] 32 -> 33...
2017-07-25 00:01:00.665 13486 WARNING py.warnings [-] /usr/lib64/python2.7/site-packages/sqlalchemy/sql/schema.py:2999:
SAWarning: Table 'encryption' specifies columns 'volume_type_id' as primary_key=True, not matching locally specified columns
'encryption_id'; setting the current primary key columns to 'encryption_id'. This warning may become an exception in a future release
  ", ".join("'%s'" % c.name for c in self.columns)

2017-07-25 00:01:00.946 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:00.947 13486 INFO migrate.versioning.api [-] 33 -> 34...
2017-07-25 00:01:01.189 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:01.190 13486 INFO migrate.versioning.api [-] 34 -> 35...
2017-07-25 00:01:01.423 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:01.423 13486 INFO migrate.versioning.api [-] 35 -> 36...
2017-07-25 00:01:01.670 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:01.671 13486 INFO migrate.versioning.api [-] 36 -> 37...
2017-07-25 00:01:01.821 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:01.822 13486 INFO migrate.versioning.api [-] 37 -> 38...
2017-07-25 00:01:02.030 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:02.030 13486 INFO migrate.versioning.api [-] 38 -> 39...
2017-07-25 00:01:02.256 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:02.257 13486 INFO migrate.versioning.api [-] 39 -> 40...
2017-07-25 00:01:03.408 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:03.408 13486 INFO migrate.versioning.api [-] 40 -> 41...
2017-07-25 00:01:03.646 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:03.647 13486 INFO migrate.versioning.api [-] 41 -> 42...
2017-07-25 00:01:03.671 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:03.672 13486 INFO migrate.versioning.api [-] 42 -> 43...
2017-07-25 00:01:03.696 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:03.697 13486 INFO migrate.versioning.api [-] 43 -> 44...
2017-07-25 00:01:03.721 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:03.721 13486 INFO migrate.versioning.api [-] 44 -> 45...
2017-07-25 00:01:03.746 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:03.747 13486 INFO migrate.versioning.api [-] 45 -> 46...
2017-07-25 00:01:03.774 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:03.774 13486 INFO migrate.versioning.api [-] 46 -> 47...
2017-07-25 00:01:03.838 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:03.839 13486 INFO migrate.versioning.api [-] 47 -> 48...
2017-07-25 00:01:04.064 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:04.065 13486 INFO migrate.versioning.api [-] 48 -> 49...
2017-07-25 00:01:04.482 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:04.483 13486 INFO migrate.versioning.api [-] 49 -> 50...
2017-07-25 00:01:04.864 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:04.864 13486 INFO migrate.versioning.api [-] 50 -> 51...
2017-07-25 00:01:05.047 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:05.047 13486 INFO migrate.versioning.api [-] 51 -> 52...
2017-07-25 00:01:05.307 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:05.307 13486 INFO migrate.versioning.api [-] 52 -> 53...
2017-07-25 00:01:06.032 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:06.032 13486 INFO migrate.versioning.api [-] 53 -> 54...
2017-07-25 00:01:06.265 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:06.266 13486 INFO migrate.versioning.api [-] 54 -> 55...
2017-07-25 00:01:06.600 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:06.600 13486 INFO migrate.versioning.api [-] 55 -> 56...
2017-07-25 00:01:06.624 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:06.625 13486 INFO migrate.versioning.api [-] 56 -> 57...
2017-07-25 00:01:06.649 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:06.650 13486 INFO migrate.versioning.api [-] 57 -> 58...
2017-07-25 00:01:06.674 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:06.675 13486 INFO migrate.versioning.api [-] 58 -> 59...
2017-07-25 00:01:06.699 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:06.700 13486 INFO migrate.versioning.api [-] 59 -> 60...
2017-07-25 00:01:06.725 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:06.726 13486 INFO migrate.versioning.api [-] 60 -> 61...
2017-07-25 00:01:07.140 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:07.140 13486 INFO migrate.versioning.api [-] 61 -> 62...
2017-07-25 00:01:07.474 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:07.475 13486 INFO migrate.versioning.api [-] 62 -> 63...
2017-07-25 00:01:07.506 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:07.506 13486 INFO migrate.versioning.api [-] 63 -> 64...
2017-07-25 00:01:07.717 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:07.717 13486 INFO migrate.versioning.api [-] 64 -> 65...
2017-07-25 00:01:08.332 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:08.333 13486 INFO migrate.versioning.api [-] 65 -> 66...
2017-07-25 00:01:09.259 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:09.260 13486 INFO migrate.versioning.api [-] 66 -> 67...
2017-07-25 00:01:09.309 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:09.309 13486 INFO migrate.versioning.api [-] 67 -> 68...
2017-07-25 00:01:09.339 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:09.340 13486 INFO migrate.versioning.api [-] 68 -> 69...
2017-07-25 00:01:09.357 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:09.357 13486 INFO migrate.versioning.api [-] 69 -> 70...
2017-07-25 00:01:09.382 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:09.382 13486 INFO migrate.versioning.api [-] 70 -> 71...
2017-07-25 00:01:09.408 13486 INFO migrate.versioning.api [-] done
2017-07-25 00:01:09.408 13486 INFO migrate.versioning.api [-] 71 -> 72...
2017-07-25 00:01:09.432 13486 INFO migrate.versioning.api [-] done
[iyunv@controller ~]#


修改compute节点配置,以使compute节点能够支持cinder模块
编辑文件 /etc/nova/nova.conf 并添加如下到其中
[iyunv@compute1 ~]# vim /etc/nova/nova.conf
[cinder]
os_region_name = RegionOne

重启计算节点的nova服务
[iyunv@compute1 ~]# systemctl restart openstack-nova-compute

重启controller端的nova服务
[iyunv@controller ~]# systemctl restart openstack-nova-api.service

启用并启动cinder服务
[iyunv@controller ~]# systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service
Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-cinder-api.service to /usr/lib/systemd/system/openstack-cinder-api.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-cinder-scheduler.service to /usr/lib/systemd/system/openstack-cinder-scheduler.service.
[iyunv@controller ~]# systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service
[iyunv@controller ~]# ss -tnl  //启动cinder服务后会新增8776端口
State       Recv-Q Send-Q                                                 Local Address:Port                                                                Peer Address:Port              
LISTEN      0      128                                                                *:8776                                                                           *:*                  
LISTEN      0      128                                                                *:25672                                                                          *:*                  
LISTEN      0      128                                                    192.168.10.10:3306                                                                           *:*                  
LISTEN      0      128                                                        127.0.0.1:11211                                                                          *:*                  
LISTEN      0      128                                                                *:9292                                                                           *:*                  
LISTEN      0      128                                                                *:4369                                                                           *:*                  
LISTEN      0      128                                                                *:9696                                                                           *:*                  
LISTEN      0      100                                                                *:6080                                                                           *:*                  
LISTEN      0      128                                                                *:8774                                                                           *:*                  
LISTEN      0      128                                                                *:22022                                                                          *:*                  
LISTEN      0      128                                                                *:8775                                                                           *:*                  
LISTEN      0      128                                                                *:9191                                                                           *:*                  
LISTEN      0      128                                                               :::5000                                                                          :::*                  
LISTEN      0      128                                                               :::5672                                                                          :::*                  
LISTEN      0      128                                                              ::1:11211                                                                         :::*                  
LISTEN      0      128                                                               :::80                                                                            :::*                  
LISTEN      0      128                                                               :::35357                                                                         :::*                  
LISTEN      0      128                                                               :::22022                                                                         :::*                  
[iyunv@controller ~]#

cinder存储节点配置

kvm宿主机上的操作
给块存储节点添加一块硬盘,先将block节点关机,然后前往kvm控制台进行操作添加虚拟磁盘
[iyunv@openstack_test ~]# qemu-img create -q -f qcow2 /kvm/images/block_lvm.qcow2 100G
[iyunv@openstack_test ~]# ll -h /kvm/images/block_lvm.qcow2
-rw-r--r-- 1 root root 194K Jul 25 00:49 /kvm/images/block_lvm.qcow2
[iyunv@openstack_test ~]# virsh edit block
在原有配置段下面添加如下配置
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/kvm/images/block_lvm.qcow2'/>
      <target dev='vdb' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x10' function='0x0'/>
    </disk>
修改完成后保存退出,启动block虚机

block节点上继续操作
[iyunv@block ~]# lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0              11:0    1  1024M  0 rom  
vda             252:0    0   400G  0 disk
├─vda1          252:1    0   500M  0 part /boot
└─vda2          252:2    0 399.5G  0 part
  ├─centos-root 253:0    0    50G  0 lvm  /
  ├─centos-swap 253:1    0   3.9G  0 lvm  
  └─centos-data 253:2    0 345.6G  0 lvm  /data
vdb             252:16   0   100G  0 disk
[iyunv@block ~]# pvcreate /dev/vdb
  Physical volume "/dev/vdb" successfully created
[iyunv@block ~]# vgcreate cinder-volumes /dev/vdb
  Volume group "cinder-volumes" successfully created
[iyunv@block ~]# vim /etc/lvm/lvm.conf
添加如下内容
filter = [ "a/vda/", "a/vdb/", "r/.*/"]
[iyunv@block ~]# yum install -y openstack-cinder targetcli python-keystone
[iyunv@block ~]# cp /etc/cinder/cinder.conf{,.bak}
[iyunv@block ~]# vim /etc/cinder/cinder.conf
[iyunv@block ~]# grep -v ^# /etc/cinder/cinder.conf | tr -s [[:space:]]
[DEFAULT]
rpc_backend = rabbit
auth_strategy = keystone
my_ip = 192.168.10.20
enabled_backends = lvm
glance_api_servers = http://controller:9292
[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
iscsi_protocol = iscsi
iscsi_helper = lioadm
[BACKEND]
[BRCD_FABRIC_EXAMPLE]
[CISCO_FABRIC_EXAMPLE]
[COORDINATION]
[FC-ZONE-MANAGER]
[KEYMGR]
[cors]
[cors.subdomain]
[database]
connection = mysql+pymysql://cinder:CINDER_DBPASS@controller/cinder
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = CINDER_PASS
[matchmaker_redis]
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp
[oslo_messaging_amqp]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS
[oslo_middleware]
[oslo_policy]
[oslo_reports]
[oslo_versionedobjects]
[ssl]
[iyunv@block ~]# systemctl start openstack-cinder-volume.service target.service


前往controller节点进行操作
[iyunv@controller ~]# . admin-openrc
[iyunv@controller ~]# cinder-service-list
-bash: cinder-service-list: command not found
[iyunv@controller ~]# cinder service-list
+------------------+------------+------+---------+-------+----------------------------+-----------------+
|      Binary      |    Host    | Zone |  Status | State |         Updated_at         | Disabled Reason |
+------------------+------------+------+---------+-------+----------------------------+-----------------+
| cinder-scheduler | controller | nova | enabled |   up  | 2017-07-25T16:17:10.000000 |        -        |
|  cinder-volume   | block@lvm  | nova | enabled |   up  | 2017-07-25T16:17:17.000000 |        -        |
+------------------+------------+------+---------+-------+----------------------------+-----------------+
[iyunv@controller ~]#

创建并挂载一个卷
[iyunv@controller ~]# . demo-openrc
[iyunv@controller ~]# openstack volume create --size 5 volume1
+---------------------+--------------------------------------+
| Field               | Value                                |
+---------------------+--------------------------------------+
| attachments         | []                                   |
| availability_zone   | nova                                 |
| bootable            | false                                |
| consistencygroup_id | None                                 |
| created_at          | 2017-07-26T00:06:22.549611           |
| description         | None                                 |
| encrypted           | False                                |
| id                  | 826e2ea7-4557-4dd5-b540-f213fbedcda4 |
| multiattach         | False                                |
| name                | volume1                              |
| properties          |                                      |
| replication_status  | disabled                             |
| size                | 5                                    |
| snapshot_id         | None                                 |
| source_volid        | None                                 |
| status              | creating                             |
| type                | None                                 |
| updated_at          | None                                 |
| user_id             | deb3adea97e34fee9161a47940762a53     |
+---------------------+--------------------------------------+
[iyunv@controller ~]# openstack volume list
+--------------------------------------+--------------+-----------+------+-------------+
| ID                                   | Display Name | Status    | Size | Attached to |
+--------------------------------------+--------------+-----------+------+-------------+
| 826e2ea7-4557-4dd5-b540-f213fbedcda4 | volume1      | available |    5 |             |
+--------------------------------------+--------------+-----------+------+-------------+
[iyunv@controller ~]# openstack volume show 826e2ea7-4557-4dd5-b540-f213fbedcda4
+------------------------------+--------------------------------------+
| Field                        | Value                                |
+------------------------------+--------------------------------------+
| attachments                  | []                                   |
| availability_zone            | nova                                 |
| bootable                     | false                                |
| consistencygroup_id          | None                                 |
| created_at                   | 2017-07-26T00:06:22.000000           |
| description                  | None                                 |
| encrypted                    | False                                |
| id                           | 826e2ea7-4557-4dd5-b540-f213fbedcda4 |
| multiattach                  | False                                |
| name                         | volume1                              |
| os-vol-tenant-attr:tenant_id | 0200f6457da84abd9055a5c192386747     |
| properties                   |                                      |
| replication_status           | disabled                             |
| size                         | 5                                    |
| snapshot_id                  | None                                 |
| source_volid                 | None                                 |
| status                       | available                            |
| type                         | None                                 |
| updated_at                   | 2017-07-26T00:06:23.000000           |
| user_id                      | deb3adea97e34fee9161a47940762a53     |
+------------------------------+--------------------------------------+
[iyunv@controller ~]# openstack server add volume provider-instance volume1
[iyunv@controller ~]# openstack server start provider-instance

block节点发生的变化
[iyunv@block ~]# lsblk
NAME                                                               MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0                                                                 11:0    1  1024M  0 rom  
vda                                                                252:0    0   400G  0 disk
├─vda1                                                             252:1    0   500M  0 part /boot
└─vda2                                                             252:2    0 399.5G  0 part
  ├─centos-root                                                    253:0    0    50G  0 lvm  /
  ├─centos-swap                                                    253:1    0   3.9G  0 lvm  
  └─centos-data                                                    253:2    0 345.6G  0 lvm  /data
vdb                                                                252:16   0   100G  0 disk
└─cinder--volumes-volume--826e2ea7--4557--4dd5--b540--f213fbedcda4 253:3    0     5G  0 lvm  
[iyunv@block ~]#

实例上挂载数据卷操作步骤
使用ssh登录实例查看有无数据卷
[iyunv@controller ~]# ssh -p 22 cirros@10.0.0.102
$ lsblk
NAME   MAJ:MIN RM    SIZE RO TYPE MOUNTPOINT
vda    253:0    0      1G  0 disk
`-vda1 253:1    0 1011.9M  0 part /
vdb    253:16   0      5G  0 disk
$ sudo fdisk /dev/vdb  //分区
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x344bf1f3.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p):
Using default response p
Partition number (1-4, default 1):
Using default value 1
First sector (2048-10485759, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-10485759, default 10485759):
Using default value 10485759

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

$ sudo mkfs.ext4 -L data /dev/vdb1
mke2fs 1.42.2 (27-Mar-2012)
Filesystem label=data
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1310464 blocks
65523 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
    32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: done                           
Writing inode tables: done                           
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

$ sudo mkdir /data  //创建挂载点
$ sudo vi /etc/fstab  //写入fstab文件,方便重启后自动挂载
$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount pt>     <type> <options>         <dump> <pass>
/dev/root  /         auto     rw,noauto                 0 1
proc       /proc     proc     defaults                  0 0
devpts     /dev/pts  devpts   defaults,gid=5,mode=620   0 0
tmpfs      /dev/shm  tmpfs    mode=0777                 0 0
sysfs      /sys      sysfs    defaults                  0 0
tmpfs      /run      tmpfs    rw,nosuid,relatime,size=200k,mode=755 0 0
/dev/vdb1 /data ext4 defaults 0 0
$ sudo mount -a
$ lsblk
NAME   MAJ:MIN RM    SIZE RO TYPE MOUNTPOINT
vda    253:0    0      1G  0 disk
`-vda1 253:1    0 1011.9M  0 part /
vdb    253:16   0      5G  0 disk
`-vdb1 253:17   0      5G  0 part /data
$ ls /data/
lost+found
$
    block节点在实际生产环境中也数量庞大的,所以也需要在成功配置一个节点后写成自动化配置脚本,以便大批量部署。


运维网声明 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-403186-1-1.html 上篇帖子: openstack安装配置—— compute node配置 下篇帖子: openstack安装配置—— 实例启动(双网络模型)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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