本文共 7829 字,大约阅读时间需要 26 分钟。
镜像 安装过系统的虚拟硬盘
管理是用glance来完成。
镜像的状态:
active 镜像已经上传完成,并且是可用的
saving 正在被上传,还没有完成
killed 上传出错
queued 并没有真的上传完成,但是被标记有这个镜像
安装glance
在 keystone注册
glance所需要的账户
创建glance服务
指定glance服务的endpoint
安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [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 image --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 | +-------------+----------------------------------+ |
修改配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 | [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-image.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 ##拷贝模板 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | [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/images/ scrubber_datadir = /var/lib/glance/scrubber image_cache_dir = /var/lib/glance/image-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 |
1 2 3 | [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 |
管理
1 2 3 4 5 6 7 8 9 10 11 | [root@h4 ~(keystone_admin)] # glance image-list +----+------+ | ID | Name | +----+------+ +----+------+ [root@h4 ~(keystone_admin)] # glance help image-create ##########################先上传一个镜像再创建 [root@h4 ~(keystone_admin)] # glance image-create --name hequan --file hequan.img --disk-format qcow2 --visibility publice --container-format bare ##创建 [root@h4 ~(keystone_admin)] # glance image-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/images/ ###镜像保存的位置 #default_store=file |
修改镜像存储位置
swift 做后端存储
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 6 #filesystem_store_datadir = /var/lib/glance/images/ ##先禁用 [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 共享存储
安装epel仓库
1 2 3 4 5 6 7 8 9 10 11 12 | 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
1 2 3 | [root@h5 xx] # ceph-deploy new h5 [root@h5 xx] # ls ceph.conf ceph-deploy-ceph.log ceph.mon.keyring |
2 要根据自己的情况修改配置文件ceph.conf
1 2 | osd_pool_default_size = 2 ##几个节点组成,默认是3 osd_pool_defaults_min_size = 1 ##最小值是1 |
3 生成key 当客户端要链接到ceph服务器,需要用户名和密码
1 2 3 4 5 | [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
1 2 3 4 | 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复制到各个节点上去
1 2 | [root@h5 ceph] # ceph-deploy admin h5 h6 [root@h5 ceph] # ceph health ##健康性检查 |
6 生成元数据
1 2 3 4 | [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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [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 ##设置权限 能读 |
制作镜像
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | 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-image/ [root@h4 openstack-image] # qemu-img info centos.qcow2 qemu-img conver -c -o qcow2 centos.qcow2 newcentos.qcow2 ###3 压缩命令 |