radosgw 的civetweb 配置與排錯

在64bit debian8 下面使用的仍然是sysinit,運行ceph-deploy rgw create 新建rgw的時候,提示rgw服務沒法啓動,排查以下:web

  1. 檢查ceph auth配置frontend

    root@demo:/etc/ceph# ceph auth list
    	......
    	client.rgw.demo # 使用ceph-deploy rgw create的時候自動生成
    		key: AQB0NPlVEkpPExAAaOAkz+X6fB9sJaMdR+Bq4Q==
    		caps: [mon] allow rw
    		caps: [osd] allow rwx

    ceph auth已經生成了一個client.rgw.demo的用戶,同時在/etc/ceph下面也生成了對於的keyring(沒有,請手工添加)socket

    cat /etc/ceph/ceph.client.radosgw.demo.keyring
    	[client.rgw.demo]
    		key = AQB0NPlVEkpPExAAaOAkz+X6fB9sJaMdR+Bq4Q==
  2. 檢查ceph.conf配置tcp

    cat /etc/ceph/ceph.conf
    
    	[client.rgw.demo] #重點是這個sections
    	host = demo
    	keyring = /etc/ceph/ceph.client.radosgw.demo.keyring
    	rgw_frontends = civetweb port=80
    	rgw socket path = /var/run/ceph/ceph-client.rgw.demo.asok #這個socket文件關聯服務運行狀態
    	log file = /var/log/radosgw/client.radosgw.demo.log
    	rgw print continue = false
    	rgw enable ops log = false
    	rgw ops log rados = false
    	rgw ops log data bakclog = 4096
  3. 手工啓動服務成功 手工啓動命令,注意-n爲ceph auth裏面的用戶名測試

    手工啓動
    	radosgw  -n client.rgw.demo
    	檢查端口及進程
    	netstat -talnp|grep rados
    	tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      6601/radosgw
    	tcp        0      0 10.0.2.15:58613         10.0.2.15:6789          ESTABLISHED 6601/radosgw
    	tcp        0      0 10.0.2.15:55465         10.0.2.15:6800          ESTABLISHED 6601/radosgw
    	tcp        0      0 10.0.2.15:51986         10.0.2.15:6804          ESTABLISHED 6601/radosgw
    	tcp        0      0 10.0.2.15:51098         10.0.2.15:6808          ESTABLISHED 6601/radosgw
    
    	ps aux|grep rados
    	root      6601  0.5  1.5 2165088 15692 ?       Ssl  11:11   0:00 radosgw -n client.rgw.demo
  4. init腳本啓動與排錯debug

    /etc/init.d/radosgw start
    	/usr/bin/radosgw is not running.

    啓動失敗,啓動debug模式再來code

    sh -x /etc/init.d/radosgw start
    	+ PATH=/sbin:/bin:/usr/bin
    	+ . /lib/lsb/init-functions
    	+ run-parts --lsbsysinit --list /lib/lsb/init-functions.d
    	+ [ -r /lib/lsb/init-functions.d/20-left-info-blocks ]
    	+ . /lib/lsb/init-functions.d/20-left-info-blocks
    	+ [ -r /lib/lsb/init-functions.d/40-systemd ]
    	+ . /lib/lsb/init-functions.d/40-systemd
    	+ _use_systemctl=0
    	+ [ -d /run/systemd/system ]
    	+ [ 0 = 1 ]
    	+ FANCYTTY=
    	+ [ -e /etc/lsb-base-logging.sh ]
    	+ true
    	+ VERBOSE=0
    	+ [ start = -v ]
    	+ [ start = --verbose ]
    	+ PREFIX=client.radosgw.
    	+ DEFAULT_USER=root
    	+ which radosgw
    	+ RADOSGW=/usr/bin/radosgw
    	+ [ ! -x /usr/bin/radosgw ]
    	+ ceph-conf --list-sections client.radosgw.
    	+ daemon_is_running /usr/bin/radosgw
    	+ daemon=/usr/bin/radosgw
    	+ pidof /usr/bin/radosgw
    	+ echo /usr/bin/radosgw is not running.
    	/usr/bin/radosgw is not running.
    	+ exit 1

    重點就是ceph-conf --list-sections client.radosgw.,這裏對ceph.conf配置文件的sections作了簡單的檢查,只認client.radosgw,而咱們的ceph.conf裏面寫的是client.rgw,手工運行命令確認一下咱們的判斷進程

    ceph-conf --list-sections client.radosgw.
    	無返回
    	ceph-conf --list-sections client.rgw.
    	client.rgw.demo
  5. 解決問題ci

    • 方法1 修改啓動腳本
    • 方法2 修改ceph.conf的sections爲client.radosgw.xxxx,同時ceph auth裏面的用戶也要改

    我這裏用方法1it

    修改/etc/init.d/radosgw
    	# prefix for radosgw instances in ceph.conf
    	#PREFIX='client.radosgw.'
    	PREFIX='client.rgw.'
    
    	測試
    	/etc/init.d/radosgw start
    	Starting client.rgw.demo...
    	/usr/bin/radosgw is running.
    
    	ps -axu|grep radosgw
    	root      7045  1.7  1.5 2165080 15696 ?       Ssl  11:30   0:00 /usr/bin/radosgw -n client.rgw.demo
    
    	netstat -tuanlp|grep rados
    	tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      7045/radosgw
    	tcp        0      0 10.0.2.15:58617         10.0.2.15:6789          ESTABLISHED 7045/radosgw
    	tcp        0      0 10.0.2.15:51990         10.0.2.15:6804          ESTABLISHED 7045/radosgw
    	tcp        0      0 10.0.2.15:55469         10.0.2.15:6800          ESTABLISHED 7045/radosgw
    	tcp        0      0 10.0.2.15:51102         10.0.2.15:6808          ESTABLISHED 7045/radosgw
相關文章
相關標籤/搜索