镜像    安装过系统的虚拟硬盘

          

管理是用glance来完成。

镜像的状态:

          active   镜像已经上传完成,并且是可用的

          saving         正在被上传,还没有完成

          killed          上传出错

          queued       并没有真的上传完成,但是被标记有这个镜像


安装glance

          在 keystone注册

                     glance所需要的账户

                     创建glance服务

                     指定glance服务的endpoint



安装

[root@h4 ~]# yum -y install openstack-glance.noarch
[root@h4 ~]# openstack-db  --init  --service glance --password 123456 -rootpw 123456
[root@h4 ~(keystone_admin)]# keystone user-create --name glance  --pass 123456
[root@h4 ~(keystone_admin)]# keystone  user-role-add  --user glance --tenant services --role admin
[root@h4 ~(keystone_admin)]# keystone  service-create  --name glance --type p_w_picpath  --description "glance jingxiang"
[root@h4 ~(keystone_admin)]# keystone  endpoint-create  --service-id  3d0969b633044029a895da1ca2855464  --publicurl  'http://192.168.1.204:9292'  --internalurl  'http://192.168.1.204:9292'  --adminurl  'http://192.168.1.204:9292'
+-------------+----------------------------------+
|   Property  |              Value               |
+-------------+----------------------------------+
|   adminurl  |    http://192.168.1.204:9292     |
|      id     | e0f7718b18444f71a43762ca3336ef06 |
| internalurl |    http://192.168.1.204:9292     |
|  publicurl  |    http://192.168.1.204:9292     |
|    region   |            regionOne             |
|  service_id | 3d0969b633044029a895da1ca2855464 |
+-------------+----------------------------------+


修改配置文件

[root@h4 glance(keystone_admin)]# systemctl  list-unit-files  | grep glanc
openstack-glance-api.service                  disabled   接受用户的请求
openstack-glance-registry.service             disabled   和数据库进行交互
openstack-glance-scrubber.service             disabled   和其他接口进行交互
[root@h4 glance(keystone_admin)]# ls
glance-api.conf    glance-registry.conf  metadefs     schema-p_w_picpath.json
glance-cache.conf  glance-scrubber.conf  policy.json
[root@h4 glance(keystone_admin)]# cd /usr/share/glance/模板
[root@h4 glance(keystone_admin)]# ls
glance-api-dist.conf       glance-registry-dist.conf
glance-api-dist-paste.ini  glance-registry-dist-paste.ini
glance-cache-dist.conf     glance-scrubber-dist.conf
[root@h4 glance(keystone_admin)]# cp glance-api-dist.conf  /etc/glance/glance-api.conf ##拷贝模板
[root@h4 glance(keystone_admin)]# vim glance-api.conf
[DEFAULT]
debug = False
verbose = True
use_stderr = False
log_file = /var/log/glance/api.log
filesystem_store_datadir = /var/lib/glance/p_w_picpaths/
scrubber_datadir = /var/lib/glance/scrubber
p_w_picpath_cache_dir = /var/lib/glance/p_w_picpath-cache/
rabbit_host = 192.168.1.204
rabbit_port = 5672
rabbit_hosts = $rabbit_host:$rabbit_port
rabbit_use_ssl = false
rabbit_userid = guest
rabbit_password = guest
rabbit_login_method = AMQPLAIN
[database]
connection = mysql://glance:123456@192.168.1.204/glance
[keystone_authtoken]
admin_tenant_name = services
admin_user = glance
admin_password = 123456
auth_host = 192.168.1.204
auth_port = 35357
auth_protocol = http
auth_uri = http://192.168.1.204:5000/
[paste_deploy]
config_file = /usr/share/glance/glance-api-dist-paste.ini
flavor = keystone
[root@h4 glance]# chown root.glance glance-api.conf
[root@h4 glance]# systemctl  start openstack-glance-api.service openstack-glance-registry.service  openstack-glance-scrubber.service
[root@h4 glance]# systemctl  enable openstack-glance-api.service openstack-glance-registry.service  openstack-glance-scrubber.service

管理

[root@h4 ~(keystone_admin)]# glance p_w_picpath-list
+----+------+
| ID | Name |
+----+------+
+----+------+
[root@h4 ~(keystone_admin)]# glance help  p_w_picpath-create
##########################先上传一个镜像再创建
[root@h4 ~(keystone_admin)]# glance   p_w_picpath-create  --name hequan --file hequan.img  --disk-format qcow2   --visibility publice  --container-format bare             ##创建
[root@h4 ~(keystone_admin)]# glance   p_w_picpath-create  --name hequan --os-distro http://mirrors.163.com/centos/7.2.1511/isos/x86_64/CentOS-7-x86_64-Minimal-1511.iso  --disk-format iso     --container-format bare
filesystem_store_datadir = /var/lib/glance/p_w_picpaths/ ###镜像保存的位置
 #default_store=file

修改镜像存储位置

swift  做后端存储

  6 #filesystem_store_datadir = /var/lib/glance/p_w_picpaths/  ##先禁用
