ceph web安装 说明: 1). ceph 集群少于3台, mon,mgr,rgw,mds节点安装一个,大于等于三台,mon,mds,rgw安装3个节点,mgr安装2个节点. 2). 只有1块SSD磁盘时,SSD用于日志存储,当SSD大于等于2块时,其中一块用于创建SSD存储池. 3). 默认对象存储网关为8080, 默认创建用户access_key: W6XCJFJX2ETBB387IK4D secret_key=yh8wpPjiQ7wNfbGhKYkFHSNa7OBPHaIWjEQgOPlD 默认创建存储桶为eDoc2 4). 默认创建cephfs. 挂载使用户名为admin ,密码存在/etc/ceph/ceph.client.admin.keyring文件中 5). 需要配置的文件host-inventory,group_vars/all.yml,下面会有配置参考 6). 部署ansible-playbook -i host-inventory site.yml -u root -k #根据提示输入密码 7). 增加osd(主要用于ssd池) ansible-playbook -i host-inventory add-osd.yml -u root -k #根据提示输入密码 8). 清除ceph集群. ansible-playbook -i host-inventory purge-cluster.yml -e ireallymeanit=yes -u root -k #根据提示输入密码,删除集群会清除所有数据, 9). ansible-playbook 开如的命令一定要在ceph-ansible-3.2.35这个目录执行 10). ceph版本13.2.6 11). mgr端口7000,默认用户admin,密码:edoc2 1.配置yum源,安装软件包 packages_install/install.sh #安装ceph软件包 config_ssh.sh -u -p -h #配置ssh免密钥,只需要在主节点上执行即可 -u 用户名, -p 密码 -h 需要安装主机IP,如果有多个IP,中间中逗号隔开 2.生成配置文件 生成host-inventory [mons] #需要安装monitor服务的节点IP,节点个数小于3个,只运行一个monitor服务,节点大于等于3,运行三个monitor服务 #IP1 monitor_address=x.x.x.x #IP 2 [mgrs] #需要安装mgr服务的节点IP,节点个数小于3,只运行一个mgr服务,节点大于等于3,运行2个mgr服务 #IP1 #IP2 [mdss] #需要安装mds服务的节点IP,节点个数小于3个,只运行一个monitor服务,节点大于等于3,运行三个monitor服务 #IP1 #IP2 [rgws] #需要安装对象网关服务的节点IP,节点个数小于3个,只运行一个monitor服务,节点大于等于3,运行三个对象网关服务 #IP1 radosgw_address=x.x.x.x #IP2 [osds] # 需要安装osd服务的节点IP, # devices填写这个节点需要加入ceph集群的磁盘路径,包含日志存储的SSD,如果服务器有两个及以上的SSD,其中一块SSD用于存储池, #IP1 devices="['/dev/sdb','/dev/sdc','/dev/sdd','/dev/sde','/dev/sdf','/dev/sdg','/dev/sdh']" 生成group_var/all.yml dummy: ceph_origin: distro ceph_stable_release: mimic fsid: #集群唯一Id 使用uuidgen 生成, 一个集群生成一次 generate_fsid: false fetch_directory: fetch/ cephx: true ip_version: ipv4 configure_firewall: False #配置防火墙,否 ceph_mgr_modules: [dashboard] #mgr服务需要开启的模块 #cephfs相关配置 cephfs: cephfs cephfs_data: cephfs_data cephfs_metadata: cephfs_metadata cephfs_pools: - { name: "{{ cephfs_data }}", pgs: "32", size: "1" } - { name: "{{ cephfs_metadata }}", pgs: "16", size: "1" } # 3个节点以下,size设置为1,3个节点以前size设置为3 mds_max_mds: 1 #osd参数 osd_objectstore: bluestore #设置后端存储驱动 public_network: 192.168.251.0/24 #设置osd的网络地址 dmcrypt: false #是否加密,加密改为true osd_auto_discovery: false osd_memory_target: 2147483648 osd_scenario: lvm os_tuning_params: - { name: vm.min_free_kbytes, value: 1048576 } ceph_mgr_modules: [dashboard,status,restful] #对象网关参数 radosgw_num_instances: 1 rgw_override_bucket_index_max_shards: 32 radosgw_civetweb_port: 8080 radosgw_civetweb_num_threads: 500 rgw_multisite: true rgw_realm: macrowing rgw_zonegroup: edoc2 rgw_zone: master rgw_zonemaster: true rgw_zone_user: admin rgw_multisite_endpoint_addr: "{{ radosgw_address }}" system_access_key: 6kWkikvapSnHyE22P7nO system_secret_key: MGecsMrWtKZgngOHZdrd6d3JxGO5CPWgT2lcnpSt rgw_create_pools: master.rgw.buckets.data: pg_num: 64 size: 1 master.rgw.buckets.index: pg_num: 32 size: 1 master.rgw.control: pg_num: 16 size: 1 master.rgw.meta: pg_num: 16 size: 1 matest.rgw.log: pg_num: 32 size: 1 master.rgw.buckets.non-ec: pg_num: 32 size: 1 # 3个节点以下,size设置为1,3个节点以前size设置为3 ceph_conf_overrides: global: osd pool default size: 1 # 3个节点以下,size设置为1,3个节点以前size设置为3 osd pool default pg num: 8 osd pool default pgp num: 8 rgw num rados handles: 2 rgw multipart part upload limit: 50000 mon: mon allow pool delete: true mon max pg per osd: 500 mds: mds standby replay: True mds cache memory limit: 2147483648 osd: osd scrub begin hour: 23 osd scrub end hour: 6 osd scrub sleep: 3 osd scrub chunk min: 1 osd scrub chunk max: 1 3.compose文件中配置对象存储 在edoc2服务中配置以下环境变量. STORAGEPLATFORM=2 #2是ceph s3存储 Ceph_Url= ceph s3对象存储接口地址,多个地址之间用豆号隔开,如http://192.168.252.143:8080, Ceph_SecretKey=W6XCJFJX2ETBB387IK4D s3对象存储的secret key Ceph_S3AccessKey=yh8wpPjiQ7wNfbGhKYkFHSNa7OBPHaIWjEQgOPlD s3对象存储的access key, Ceph_HealthUrl= 填写ceph mgr的地址,多个地址之间用豆号分隔开,如http://192.168.252.143:7000 4. cephfs的挂载 在/etc/fstab中增加自动挂载配置 mon1_IP:6789,mon2_ip:6789,mon3_ip:6789:/ /home/edoc2/macrowing/edoc2v5 ceph _netdev,name=admin,secret=SECRET 0 0 多个mon节点加端口 需要挂的本地路径 admin的密钥,在/etc/ceph/ceph.client.admin.keyring 里面取 执行挂载命令 mount -t ceph mon1_IP:6789,mon2_ip:6789,mon3_ip:6789:/ /home/edoc2/macrowing/edoc2v5 -o name=admin,secret=SECRET