問題:
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位的,因此為了程式的相容性...