問題解決記錄 KRBD Map失敗

2021-07-08 17:22:02 字數 4232 閱讀 7287

問題:

centos6.5,公升級kernel到3.10.84

rbd create test1無報錯

rbd info test1無報錯顯示正常

rbd map test1出現問題

開始是沒有響應,等待一段時間後,出現:

rbd: sysfs write failed

rbd: map failed: (5) input/output error

解決過程

應該是核心rbd模組無法讀取rbd資訊所致。

懷疑可能是image 資料損壞,重新建了兩個image,都出現一樣的問題,排除這個可能。

檢視dmesg發現有錯誤輸出:

mon1 ******x:6789 feature set mismatch, my ****** < server's ******, missing1000000000000

對照feature表,應該是當前核心版本缺少 ceph_feature_crush_v4 ****

這個特性支援。

而這個特性在4.1版本核心才被支援,公升級核心不現實,只能在服務端關閉這個特性。

通過ceph osd crush dump看到:

"tunables":

最後這個特性顯得比較詭異,為什麼被開啟了呢?

tunbale has_v4_buckets 0

重新編譯發現不能編譯,提示這並不是乙個合法的配置項。

於是連蒙帶猜,認為這個配置項不是手工配置的,而是由其它配置自動產生的。

straw2是乙個跟crush相關的新特性,很有可能與之有關。

檢查crushmap,發現其中的bucket的alg全部配置成了straw2(不知道哪個哥們幹的)

於是將其改回straw,重新匯入crushmap。

發現has_v4_buckets特性的值已經變為0了。

嘗試重新map image:  rbd map test1

終於成功了~~

收穫:

以後用krbd時,可以通過查表清楚的知道哪些版本支援什麼樣的特性啦。

feature

bitoct

3.83.9

3.10

3.14

3.15

3.18

4.1ceph_feature_uid01

ceph_feature_nosrcaddr12

rrrr

rrrceph_feature_monclockcheck24

ceph_feature_flock38

ceph_feature_subscribe2410

ceph_feature_monnames520

ceph_feature_reconnect_seq640

-r-rrr

rceph_feature_dirlayouthash780

ceph_feature_objectlocator

8100

ceph_feature_pgid64

9200rr

rrrr

ceph_feature_incsubosdmap

10400

ceph_feature_pgpool3

11800rr

rrrr

ceph_feature_osdreplymux

121000

ceph_feature_osdenc

132000rr

rrrr

ceph_feature_omap

144000

ceph_feature_monenc

158000

ceph_feature_query_t

1610000

ceph_feature_indep_pg_map

1720000

ceph_feature_crush_tunables

1840000ss

ssss

sceph_feature_chunky_scrub

1980000

ceph_feature_mon_nullroute

20100000

ceph_feature_mon_gv

21200000

ceph_feature_backfill_reservation

22400000

ceph_feature_msg_auth

23800000

-s-s

ceph_feature_recovery_reservation

241000000

ceph_feature_crush_tunables2

252000000ss

ssss

ceph_feature_createpoolid

264000000

ceph_feature_reply_create_inode

278000000ss

ssss

ceph_feature_osd_hbmsgs

2810000000

ceph_feature_mdsenc

2920000000

ceph_feature_osdhashpspool

3040000000ss

ssss

ceph_feature_mon_single_paxos

3180000000

32100000000

ceph_feature_mon_scrub

33200000000

ceph_feature_osd_packed_recovery

34400000000

ceph_feature_osd_cachepool

35800000000

-s-sss

ceph_feature_crush_v2

361000000000

-s-sss

ceph_feature_export_peer

372000000000

-s-sss

ceph_feature_osd_erasure_codes***

384000000000

ceph_feature_osd_tmap2omap

38*4000000000

ceph_feature_osdmap_enc

398000000000

-s-s

sceph_feature_mds_inline_data

4010000000000

ceph_feature_crush_tunables3

4120000000000

-s-s

sceph_feature_osd_primary_affinity

41*20000000000

-s-s

sceph_feature_msgr_keepalive2

4240000000000

ceph_feature_osd_poolresend

4380000000000

ceph_feature_erasure_code_plugins_v2

44100000000000

ceph_feature_osd_set_alloc_hint

45200000000000

ceph_feature_osd_fadvise_flags

46400000000000

ceph_feature_osd_repop

46*400000000000

ceph_feature_osd_object_digest

46*400000000000

ceph_feature_osd_transaction_may_lay

46*400000000000

ceph_feature_mds_quota

47800000000000

ceph_feature_crush_v4 ****

481000000000000

-s-ceph_feature_osd_min_size_recovery

492000000000000

ceph_feature_osd_proxy_features

49*4000000000000

Mysql啟動失敗問題解決

一 問題描述 root localhost service mysqld start another mysql daemon already running with the same unix socket.正在啟動 mysqld 失敗 二 解決方法 rm var lib mysql mysql...

Kindeditor上傳失敗問題解決

kindeditor 上傳失敗 kindeditor上傳成功,但是頁面上卻提示失敗 kindeditor得到json正確,確提示失敗 今天又遇到了乙個比較無奈的問題,在我編寫ssm框架的專案時,遇到了kindeditor上傳失敗的問題。如圖 最開始我以為是伺服器的問題,比如返回值,但是發現最後返回的...

python問題解決記錄

一 python程式在64位電腦和32位電腦的相容性問題 1 今天遇到乙個問題,在64位機器上生成乙個exe之後,在32位電腦上不能執行,提示是相容性問題。查了一資料後發現,是因為我的生成exe的電腦上的python虛擬機器是64位的,那麼py2exe生成的exe自然是64位的,因此為了程式的相容性...