mysql新服务器配置流程

机房同事交付一台新采购的服务器,DBA在安装数据库之前要做哪些操作,本文将做一下详细的讲述。

[TOC]

硬件检查

  • 检查是否符合db机器标准,比如机型、CPU核数、内存大小等
  • 检查是否已安装最新的驱动,比如网卡驱动、pcie卡驱动等
  • 确认OS版本为 Centos 7.9 x64,确认:cat /etc/redhat-release

注:机房同事交付新服务器之后,由DBA登陆对应的ilo账号,查看相关信息,确保硬件方面是ok的,否则不能进入下面的配置。

网络配置

  • 绑定网卡:默认4块以上网卡,1块网卡给备份管理使用,2块网卡配置bond给业务使用(Centos 7可以用nmtui来做绑定),其他网卡暂不配置
  • 配置dns域名解析,确认:cat /etc/resolv.conf
  • 配置业务ip和管理ip的静态路由,举例(192.168.x.x为管理ip,172.17.x.x为业务ip):
echo "any net 192.168.0.0/16 gw 172.17.11.1" >> /etc/sysconfig/static-routes
echo "any net 172.17.84.0/24 gw 172.17.11.1" >> /etc/sysconfig/static-routes
cat /etc/sysconfig/static-routes
  • 添加管理ip的管理路由,举例(重启后失效):
/sbin/route add -net 192.168.0.0/16 gw 172.17.11.1
  • 配置管理ip的网卡接口,举例(永久生效):
/etc/sysconfig/network-scripts/route-eth0
192.168.0.0/16 via 172.17.11.1
  • 去除管理网卡的默认网关,并重启网卡生效:
# vi ifcfg-eth0
# /etc/init.d/network restart
  • 优化网络参数,建议持续改进:
net.core.somaxconn = 1024
net.ipv4.ip_local_port_range = 1024  65000
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096  87380  16777216
net.ipv4.tcp_wmem = 4096  87380  16777216
net.core.netdev_max_backlog = 2500
net.ipv4.tcp_max_syn_backlog = 8192

磁盘配置

  • 关于存储介质的推荐:PCIe卡 > SATA SSD > 传统硬盘
1.PCIe卡虽无raid冗余,但可以通过mysql高可用保证数据安全;
2.若为传统硬盘,则建议做 RAID 10;
  • 关于磁盘的缓存模式,针对 SSD 建议使用 Write Through 模式
a.性能上:writeback > none > writethrough
b.安全上:writeback < none < writethrough
c.由于SSD比传统SAS盘的写入速度高很多,使用 Write Back 将使 Cache 成为瓶颈,所以针对 SSD 建议使用 Write Through 模式
  • 为了避免512E扇区(物理扇区=4096字节,逻辑扇区=512字节),建议数据盘的扇区改为 4096 字节,即:物理扇区=逻辑扇区=4096字节
1.大部分ssd默认格式化后的逻辑扇区为4096字节
2.部分pcie卡(比如Memblaze)格式化之后,默认扇区大小为512字节
  • 不同厂商的推荐设置:
厂商 主打产品 推荐设置 更新时间
hp 建议改RAID条带,linux改为16KB(默认256KB)
针对 SQL Server,建议禁用HPE SSD SmartPath(默认启用)
针对 SQL Server,建议调整高速缓存读写比例:60%读:40%写
2017.04.20
dell 使用SSD要打开FastPath
即Cache策略设置为 Write-Through和No Read Ahead
在IO Block size比Strip Size小的场景,可提升小数据块读写的性能
2017.04.20
浪潮 Intel S3520 480G*4, RAID 10 最佳实践 256KB Strip Size + Read Ahead + Write Through 2017.04.25
微软 建议SQL Server服务器的NTFS分区簇大小调为64KB(默认4KB)
但实测对性能影响不大
2017.04.18
Memblaze Memblaze 6536 6.4TB Memblaze 适合跑SQL Server业务
避坑:pcie卡格式化默认扇区为512字节
2018.04.20
Shannon Shannon PCIe G5I 6.4 TB Shannon 适合跑MySQL业务 2018.04.20
  • 磁盘分区,建议一个分区(大于2T的磁盘建议使用parted命令),举例:parted /dev/vdb
  • 格式化,建议ext4文件系统,举例:mkfs.ext4 /dev/vdb
  • 数据盘统一挂载为 /data,并配置开机启动mount
mkdir /data
mount -o noatime /dev/vdb1 /data
echo "/dev/vdb1  /data  ext4  noatime  1 2" >> /etc/fstab
  • 调整io调度算法(ssd或pcie卡调整为noop,非ssd调整为deadline),并添加到开机启动项
echo noop > /sys/block/sdb/queue/scheduler
echo "echo noop > /sys/block/sdb/queue/scheduler" >> /etc/rc.local

磁盘压测

  • 利用fio做磁盘压测,若压测性能不达标(ssd性能基准:27000 IOPS、1700 MB/s)则不可上线使用

yum源配置

  • 下载定制的yum配置文件(指向公司的服务器)并替换本地的 /etc/yum.repos.d/CentOS-Base.repo
  • yum安装基础依赖包,举例:yum install -y wget ntpdate lrzsz telnet zip unzip

系统策略调整

  • 启用iptables
cat /bin/iptables.sh
#sh /bin/iptables.sh
  • 关闭numa
yum install -y numactl
sed -i 's/quiet/quiet numa=off/' /etc/default/grub
grub2-mkconfig -o /etc/grub2.cfg
  • 调整swappiness
echo "vm.swappiness = 1" >>/etc/sysctl.conf
/sbin/sysctl -p /etc/sysctl.conf
  • 永久关闭 Selinux
sed -i '/^SELINUX=/cSELINUX=disabled' /etc/sysconfig/selinux
cat /etc/sysconfig/selinux | grep "SELINUX="
setenforce 0
  • 调整ulimit
echo "* - nofile 65536" >> /etc/security/limits.conf
echo "*          soft    nproc      10240" >> /etc/security/limits.d/90-nproc.conf
  • 调整时区
timedatectl set-timezone Asia/Shanghai
ll /etc/localtime
systemctl restart crond.service
date -R
  • 配置ntp时间同步
crontab -l | grep ntpdate || echo "01 * * * * /usr/sbin/ntpdate -u 116.2111.16.134; /sbin/hwclock -w > /dev/null 2>&1" >> /var/spool/cron/`whoami`
  • 调整hostname(一律小写),举例:hostnamectl set-hostname ${HOST_NAME}
  • 调整swap,举例:echo "vm.swappiness=0" >> /etc/sysctl.conf
  • 调整ssh端口统一为 23245,举例:
sed -i '/^Port/c Port 23245' /etc/ssh/sshd_config
grep "^Port" /etc/ssh/sshd_config
systemctl restart sshd.service
  • 创建dba专用ssh账号

配置监控

  • 安装 zabbix agent 并添加 mysql-template 模板,确保zabbix web显示正常
  • 配置 fpmmm 监控mysql模块
  • 加入配置表,录入cmdb系统
  • 更新日志监控

重启机器

  • 交付使用前,建议重启一次机器,使以上策略生效
Copyright © www.sqlfans.cn 2023 All Right Reserved更新时间: 2022-01-14 17:30:08

results matching ""

    No results matching ""