[glance_store]
default_store = swift          默认为file 改为swift
stores = file, http                默认不用动
swift_store_auth_version = 2        默认版本为2
stores=glance.store.swift.Store,glance.store.filesystem.Store      此项一定要加上,不然无法上传
swift_store_auth_address = http://192.168.1.204:5000/v2.0/   controller的keystone认证
swift_store_user = service:swift    使用swift用户
swift_store_key = hequan        密码
swift_store_container = glance        将要被创建的容器
swift_store_create_container_on_put = True        上传开
swift_store_large_object_size = 5120        最大5G限制,但与glance结合后限制无效
swift_store_large_object_chunk_size = 200        最大200个容器
swift_enable_snet = False
[root@h4 glance(keystone_admin)]# systemctl restart openstack-glance-api.service openstack-glance-registry.service  openstack-glance-scrubber.service

ceph  共享存储

wKioL1eQyIXiJOY3AAExaGE5bbI635.png-wh_50

安装epel仓库

rpm -vih http://mirrors.sohu.com/fedora-epel/7/x86_64/e/epel-release-7-2.noarch.rpm
添加yum ceph仓库
vim /etc/yum.repos.d/ceph.repo
[ceph]
name=Ceph noarch packages
baseurl=http://mirrors.163.com/ceph/rpm-hammer/el7/x86_64/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=http://mirrors.163.com/ceph/keys/release.asc
安装ceph-deploy,ceph(ceph所有节点都安装,ceph-deploy只需admin节点安装)
yum -y update && yum -y install --release hammer ceph ceph-deploy

1 生成相关的MOD信息   监控服务器  h5

[root@h5 xx]# ceph-deploy  new  h5
[root@h5 xx]# ls
ceph.conf  ceph-deploy-ceph.log  ceph.mon.keyring

2 要根据自己的情况修改配置文件ceph.conf

osd_pool_default_size = 2      ##几个节点组成,默认是3
osd_pool_defaults_min_size = 1 ##最小值是1

3 生成key   当客户端要链接到ceph服务器,需要用户名和密码

[root@h5 xx]# ceph-deploy mon      create-initial
[root@h5 myceph]# ls
ceph.bootstrap-mds.keyring  ceph.client.admin.keyring  ceph.mon.keyring
ceph.bootstrap-osd.keyring  ceph.conf
ceph.bootstrap-rgw.keyring  ceph.log

4 开始准备配置OSD

mkdir path1  path2
[root@h5 xx]# ceph-deploy osd prepare  h5:/path1  h6:/path2
[root@h5 xx]# ceph-deploy osd activate h5:/path1  h6:/path2    ##激活
[ceph_deploy.osd][DEBUG ] Host h5 is now ready for osd use.

5 把key复制到各个节点上去

[root@h5 ceph]# ceph-deploy  admin  h5 h6
[root@h5 ceph]# ceph health  ##健康性检查

6 生成元数据

[root@h5 ceph]# ceph-deploy  mds  create h5
[root@h5 ceph]# rados lspools
[root@h5 ceph]# rados mkpool glance
[root@h5 ceph]# rados rmpool glance  glance --yes-i-really-really-mean-it  ##删除

glance配置成ceph的客户端

安装ceph

[root@h4 ceph(keystone_admin)]# ls
rbdmap
[root@h5 myceph]# ceph-deploy  admin h4
[root@h4 ceph(keystone_admin)]# ls
ceph.client.admin.keyring  ceph.conf  rbdmap  tmp6BxOoY
vim glance-api.conf
[glance_store]
default_store = rbd
stores = rbd
rbd_store_pool = glance
rbd_store_user = admin
rbd_store_ceph_conf = /etc/ceph/ceph.conf
rbd_store_chunk_size = 8     
systemctl  restart openstack-glance-api.service openstack-glance-registry.service  openstack-glance-scrubber.service
-rw------- 1 root root  63 7月  21 16:43 ceph.client.admin.keyring
setfacl  -m u:glance:r--  ceph.client.admin.keyring         ##设置权限 能读

制作镜像   

yum -y groupinstall "Server with GUI"
yum install virt-manager python-virtinst qemu-kvm-tools   qemu-kvm  libvirt



KVM
创建存储卷    centos.qcow2
基本安装
配置网卡  删除MAC
安装基本组件openssh-clients
cloud-init   ##云包


[root@h4 ~]# vim /etc/default/grub
GRUB_CMDLINE_LINUX="net.ifnames=0  biosdevname=0 console=tty0 console=ttyS0,115200n8 rhgb quiet"##指定串口的参数

[root@h4 ~]# grub2-mkconfig  -o  /boot/grub2/grub.cfg


封装
[root@h5 ~]# yum whatprovides */virt-sysprep
[root@h5 ~]# yum -y install libguestfs-bash-completion-1.28.1-1.55.el7.centos.noarch
[root@h4 ~]# virt-sysprep  -d centos
[root@h4 ~]# cd /openstack-p_w_picpath/
[root@h4 openstack-p_w_picpath]# qemu-img  info centos.qcow2
qemu-img  conver -c -o qcow2  centos.qcow2   newcentos.qcow2 ###3 压缩命令