版本管理
etcd采用x.y.z標識版本,x是主版本,y是次版本,z是補丁版本。
etcd維護當前版本和先前版本的分支,例如v3.5是當前版本,同時維護v3.4,當v3.6發布時,v3.4就不再維護
etcd最新版本是:v3.5.7
ECX使用的版本:v3.3.15(官方不再維護),需要考慮升級到3.5
其他需要升級的問題:
- v3.4之前版本的客戶端存在負載均衡bug,如果第一個節點出現異常,訪問服務端時也可能出現異常
配置參數
配置方式和優先級:--config-file etcd.conf.yml > command line flags 和 environment variables
etcd 3.3配置參考:etcd v3.3 configuration
本次調整的配置項:
quota-backend-bytes: 8589934592(修改/etc/etcd/etcd.config.yml 增加quota-backend-bytes: 8589934592,重啟etcd。注意:如果集群已經觸發alarm:NOSPACE,修改配置不會生效,需要執行etcdctl alarm disarm)
資源預留
CPU:8核
內存:16GB
磁盤:建議SSD
- 對順序寫時延敏感,建議順序寫IOPS > 500
- 帶寬,建議100MB/s,帶寬越大,從故障恢復越快
- 空間:
- data-dir: /var/lib/etcd 100GB
- wal-dir: /var/lib/etcd/wal 共用上述空間即可
- 備份目錄: /root/etcd_bak 每天備份保留7個副本 需要7倍于/var/lib/etcd/member 的空間,100GB足夠
網絡:建議10GbE帶寬
QoS
磁盤:ionice命令設置etcd的優先級
# 設置etcd IO調度優先級為盡最大努力調度 ionice -c2 -n0 -p `pgrep etcd` # 驗證設置是否成功 ionice -p `pgrep etcd` |
網絡:tc命令設置更高優先級
tc qdisc add dev br211 root handle 1: prio bands 3 tc filter add dev br211 parent 1: protocol ip prio 1 u32 match ip sport 2380 0xffff flowid 1:1 tc filter add dev br211 parent 1: protocol ip prio 1 u32 match ip dport 2380 0xffff flowid 1:1 tc filter add dev br211 parent 1: protocol ip prio 2 u32 match ip sport 2379 0xffff flowid 1:1 tc filter add dev br211 parent 1: protocol ip prio 2 u32 match ip dport 2379 0xffff flowid 1:1 |