首页 > 其他分享 >信创服务器迁移注意事项

信创服务器迁移注意事项

时间:2024-06-10 12:11:46浏览次数:7  
标签:-- 注意事项 tcp ipv4 memory 服务器 信创 net size

信创服务器迁移注意事项


背景

随着国家队信创要求的越来越高
很多应用都需要迁移到信创服务器上面了.
迁移过程中最好是能够进行一些基础设置
可以尽可能的避免迁移后的问题
提高产品的功能,性能与易用性. 

核心观点

迁移其实是一个腾笼换鸟的过程
务必在正式迁移之前进行一些性能测试.
有条件的进行稳定性验证. 烤机验证.
迁移一定要有合适的停机窗口
和详细的迁移规划. 
避免迁移过程中出现异常问题.
需要协调业务部门,运维部门,以及项目开发部门协助
做好预案, 留好测试和验证的时间.

环境核心信息确认

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

相关文章

  • C/S模型服务器的调度策略
    非阻塞轮询就是将所有的套接字都设置为非阻塞模式,可以解决客户不发出数据导致服务器端卡死的问题,但是非阻塞套接字也无法妥善地告知服务器数据何时到达,所以服务器需要不断地尝试读取客户端数据。fcntl()函数可以设置或者获取套接字文件的属性多任务并发多任务并发模型就是利用......
  • 服务器linux系统 Debian 更新安全补丁命令
    服务器linux系统Debian更新安全补丁命令服务器换成Debian系统了,之前用的是centos系统,不过后续不支持更新还是什么,所以换成Debian系统,拿到系统首先是update更新了,把安全补丁打到最新。收集了一些命令,自用收藏。 Debian使用来自存储库的deb软件包来管理Debian系统上软件......
  • 武装突袭3服务器一键开服联机( ARMA3 )
    1、购买后登录服务器(百度莱卡云)进入控制面板后会出现正在安装的界面,安装大约5分钟(如长时间处于安装中请联系我们的客服人员)等待服务器安装完成后,查看地址下方的表是否为灰色,如果是黄色等待变为灰色,如果是灰色直接下一步开始连接游戏2、转换IP地址连接游戏需要转换服......
  • Linux服务器配置一个简单的DNS
    配置一个简单的DNS服务器可以使用BIND (BerkeleyInternetNameDomain)。配置DNS的步骤如下一、安装BINDsudoapt-updatesudoapt-getinstallbind9二、配置BIND。编辑 /etc/bind/named.conf.local 文件,添加一个简单的zone配置zone"example.com"{  typemas......
  • 【编译安卓ROM常见错误和注意事项】
    编译AndroidROM是一项复杂的任务,涉及众多代码和工具链。在这个过程中,有很多地方容易出错。以下是一些常见的错误及需要注意的地方:环境准备正确的操作系统和依赖:确保使用支持的Linux发行版(通常是Ubuntu或Debian)。安装所有必要的依赖包,如openjdk-8-jdk、git、g++-multili......
  • Numba @jitclass:实践、踩雷注意事项
    @jitclass允許定義類並進行JIT編譯。然而,在使用jitclass時,以下是一些重要的注意事項。如果你也在numbajitdebug地狱,希望这个对你有所帮助注意事项设定明确的spec每个class中的var都需要设定,简言之就是使用self.xxx的都要fromnumbaimportjit,int32,float64,......
  • 华为云耀云服务器L实例规则配置教程(亲自实操经验)
    我刚买了这个最基础的36¥的L实例的云服务器,这个实例是自带公网ip的,不需要额外购买。我准备先配置好,能够通过公网ip访问,以便之后上传javaweb项目可以直接访问,不过中途遇到了点问题,但是已解决,记录一下方便以后操作,如果能帮到和我一样的纯小白就更好了。我选的系统是CentOS7/8,......
  • Java SpringBoot 如何使用 IdentityServer4 作为验证服务器学习笔记
    作者:https://www.cnblogs.com/BeautifulBoy1301/p/11193488.html https://github.com/Danni-Ke/SpringBootDemo  JavaSpringBoot如何使用IdentityServer4作为验证服务器学习笔记 这边记录下如何使用IdentityServer4作为JavaSpringBoot的认证服务器和令牌颁......
  • 某大型医院IBM 3650服务器 raid重组案例——数据完美修复
    我们今天谈的是一个来自四川的大型三甲医院的服务器数据恢复的真实的一个案例,是一台IBM的3650服务器,一共六块硬盘坏了,有两块硬盘是300GB,一共是有六块盘,两块盘是曝光灯离线了,导致这个医院的挂号系统,诊疗系统全部瘫痪,所有数据全部丢失,医院属于一个停摆的状态,医院一旦这种服务器损坏......
  • C/C++ 联合体的注意事项
    联合体(Union)在C/C++中是一个特殊的数据类型,它允许在相同的内存位置存储不同的数据类型。联合体的主要特点是,其所有的成员共享同一块内存区域,也就是说,联合体中的各个成员首地址都是相同的。这使得联合体在节省内存、进行数据类型转换等方面非常有用。然而,使用联合体时也需要注意......