ceph一些需要注意的地方

  1. Ceph Kernel Client: We currently recommend:
    • v3.6.6 or later in the v3.6 stable series
    • v3.4.20 or later in the v3.4 stable series
  2. 软件包都用 release.asc 密钥加密签名过,把我们的发布密钥加到您系统的可信密钥列表中可避免安全警告:
    sudo rpm --import 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc'
  3. 用发行版代码名替换下面命令中的{DISTRO}:
    su -c 'rpm -Uvh http://ceph.com/rpm-bobtail/{DISTRO}/x86_64/ceph-release-1-0.el6.noarch.rpm'
    例如,拿 CentOS 6 或其他 RHEL6 衍生物(e16)来说:
    su -c 'rpm -Uvh http://ceph.com/rpm-bobtail/el6/x86_64/ceph-release-1-0.el6.noarch.rpm'
    也可以直接从网址下载:http://ceph.com/rpm-firefly/
  4. 当前我们给 CentOS-6 和 Fedora 17 平台构建软件包,软件库包会安装软件仓库,具体到系统可能用于 yum 或
    up2date。
    对 CentOS 6 来说:
    su -c 'rpm -Uvh http://ceph.com/rpms/el6/x86_64/ceph-release-1-0.el6.noarch.rpm'
    你可以从下列地址直接下载 RPM:
    http://ceph.com/rpm-testing
  5. 升级 OSD 包:
    ssh {osd-host}
    sudo apt-get update && sudo apt-get install ceph
    重启 OSD,N 是 OSD 号:
    service ceph restart osd.N
    确认升级后的 OSD 加入了集群:
    ceph osd stat     #成功升级一个 OSD 后,再继续其它的,直到完成所有 OSD。
  6. 升级 ceph 包:
    ssh {mon-host}
    sudo apt-get update && sudo apt-get install ceph
    重启监视器:
    service ceph restart mon.{name}
    确认监视器重入法定人数。
    ceph mon stat
  7. ceph 注重数据安全,就是说,它收到数据已写入硬盘的通知时,数据确实已写入硬盘。使用较老的内核(版
    本小于 2.6.33)时,如果日志在原始硬盘上,就要禁用写缓存;较新的内核没问题。
    用 hdparm 禁用硬盘的写缓冲功能。
    sudo hdparm -W 0 /dev/hda 0
    在生产环境,建议您在系统盘运行 OSD,在另外的硬盘里放数据。如果必须把数据和系统放在一个硬盘里,
    最好给数据分配一个单独的分区。
  8. ceph 的 OSD 有赖于底层文件系统的扩展属性(XATTR)存储各种内部对象状态和元数据。底层文件系统必须
    给 XATTR 提供足够容量,btrfs 没有限制随文件存储的 xattr 元数据;xfs 的限制相对大(64KB),多数部署都不
    会有瓶颈;ext4 的则太小而不可用。要用这些文件系统,你得把下面这行写入 ceph.conf 的[osd]段里。
    使用 ext4 文件系统时,应该一直把下面的配置放于[osd]段下;用 btrfs 和 xfs 时可以选填。
    filestore xattr use omap = true
  9. 启动 ceph 集群时,每个守护进程都从 ceph.conf 里查找它自己的配置。手动配置时,你需要创建 ceph.conf 来
    配置集群。
  10. 默认的 ceph.conf 位置相继排列如下:
    1. $CEPH_CONF (i.e., the path following the $CEPH_CONF environment variable)
    2. -c path/path (i.e., the -c command line argument)
    3. /etc/ceph/ceph.conf
    4. ~/.ceph/config
    5. ./ceph.conf (i.e., in the current working directory)
  11. 一个例程由类型和它的例程编号(ID)确定,OSD 的例程 ID 只能是
    数字,监视器和元数据服务器的 ID 可包含字母和数字。
  12. 元变量大大简化了集群配置,ceph 会把配置的元变量展开为具体值;元变量功能很强大,可以用在[global]、
    [osd]、[mon]、[mds]段里,类似于 bash 的 shell 扩展。
    Example: /etc/ceph/$cluster.keyring
    Default: ceph
  13. 没有性能优化时,ceph 把日志和 OSD 数据存储相同的硬盘上;要优化 OSD 性能,可以把日志分离到单独的硬
    盘上(例如,固态硬盘能提供高日志性能)。
  14. ceph 可以在运行时更改 ceph-osd、ceph-mon、ceph-mds 守护进程的配置,这种功能在增加/降低日志输出、启
    用/禁用调试设置、甚至是运行时优化的时候非常有用,下面是运行时配置的用法:
    ceph {daemon-type} tell {id or *} injectargs '--{name} {value} [--{name} {value}]'
    用 osd、mon、mds 中的一个替代{daemon-type},你可以用星号(*)或具体进程 ID(其数字或字母)把运行时
    配置应用到一类进程的所有例程,例如增加名为 osd.0 的 ceph-osd 进程的调试级别的命令如下:
    ceph osd tell 0 injectargs '--debug-osd 20 --debug-ms 1'
  15. 如果你的 ceph 集群在运行,而你想看一个在运行进程的配置,用下面的命令:
    ceph --admin-daemon {/path/to/admin/socket} config show | less
  16. 例如如果集群名是 ceph(默认值),你可以用下面的命令检
    索 osd.0 的配置:
    ceph --admin-daemon /var/run/ceph/ceph-osd.0.asok config show | less
  17. 要从集群主机卸载 ceph 软件包,在管理主机的终端下执行:
    ceph-deploy uninstall {hostname [hostname] ...}
    在 Debian 或 Ubuntu 系统上你也可以:
    ceph-deploy purge {hostname [hostname] ...}
    此工具会从指定主机上卸载 ceph 软件包,另外 purge 会删除配置文件。
  18. 不建议把监视器和 OSD 置于同一主机上。
    如果你想删除集群中的某个监视器,可以用 destroy 选项。
    ceph-deploy mon destroy {host-name [host-name]...}
  19. 不再使用 ceph-deploy(或另建一集群)时,你应该删除管理主机上、本地目录中的密钥。可用下列命令:
    ceph-deploy forgetkeys
  20. 执行下列命令列举一节点上的磁盘:
    ceph-deploy disk list {node-name [node-name]...}
    用下列命令擦净(删除分区表)磁盘,以用于 ceph:
    ceph-deploy disk zap {osd-server-name}:{disk-name}
    ceph-deploy disk zap osdserver1:sdb
  21. 要清理掉/var/lib/ceph 下的所有数据(但保留 ceph 软件包),执行 purgedata 命令:
    ceph-deploy purgedata {hostname} [{hostname} ...]
    要清理掉/var/lib/ceph 下的所有数据、并卸载 ceph 软件包,用 purge 命令。
    ceph-deploy purge {hostname} [{hostname} ...]
  22. 要允许一主机以管理员权限执行 ceph 命令,用 admin 命令:
    ceph-deploy admin {host-name [host-name]...}
  23. 要把改过的配置文件分发给集群内各主机,可用 config push 命令。
    ceph-deploy config push {host-name [host-name]...}
  24. 要从集群内的一主机检索配置文件,用 config pull 命令。
    ceph-deploy config pull {host-name [host-name]...}
  25. 使用-a(在所有节点上执行)选项可操作整个集群,你也可以指定一个具体例程把操作限定到某一个例程,例
    如要启动本地节点的一个例程,按下列语法:
    sudo /etc/init.d/ceph start osd.0
    要启动其他节点上的一个例程,按下列语法:
    sudo /etc/init.d/ceph -a start osd.0
  26. 执行命令时一旦加了-a(意为在所有节点执行),整个 ceph 集群都会关闭。你也可以加选项把操作限定到某
    个具体例程。要停止本地节点上的一个守护进程,按下列语法:
    sudo /etc/init.d/ceph stop osd.0
    要停止别处守护进程,按下列语法:
    sudo /etc/init.d/ceph -a stop osd.0
  27. 要在交互模式下运行 ceph,不要带参数运行 ceph,例如:
    ceph
    ceph>health
    ceph>status
    ceph>quorum_status
    ceph>mon_status
  28. 如果你的 ceph.conf 或密钥环不在默认路径下,你得指定:
    ceph -c /path/to/conf -k /path/to/keyring health
  29. 要观察集群内正发生的事件,打开一个新终端,然后输入:
    ceph -w
    要检查集群的状态,执行下面的命令:
    ceph status
    或者:
    ceph -s
  30. 你可以执行下列命令来确定 OSD 状态为 up 且 in:
    ceph osd stat
    或者:
    ceph osd dump
    你也可以根据 OSD 在 CRUSH 图里的位置来查看:
    ceph osd tree
  31. 要查看监视器图,执行下面的命令:
    ceph mon stat
    或者:
    ceph mon dump
    要检查监视器的法定人数状态,执行下面的命令:
    ceph quorum_status
  32. 元数据服务器为 ceph 文件系统提供元数据服务,元数据服务器有两种状态:up|down 和 active|inactive,执
    行下面的命令来确保元数据服务器 up 且 active:
    ceph mds stat
    要展示元数据集群的详细状态,执行下面的命令:
    ceph mds dump
  33. ceph 管理套接字允许你通过 socket 接口查询守护进程。它们默认存在于/var/run/ceph 下,用下列命令访问套
    接字:
    ceph --admin-daemon /var/run/ceph/{socket-name}
    用下列命令查看可用的管理套接字命令:
    ceph --admin-daemon /var/run/ceph/{socket-name} help
  34. 用下列命令获取归置组列表:
    ceph pg dump
    要根据指定归置组号查看哪些 OSD 位于 Acting Set 或 Up Set 里,执行:
    ceph pg map {pg-num}
  35. 用下列命令获取归置组列表:
    ceph pg dump
    你也可以让它输出到 JSON 格式,并保存到文件:
    ceph pg dump -o {filename} --format=json
    要查询某个归置组,用下列命令:
    ceph pg {poolnum}.{pg-id} query



转载于:https://my.oschina.net/renguijiayi/blog/291449

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值