php是專門做網(wǎng)站的最全資源搜索引擎
適用版本:V2.1.x、V2.2.x、V3.1.x、V3.2.x
本文主要介紹 OceanBase 數(shù)據(jù)集在副本遷移過程中遇到的問題的排查方法。
適用版本
V2.1.x、V2.2.x、V3.1.x、V3.2.x
手動(dòng)調(diào)度遷移問題的排查
OceanBase 數(shù)據(jù)庫(kù)的 RootService 模塊負(fù)責(zé) Unit 遷移的調(diào)度,如果一直沒有對(duì)遷移進(jìn)行調(diào)度,可以通過以下方法進(jìn)行排查。
-
通過以下 SQL 找到 RootService 的 IP 地址。
obclient> SELECT * FROM __all_server WHERE with_rootserver=1; +----------------------------+----------------------------+----------------+----------+----+-------+------------+-----------------+--------+-----------------------+--------------------------------------------------------------------------------------+-----------+--------------------+--------------+----------------+-------------------+ | gmt_create | gmt_modified | svr_ip | svr_port | id | zone | inner_port | with_rootserver | status | block_migrate_in_time | build_version| stop_time | start_service_time | first_sessid | with_partition | last_offline_time | +----------------------------+----------------------------+----------------+----------+----+-------+------------+-----------------+--------+-----------------------+--------------------------------------------------------------------------------------+-----------+--------------------+--------------+----------------+-------------------+ | 2021-03-24 10:32:55.367438 | 2021-03-24 10:35:56.904319 | xx.xxx.xxx.xxx | 2882 | 2 | zone2 | 2881 | 1 | active | 0 | 2.2.76_20210314152507-03d916596ba416277bf49a1a2fccb0b0d36a1631(Mar 14 2021 15:56:27) | 0 | 1616553286007503 | 0 | 1 | 0 | +----------------------------+----------------------------+----------------+----------+----+-------+------------+-----------------+--------+-----------------------+--------------------------------------------------------------------------------------+-----------+--------------------+--------------+----------------+-------------------+ 1 row in set (0.01 sec)
-
登錄到 RootService 所在的服務(wù)器,通過以下命令搜索 balancer 相關(guān)的日志。
[admin@oceanbase /]$ grep balancer log/rootservice.log
遷移過慢問題排查
-
檢查數(shù)據(jù)庫(kù)配置項(xiàng),建議的值如下:
-
將?
server_data_copy_out_concurrency
?配置為 10。 -
將?
server_data_copy_in_concurrency
?配置為 10。 -
將?
sys_bkgd_io_low_percentage
?按需配置。 -
將?
sys_bkgd_net_percentage
?按需配置。
其中,
server_data_copy_in_concurrency
?與?server_data_copy_out_concurrency
?分別用于配置單個(gè)節(jié)點(diǎn)遷入數(shù)據(jù)與遷出數(shù)據(jù)的最大并發(fā)數(shù)。sys_bkgd_io_low_percentage
?表示?sys_io_percent
?的下限,如果下限太低則可能導(dǎo)致合并的 I/O 很慢,可以通過適當(dāng)調(diào)大這個(gè)值來調(diào)大 I/O。sys_bkgd_net_percentage
?表示后端網(wǎng)絡(luò)帶寬占用。有關(guān)以上配置項(xiàng)的詳細(xì)信息,請(qǐng)參見《OceanBase 數(shù)據(jù)庫(kù) 參考指南》中的?系統(tǒng)配置項(xiàng)?章節(jié)。
-
-
檢查 Unit 遷移操作是否為異地進(jìn)行?。
通過以下命令檢查延時(shí),如果延時(shí)大于 5 ms,則表示遷移操作為異地進(jìn)行。將操作系統(tǒng)的?
sysctl.conf
?文件中的?tcp_slow_start_after_idle
?參數(shù)設(shè)置為 0,避免 TCP 連接在空閑后被重新設(shè)置。其中?observer_ip
?表示遷移目的服務(wù)器的 IP 地址。[admin@oceanbase /]$ ping <observer_ip>
-
檢查 I/O 是否達(dá)到磁盤瓶頸。
通過以下命令確認(rèn)是否達(dá)到磁盤 I/O 瓶頸。
[root@hostname /]# iostat -x -k 1 Linux 3.10.0-327.ali2019.alios7.x86_64 (k08j13249.eu95sqa) 03/30/2021 _x86_64_ (64 CPU)avg-cpu: %user %nice %system %iowait %steal %idle16.29 0.00 6.85 0.02 0.00 76.84
通過以下命令檢查?
io_size_byte
?列中 2097152 對(duì)應(yīng)行?io_ps
?是否達(dá)到 500 以上。[admin@oceanbase /]$ cat etc/io_resource.conf version 1 io_type io_size_byte io_ps io_rt_us 0 4096 139979.75 123.25 0 8192 122290.50 139.44 0 16384 102972.00 164.16 0 32768 64478.75 196.28 0 65536 38162.25 219.13 0 131072 20608.50 232.28 0 262144 10537.00 280.90 0 524288 5284.00 414.86 1 2097152 890.00 1781.68 submit_thread_cnt 1 getevent_thread_cnt 5
如果?
io_ps
?未達(dá)到 500,檢查日志,查看?sys_io_high_percent
?是否與配置?sys_bkgd_io_low_percentage
?一致。如果不一致,則說明存在 I/O 限流。[admin@oceanbase /]$ grep io_stat log/observer.log [2019-01-11 16:45:35.629871] INFO [COMMON] ob_io_manager.cpp:1424 [26043][Y0-0000000000000000] [lt=18] Current io stat, (sys_io_percent=60, sys_iops_up_limit=770, user_max_rt=20775.528088989257, user_io_stat={average_size:0, average_rt_us:"0.000000000000", old_stat:{io_cnt:27169649, io_bytes:349257160063, io_rt_us:276864943639}, new_stat:{io_cnt:27169649, io_bytes:349257160063, io_rt_us:276864943639}}, sys_io_stat={average_size:2097152, average_rt_us:"2784.086956521739", old_stat:{io_cnt:10151653, io_bytes:21289559392256, io_rt_us:127287447387}, new_stat:{io_cnt:10151676, io_bytes:21289607626752, io_rt_us:127287511421}}, io_conf={sys_io_low_percent:50, sys_io_high_percent:60, user_iort_up_percent:100, cpu_high_water_level:7680, write_failure_detect_interval:60000000, read_failure_black_list_interval:300000000, retry_warn_limit:2, retry_error_limit:5}, cpu_stat={avg_usage:584})
-
檢查網(wǎng)絡(luò)配置。
-
檢查網(wǎng)卡是千兆還是萬兆。
-
檢查?
ifconfig
?輸出的結(jié)構(gòu)是否有?drop
?或者?error
?的包。 -
通過?
tsar
?或?vsar
?檢查 retrans,如果大于 0.2 則說明交換機(jī)或者鏈路存在問題。
-
-
檢查出現(xiàn)遷移過慢的步驟。
執(zhí)行以下 SQL 語句,檢查?
ACTION
?列值,該字段表示目前遷移正處于的步驟。obclient> SELECT * FROM __all_virtual_partition_migration_status WHERE action!='END' AND result = 0\G
遷移失敗問題的排查
-
確認(rèn)常見錯(cuò)誤碼。
目前,常見的遷移失敗對(duì)應(yīng)兩個(gè)錯(cuò)誤碼,分別為:
-
ERROR 4109?:常見于 OceanBase 數(shù)據(jù)庫(kù) V1.4 版本,如果目的端在合并或者轉(zhuǎn)儲(chǔ),可能出現(xiàn)該錯(cuò)誤。如果 rebuild 的時(shí)候遇到,可以通過加快合并速度來回避,即調(diào)大合并線程數(shù)或者增量 sysio 的帶寬限制。
-
ERROR 4018?:表示源端進(jìn)行了合并或者轉(zhuǎn)儲(chǔ),導(dǎo)致找不到需要的數(shù)據(jù)。需要調(diào)大遷移的帶寬、
sysio
?限制或者降低轉(zhuǎn)儲(chǔ)合并的頻率。
-
-
檢查是否存在硬件問題。
-
檢查機(jī)器各硬件是否存在故障。
-
檢查錯(cuò)誤日志。
如果結(jié)果為空則表示無故障。
[root@hostname /]# dmesg|grep -E "Failed status, reset controller|Controller encountered a fatal error and was reset|Controller encountered a fatal error and was reset
對(duì)于配置了 Raid 的機(jī)器還需要進(jìn)行以下檢查,如果結(jié)果為空則表示無故障。
[root@hostname /]# tbraid log | grep -E "Read Medium ERR|Error"
-
通過以下命令確認(rèn)是否存在 RX 或 TX 錯(cuò)誤。
[root@hostname /]# ifconfig bond0: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST> mtu 1500inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx broadcast xxx.xxx.xxx.xxxether xx:xx:xx:xx:xx:xx txqueuelen 0 (Ethernet)RX packets 234167440 bytes 206275603707 (192.1 GiB)RX errors 0 dropped 63 overruns 0 frame 0TX packets 241808476 bytes 97456446934 (90.7 GiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
-
檢查?
tsar
?或?vsar
?的?retrans
?值,如果大于 0.2 則表示網(wǎng)絡(luò)鏈路故障。[root@hostname /]# tsar Time ---cpu-- ---mem-- ---tcp-- -----traffic---- --sda--- --dfa--- --dfb--- --dfc--- --dm-0-- --dm-7-- --dm-8-- --dm-9-- -dm-10-- -dm-11-- -dm-12-- -dm-14-- -dm-24-- --dm-3-- --dm-2-- --dm-4-- -dm-15-- --dm-5-- -dm-16-- -dm-18-- -dm-17-- -dm-21-- -dm-19-- -dm-20-- --dm-1-- --dm-6-- -dm-13-- -dm-22-- -dm-23-- -dm-25-- -dm-28-- -dm-26-- -dm-27-- -dm-29-- -dm-30-- -dm-31-- ---load- Time util util retran bytin bytout util util util util util util util util util util util util util util util util util util util util util util util util util util util util util util util util util util util util load1 30/03/21-16:45 21.62 53.82 0.00 3.0K 4.9K 0.01 0.04 0.33 1.26 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.40 0.00 0.00 0.39 0.00 0.01 0.29 0.00 0.00 0.00 0.00 0.02 0.35 0.39 0.00 0.00 0.15 0.00 0.00 0.00 0.00 0.00 0.00 15.31 30/03/21-16:50 21.59 54.39 0.00 2.9K 4.8K 0.01 0.04 0.30 1.20 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.37 0.01 0.00 0.37 0.00 0.01 0.29 0.00 0.00 0.00 0.00 0.02 0.32 0.39 0.00 0.00 0.14 0.00 0.00 0.00 0.00 0.00 0.00 12.37 30/03/21-16:55 24.40 54.68 0.00 2.9K 4.9K 0.01 0.27 1.08 32.99 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.40 0.00 0.01 0.40 0.00 0.01 0.28 0.00 0.00 0.00 0.00 0.24 1.10 32.64 0.00 0.00 0.16 0.00 0.00 0.00 0.00 0.00 0.00 24.60 30/03/21-17:00 24.46 55.30 0.00 2.9K 4.9K 0.01 0.19 1.11 18.98 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.38 0.00 0.00 0.37 0.00 0.01 0.28 0.00 0.00 0.00 0.00 0.17 1.13 18.49 0.00 0.00 0.17 0.00 0.00 0.00 0.00 0.00 0.00 19.38 30/03/21-17:05 21.74 55.89 0.00 2.9K 4.9K 0.01 0.04 0.02 1.26 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.41 0.01 0.00 0.36 0.00 0.01 0.30 0.00 0.00 0.00 0.00 0.02 0.03 0.38 0.00 0.00 0.16 0.00 0.00 0.00 0.00 0.00 0.00 16.01MAX 38.78 79.44 0.13 1.7M 51.1K 0.69 1.55 55.95 50.54 0.00 0.00 0.00 0.00 0.00 0.00 0.61 0.12 0.00 6.98 0.01 0.11 6.65 0.12 0.01 4.94 0.00 6.50 0.34 55.83 0.33 12.47 45.96 0.82 55.79 6.68 6.63 0.34 55.81 1.14 0.00 0.00 61.70 MEAN 29.42 76.67 0.00 9.4K 5.2K 0.01 0.09 0.71 3.73 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.44 0.01 0.01 0.44 0.00 0.01 0.33 0.00 0.40 0.01 0.35 0.03 0.20 2.13 0.02 0.55 0.43 0.41 0.01 0.35 0.00 0.00 0.00 22.73 MIN 16.84 48.16 0.00 2.8K 4.2K 0.01 0.06 0.00 1.14 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.42 0.01 0.01 0.41 0.00 0.01 0.29 0.00 0.04 0.01 0.00 0.02 0.00 0.34 0.01 0.00 0.04 0.04 0.01 0.00 0.00 0.00 0.00 10.32[root@hostname /]# vsar Time ---cpu-- ---mem-- ---tcp-- -----traffic---- --sda--- --dfa--- --dfb--- --dfc--- --dm-0-- --dm-7-- --dm-8-- --dm-9-- -dm-10-- -dm-11-- -dm-12-- -dm-14-- -dm-24-- --dm-3-- --dm-2-- --dm-4-- -dm-15-- --dm-5-- -dm-16-- -dm-18-- -dm-17-- -dm-21-- -dm-19-- -dm-20-- --dm-1-- --dm-6-- -dm-13-- -dm-22-- -dm-23-- -dm-25-- -dm-28-- -dm-26-- -dm-27-- -dm-29-- -dm-30-- -dm-31-- ---load- Time util util retran bytin bytout util util util util util util util util util util util util util util util util util util util util util util util util util util util util util util util util util util util util load1 30/03/21-17:09:13 21.32 56.40 0.00 949.00 5.4K 0.02 0.06 0.00 1.38 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.34 0.02 0.00 0.32 0.00 0.00 0.36 0.00 0.00 0.00 0.00 0.02 0.00 0.42 0.02 0.00 0.24 0.00 0.00 0.00 0.00 0.00 0.00 13.32 30/03/21-17:09:18 21.46 56.41 0.00 4.4K 33.3K 1.42 0.00 0.00 0.92 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.28 0.00 0.00 0.38 0.00 0.00 0.30 0.00 0.00 0.00 0.00 0.00 0.00 0.26 0.00 0.00 0.14 0.00 0.00 0.00 0.00 0.00 0.00 12.74 30/03/21-17:09:23 21.73 56.41 0.00 931.00 5.3K 0.00 0.04 0.00 1.12 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.26 0.00 0.02 0.40 0.00 0.00 0.40 0.00 0.00 0.00 0.00 0.00 0.00 0.28 0.00 0.00 0.20 0.00 0.00 0.00 0.00 0.00 0.00 12.68 30/03/21-17:09:28 22.16 56.44 0.00 10.8K 5.1K 0.02 0.02 0.00 1.92 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.40 0.00 0.00 0.60 0.00 0.00 0.26 0.00 0.00 0.00 0.00 0.00 0.00 0.90 0.00 0.00 0.24 0.00 0.00 0.00 0.00 0.00 0.00 13.02 30/03/21-17:09:33 21.07 56.44 0.00 863.00 5.3K 0.00 0.02 0.00 1.16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.34 0.00 0.00 0.36 0.00 0.02 0.38 0.00 0.00 0.00 0.00 0.00 0.00 0.28 0.00 0.00 0.28 0.00 0.00 0.00 0.00 0.00 0.00 13.02 30/03/21-17:09:38 21.21 56.45 0.00 2.3K 4.4K 0.02 0.08 0.00 1.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.36 0.00 0.02 0.38 0.00 0.00 0.16 0.00 0.00 0.00 0.00 0.06 0.00 0.26 0.00 0.00 0.16 0.00 0.00 0.00 0.00 0.00 0.00 13.02 30/03/21-17:09:43 21.18 56.44 0.00 2.8K 5.2K 0.00 0.06 0.00 1.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.34 0.02 0.02 0.26 0.00 0.00 0.18 0.00 0.00 0.00 0.00 0.00 0.00 0.30 0.00 0.00 0.16 0.00 0.02 0.00 0.00 0.00 0.00 13.34 30/03/21-17:09:48 20.99 56.44 0.00 2.3K 4.3K 0.00 0.02 0.00 0.98 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.22 0.00 0.00 0.32 0.00 0.00 0.34 0.00 0.00 0.00 0.00 0.00 0.00 0.20 0.02 0.00 0.10 0.00 0.00 0.00 0.00 0.00 0.00 13.07 30/03/21-17:09:53 21.52 56.45 0.00 863.00 5.1K 0.02 0.02 0.00 0.96 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.30 0.00 0.00 0.30 0.00 0.00 0.20 0.00 0.00 0.00 0.00 0.00 0.00 0.26 0.00 0.00 0.20 0.00 0.00 0.00 0.00 0.00 0.00 13.39 30/03/21-17:09:58 21.44 56.47 0.00 8.0K 4.5K 0.00 0.00 0.00 1.18 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.38 0.00 0.00 0.34 0.00 0.00 0.24 0.00 0.00 0.00 0.00 0.00 0.00 0.36 0.00 0.00 0.18 0.00 0.00 0.00 0.00 0.00 0.00 12.80 30/03/21-17:10:03 24.46 56.48 0.00 1.1K 5.5K 0.00 0.02 0.00 1.26 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.30 0.00 0.00 0.34 0.00 0.02 0.28 0.00 0.00 0.00 0.00 0.00 0.00 0.50 0.00 0.00 0.18 0.00 0.00 0.00 0.00 0.00 0.00 13.02MAX 74.03 56.45 0.00 15.4M 186.1K 30.10 17.46 100.00 92.10 0.00 0.00 0.00 0.00 0.00 0.26 12.90 0.00 0.00 1.06 1.24 1.00 0.90 0.00 1.02 0.92 0.00 43.00 4.68 100.00 3.18 97.52 92.64 4.30 100.00 74.30 42.90 3.80 100.00 0.00 0.00 0.00 50.61 MEAN 22.13 51.58 0.00 78.8K 7.5K 0.05 0.18 7.02 4.33 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.00 0.00 0.39 0.01 0.01 0.38 0.00 0.01 0.29 0.00 0.15 0.02 4.19 0.04 0.88 3.36 0.04 6.54 0.36 0.15 0.02 4.20 0.00 0.00 0.00 15.21 MIN 16.19 48.24 0.00 642.00 3.9K 0.01 0.02 0.00 0.64 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.18 0.01 0.00 0.14 0.00 0.00 0.08 0.00 0.00 0.00 0.00 0.01 0.01 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 9.37
-
-
檢查內(nèi)核問題。
通過以下命令檢查是否存在內(nèi)核故障。
如果出現(xiàn)形如?
task xxx blocked for more than 120 seconds
?的日志,則可能為內(nèi)核故障??梢酝ㄟ^升級(jí)內(nèi)核版本的方式解決該問題。[root@hostname /]# dmesg |grep blocked