信创服务器迁移注意事项
背景
随着国家队信创要求的越来越高
很多应用都需要迁移到信创服务器上面了.
迁移过程中最好是能够进行一些基础设置
可以尽可能的避免迁移后的问题
提高产品的功能,性能与易用性.
核心观点
迁移其实是一个腾笼换鸟的过程
务必在正式迁移之前进行一些性能测试.
有条件的进行稳定性验证. 烤机验证.
迁移一定要有合适的停机窗口
和详细的迁移规划.
避免迁移过程中出现异常问题.
需要协调业务部门,运维部门,以及项目开发部门协助
做好预案, 留好测试和验证的时间.
环境核心信息确认
1. 时区
2. 字体
3. 语言
4. 磁盘空间
5. 内存大小
6. CPU型号
7. 系统版本
8. nofile,nproc限制.
9. selinux限制.
10.用户属主目录权限.
11.client-app-db网络互通性
12.部分内核参数验证.
13.系统漏洞确认与升级.
14.根据业务系统划分机器名以及添加基础监控到监控平台.
基础信息获取
性能数据获取
建议可以采用sysbench 主要可以测试如下几个方面
yum install sysbench -y 后:
CPU: 主要是计算能力, 需要说明,不同架构对比意义不大.并且实际性能跟缓存和IPC关系更大
sysbench --time=60 --threads=4 --report-interval=3 --cpu-max-prime=10000 cpu run
内存: 读写两种情况以及顺序和随机两种方式进行验证.
sysbench --threads=8 --time=60 --report-interval=10 --memory-block-size=8K --memory-total-size=4096G --memory-access-mode=seq --memory-oper=write memory run
sysbench --threads=8 --time=60 --report-interval=10 --memory-block-size=8K --memory-total-size=4096G --memory-access-mode=rnd --memory-oper=write memory run
sysbench --threads=8 --time=60 --report-interval=10 --memory-block-size=8K --memory-total-size=4096G --memory-access-mode=seq --memory-oper=read memory run
sysbench --threads=8 --time=60 --report-interval=10 --memory-block-size=8K --memory-total-size=4096G --memory-access-mode=rnd --memory-oper=read memory run
磁盘: 可以在需要测试的分区进行测试. fileio prepare可以用来生成文件 run 进行测试.
sysbench fileio --threads=8 --report-interval=2 --time=10 --file-num=32 --file-total-size=1G --file-test-mode=rndrw prepare
sysbench fileio --threads=8 --report-interval=2 --time=10 --file-num=32 --file-total-size=1G --file-test-mode=rndrw run
可以通过redis-benchmark 简单获取硬件基准信息:
./redis-benchmark -h 127.0.0.1 -p 6379 -a Test@xxxxxxxx -n 100000 -c 20 -q
建议:
收到服务器后需要进行一次 基础性能压测.
后续可以定期进行一些测试,验证服务器有否严重的性能下降.
如果突然服务器出现卡顿, 则应该执行基准测试
保证不是服务器基础性能出现问题导致.
内核参数调优
# 需要说明, 参数配置建议都进行验证
# 没有完全可以一套配置打遍天下的设置.
# 文件系统相关调优
vm.swappiness=10
vm.min_free_kybtes=5,242,880
vm.vfs_cache_pressure=200
vm.dirty_background_ratio=5
vm.dirty_ratio=10
vm.dirty_expire_centisecs=1500
vm.dirty_writeback_centisecs=300
# 网络层相关优化参数
net.ipv4.tcp_fin_timeout = 6
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 30000
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_synack_retries = 2
net.ipv4.ip_local_port_range = 1025 61000
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.tcp_keepalive_probes = 3
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 32768
net.ipv4.tcp_retries2 = 5
net.ipv4.tcp_rmem = 10240 87380 12582912
net.ipv4.tcp_wmem = 10240 87380 12582912
net.core.rmem_default = 6291456
net.core.wmem_default = 6291456
net.core.rmem_max = 12582912
net.core.wmem_max = 12582912
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 30
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 60
net.netfilter.nf_conntrack_max = 1048576
net.nf_conntrack_max = 1048576
net.netfilter.nf_conntrack_tcp_timeout_established = 1800
关于数据库的相关配置
1. 必须有备份
2. 必须有异地备份
3. 重要数据必须有类似data guard的实时备份.
4. 重要数据必须有定期数据库备份回复演练的验证.
数据库的内存配置和存储配置是所有配置里面最关键的.
CPU的配置基本上是跟序列号和工作线程数相关.
这一块需要与数据库厂商确认.
内存配置 主要目标是开启大页, 合理的规范内存的使用情况
数据库建议都是专用机器, 不建议与其他可能有大量磁盘读写内存读写的应用在一起.
内存配置建议留下必要的系统和缓存文件使用的之外交由数据库来管理.
如果有大量使用swap的情况务必要进行分析, 避免数据库性能断崖式下降.
存储配置主要是确认存储的设备以及优化情况
底层存储设备的类型, 是 hdd, 是 ssd 是 sata-ssd还是nvme-ssd 还是 pmem.
如果是高端存储, 主要是LUN的数量设置, 控制器的配置, 以及多路径访问网络延迟等.
如果是本地文件系统, 那么raid设置, raid级别, 是否启用缓存.是否有电池都很关键.
文件系统的系统文件格式. 挂载参数,
数据库一定要定期获取 类似于oracle的awr报告.
并且有定期告警的功能, 避免数据库出现异常.
关于安全与升级
信创系统一般都是公司采购的, 需要与数据库厂商联系
建议在系统交付之前将可能的bug,以及安全漏洞进行告知.
最好在运维组创建虚拟机镜像clone之前就进行调优和设置.
将安全补丁进行更新, 后再进行分发,
比如非常常见的:
audit的导致内存占用过多的bug
以及最近刚出现的.libkysec-core-1.0.1-16.se.10.ky10
低于此版本可能存在安全问题的情况.
简单总结
服务器的性能基线和安全基线的设置很重要.
参数配置也很重要.
但是很难有一套各种模式下都可以使用的参数配置.
所以建议还是独立的配置测试
保证产品的稳定性.
标签:--,注意事项,tcp,ipv4,memory,服务器,信创,net,size
From: https://www.cnblogs.com/jinanxiaolaohu/p/18240568