DM8单机部署实操-ky-FT2000

DM8部署文档

目录
数据库版本注意 1
1、 单机部署实操 1
1.1. 收集系统信息 1
1.2. 创建用户和组 8
1.3. 修改用户资源限制 9
1.4. 修改内核参数 9
1.5. 添加环境变量 10
1.6. 关闭防火墙 11
1.7. 关闭selinux 11
1.8. 上传安装镜像并安装 11
1.9. 初始化实例 12
1.10. 注册数据库服务 12
1.11. 启动服务 12
1.12. 配置归档 12
1.13. 配置定制作业 13
1.14. 配置sql日志 14
1.15. 执行优化SQL 15

数据库版本注意
生产上线一定要用月度版本或补丁版本,包括数据库和DMHS,实在特殊的情况要用临时版本的一定要评估风险,做好报备。
1、单机部署实操
项目是基于FT2000CPU+麒麟V10的操作系统+arm服务器架构部署。
收集系统信息
1 系统名称 XXXXXXXX
2 系统开发商 XXXX
3 系统开发商对接人及联系方式 XXX
4 部署地点 XXX
5 数据库部署环境
FT2000+
16G
480GSSD
24TSATA
3108-2G
2
800W
6 网络区域 局域网
7 业务特性(事务型/分析型) 事务性
8 事务读写比 写少读多
9 是否新建系统 业务应用系统基于mysql开发,需要MySQL迁移DM8
10 是否涉及历史数据迁移 第一次会入库100-150GB数据
11 历史基础数据量 -
12 历史数据库品牌及架构 MySql
13 数据增长预估 50G/年
14 用户量 200
15 并发访问量 50
16 字符集编码 UTF-8
17 字符串结尾空格填充(‘a’和’a '是否相同) 不相同
18 是否以字符为单位 否
19 大小写敏感(表名列名中的大小写是否要进行区分) 敏感
20 表名、列名等数据库对象是否使用了关键字(例如sequence、table这种作为表名) 无
21 单表单列最大列宽 4000字节
22 单表一行数据最大长度 8000字节
23 是否包含触发器 否
24 是否存在复杂存储过程 否
25 是否包含大字段表 否
26 是否存在复杂报表查询,报表业务实时性要求 无
27 是否与其他业务系统有数据交换,若有采用什么方式 无
28 是否与其他业务系统共用数据库服务器 无

系统信息均为root用户下操作。黑色为linux指令,红色为输出结果,用来记录部署的台账信息。

1.#发行版本

cat /etc/os-release | grep “PRETTY_NAME”

PRETTY_NAME=“Kylin Linux Advanced Server V10 (Sword)”

2.#操作系统版本信息
nkvers
Kylin Linux Advanced Server
Kernel:
4.19.90-24.4.v2101.ky10.aarch64
release V10 (SP2) /(Sword)-aarch64-Build09/20210524
3.#内核查询:
cat /proc/version
Linux version 4.19.90-24.4.v2101.ky10.aarch64 (KYLINSOFT@localhost.localdomain) (gcc version 7.3.0 (GCC))
4.#系统位数查询:
getconf LONG_BIT

64

5.#系统架构:
uname -m

aarch64
6.#CPU 型号:
lscpu

Architecture: aarch64
CPU op-mode(s): 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 1
Core(s) per socket: 8
Socket(s): 1
NUMA node(s): 1
Vendor ID: Phytium
Model: 3
Model name: ARMv8 CPU
7.#CPU 个数:
lscpu | grep “Socket(s):”
8

8.#服务器的可用内存
free –m
total used free shared buff/cache available
Mem: 15968 1680 14288 760 1804 13816
Swap: 0 0 0
9.#是否自动挂载
cat /etc/fstab
UUID=0316d16e-0fb3-43e4-9e96-0e87214b34d3 / ext4 defaults 1 1
UUID=5AE4-22F6 /boot/efi vfat umask=0077,shortname=winnt 0 2
/dev/sdb /egova ext4 defaults 0 0
如果UUID有属于swap分区的,则需要对这个UUID进行#注释。
10.#查看实际挂载盘
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot/efi
└─sda2 8:2 0 99G 0 part /
sdb 8:16 0 3.7T 0 disk
sdc 8:32 0 3.7T 0 disk
11.#模拟数据库读写小数据来测试硬盘的IO
dd if=/dev/zero of=test bs=32k count=20k oflag=dsync
671088640字节(671 MB,640 MiB)已复制,4.71352 s,142 MB/s
小于20-30mb/s需要发风险告知

12.#查看当前系统的I/O调度算法
cat /sys/block/{DEVICE-NAME}/queue/scheduler
[mq-deadline] 中括号选中哪个默认就是哪个,系统中默认就是这个就不用改。
更改I/O调度方法
vim /etc/udev/rules.d/80-ft1500.rules #编辑文件,加入以下内容
11-cd-automount.rules
#设置盘符sda的磁盘调度算法
ACTION==“add|change”, KERNEL==“sda”, ATTR{queue/scheduler}="mq_deadline "
udevadm trigger --name-match=sda
执行命令,让文件生效
重启:
reboot
重新确认调度算法:
cat /sys/block/sda/queue/scheduler

13.#系统时间检查
date查看当前时间

14.#OS资源限制
编辑配置文件
vi /etc/systemd/system.conf
##添加配置:
DefaultLimitNOFILE=65536
DefaultLimitNPROC=10240
注意
DM8安装完成后:
ps -ef|grep dms的线程号后输入线程号,查出来的比设置的大于等于就OK
#最后查看:cat /proc/线程号/limits,确保配置system.conf生效

15.#swappiness参数修改
编辑vi /etc/sysctl.conf
修改vm.overcommit_memory=0,然后执行
sysctl -p 使配置文件生效。

16.#关闭numa
麒麟V10+FT2000 ZYJ下查看numa是否开启需要通过3个命令确认,3个命令的查询结果都是关闭才可以。
1、cat /proc/sys/vm/zone_reclaim_mode
验证是否关闭,0是关闭、1是开启
numa=0
2、sysctl -a |grep -i numa
验证是否关闭,0是关闭、1是开启
vm.numa_stat=0
3、sysctl -a |grep -i numa
关闭的话最后一行显示如下
disable numa statistics,and clear numa counters
4、临时关闭方法
sysctl -w vm.numa_stat=0
5、永久关闭方法,重启生效。
vi /etc/sysctl.conf
vm.numa_stat = 0
sysctl -p

17.#禁用透明大页
永久关闭 transparent_hugepage
1、查看透明大页设置:
cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
说明已启用透明大页,也会出现中括号在madvise的情况,也同样要改大页。
2、vi /etc/default/grub文件,配置如下参数(标红部分)
GRUB_CMDLINE_LINUX的右侧结果不一定如下所示,只需要新增红色的即可。
GRUB_CMDLINE_LINUX=“resume=/dev/sda1 splash=silent quiet showopts crashkernel=113M,high crashkernel=72M,low numa=off transparent_hugepage=never”
3、查询是UEFI-based机器还是BIOS-based的机器
注意下指令为两个指令的合并同时执行,中括号与括号里面内容前后都有空格。
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
4、重新生成grub.cfg
(1)若是 UEFI-based 的机器,请执行:
grub2-mkconfig -o /boot/efi/EFI/kylin/grub.cfg
(2)若是 BIOS-based 的机器,请执行:
grub2-mkconfig -o /boot/grub2/grub.cfg
4、重启操作系统
reboot
6、查看是否生效:
cat /sys/kernel/mm/transparent_hugepage/enabled

18.#内存池检查
vi DmServicexxx
查看是否 MALLOC_ARENA_MAX=4即可,通常在DM8的9月后的版本不需要修改此参数。

19#检查 RemoveIPC 参数
1.修改vi /etc/systemd/logind.conf配置文件中的RemoveIPC参数,将#注释去掉,并修改yes为no
2.重启服务
systemctl daemon-reload
systemctl restart systemd-logind
3.修改完成后,检查 确认
systemctl show systemd-logind | grep -i removeipc
注意:步骤1必做。

创建用户和组
注意DM8的安装路径和实例路径,通常分开存储比较好管理。在安装前与用户沟通确认此两部分路径分别是什么,同时备份和归档路径也提前申明。在执行指令时可在文档中提前都替换好路径。
groupadd dinstall -g 2001
useradd -G dinstall -m -d /XXXX/DMDB -s /bin/bash -u 2001 dmdba
passwd dmdba
Dameng@123

mkdir -p /XXXX/DMDB/arch
mkdir -p /XXXX/DMDB/dmbak
mkdir -p /XXXX/DMDB

chown -R dmdba:dinstall /XXXX/DMDB
chown -R dmdba:dinstall /XXXX/DMDB/arch
chown -R dmdba:dinstall /XXXX/DMDB/dmbak

修改用户资源限制
vi /etc/security/limits.conf
添加:
dmdba soft nice 0
dmdba hard nice 0
dmdba soft as unlimited
dmdba hard as unlimited
dmdba soft fsize unlimited
dmdba hard fsize unlimited
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft core unlimited
dmdba hard core unlimited
dmdba soft data unlimited
dmdba hard data unlimited

  •   soft       nproc     10240
    
  •   hard      nproc     10240
    

修改内核参数
cat /proc/sys/vm/swappiness
先查看swappiness,结合部署环境,若内存充裕则设置为10,若内存不充裕,则相应调小,最小设置为1.
vi /etc/sysctl.conf
下面示例仅修改红色部分,core文件需要在修改后,在对应的目录中新建core路径,同时此路径通过root赋予dmdba权限。
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
vm.dirty_ratio = 80
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
kernel.core_pattern = /XXXX/DMDB/core/core-%e-%p-%s
vm.swappiness=10
vm.dirty_background_ratio = 0
vm.min_free_kbytes = 2097152

sysctl -p

添加环境变量
在DM8的安装路径中Cd /opt/DMDB/ 添加环境变量
vi .bash_profile
添加:
export DM_HOME=/XXXX/DMDB/dmdbms
export PATH= P A T H : PATH: PATH:DM_HOME/bin: D M H O M E / t o o l e x p o r t L D L I B R A R Y P A T H = DM_HOME/tool export LD_LIBRARY_PATH= DMHOME/toolexportLDLIBRARYPATH=LD_LIBRARY_PATH:$DM_HOME/bin
关闭防火墙
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld

关闭selinux
#永久关闭 SELinux 需修改配置文件:vi /etc/selinux/config,修改 SELINUX=disabled,若默认为disabled,则不需要修改。
[root@localhost ~]# cat /etc/selinux/config

This file controls the state of SELinux on the system.

SELINUX= can take one of these three values:

enforcing - SELinux security policy is enforced.

permissive - SELinux prints warnings instead of enforcing.

disabled - No SELinux policy is loaded.

SELINUX=disabled #修改为 disabled

SELINUXTYPE= can take one of three two values:

targeted - Targeted processes are protected,

minimum - Modification of targeted policy. Only selected processes are protected.

mls - Multi Level Security protection.

SELINUXTYPE=targeted

上传安装镜像并安装
镜像的版本提前沟通好,根据客户的实际情况选择对应的版本。
mount -o loop /mnt/dm8_XXXX_XXXX_XXXX_64.iso /mnt
su – dmdba
cd /mnt
./DMInstall.bin -i

Root执行:
/XXXX/dmdbms/script/root/root_installer.sh
初始化实例
如果能在服务器的终端直接操作,那么采用Tool下的./dbca.sh图形化操作方便很多,但实际环境往往是无法直连服务器,那么需要用命令行进行实例的初始化。此初始化的大小写、字符集等细节需要确认。
./dminit path=/XXXX/DMDB page_size=32 extent_size=32 charset=1 case_sensitive=0 log_size=2048 db_name=XXXX instance_name=XXXX SYSDBA_PWD=“XXXX” SYSAUDITOR_PWD=“XXXX”
注册数据库服务
Root用户下:
cd /XXXXX/dmdbms/script/root/
./dm_service_installer.sh -t dmserver -p dmdb(数据库服务名的后缀,用来区分不同的数据库服务) -dm_ini /dmdata(实例路径)/dmdb(数据库路径)/dm.ini

启动服务
Root下
systemctl start DmServiceXXXX
在数据库的bin目录下:
./disql SYSDBA/‘“XXXX”’@localhost:XXXX

配置归档
图形化:管理服务器-系统管理-打开配置
管理服务器-系统管理-归档配置
命令行:
alter database mount;
alter database add archivelog ‘dest=/XXXX/arch(图形化操作时,双击复制贴入) ,TYPE=local,FILE_SIZE=1024,SPACE_LIMIT=102400’;
alter database archivelog;
alter database open;

配置定制作业
全,增量配置在sql中执行,但执行前需要确认作业已开启,否则会报错。下面有五处实例数据的存放路径需要修改。具体需求可与用户沟通确认后,再进行调整。若不能图形化操作,则可在本地环境的图形化操作,然后记录sql语句,再对对应的服务器环境进行修改。

sp_set_para_value(1,‘SVR_LOG’,1);
sp_refresh_svr_log_config();

–创建代理环境sp_init_job_sys(1);
全备:
call SP_CREATE_JOB(‘FULLbak’,1,0,‘’,0,0,‘’,0,‘’);

call SP_JOB_CONFIG_START(‘FULLbak’);

call SP_JOB_SET_EP_SEQNO(‘FULLbak’, 0);

call SP_ADD_JOB_STEP(‘FULLbak’, ‘FULL1’, 6, ‘00000000/XXXX/DMDB/dmbak’, 3, 1, 0, 0, NULL, 0);

call SP_ADD_JOB_STEP(‘FULLbak’, ‘del_bak’, 0, ‘SF_BAKSET_BACKUP_DIR_ADD(’‘DISK’‘,’‘/XXXXa/DMDB/dmbak’‘);
call SP_DB_BAKSET_REMOVE_BATCH(’‘DISK’‘,SYSDATE-15);’, 1, 1, 0, 0, NULL, 0);

call SP_ADD_JOB_SCHEDULE(‘FULLbak’, ‘FULL2’, 1, 2, 1, 1, 0, ‘22:00:00’, NULL, ‘2022-10-14 20:00:00’, NULL, ‘’);

call SP_JOB_CONFIG_COMMIT(‘FULLbak’);

增备:
call SP_CREATE_JOB(‘INCBAK’,1,0,‘’,0,0,‘’,0,‘’);

call SP_JOB_CONFIG_START(‘INCBAK’);

call SP_JOB_SET_EP_SEQNO(‘INCBAK’, 0);

call SP_ADD_JOB_STEP(‘INCBAK’, ‘INC1’, 6, ‘10000000/XXXXX/DMDB/dmbak|/XXXX/DMDB/dmbak’, 1, 3, 0, 0, NULL, 0);

call SP_ADD_JOB_STEP(‘INCBAK’, ‘INC2’, 6, ‘00000000/XXXX/DMDB/dmbak’, 1, 1, 0, 0, NULL, 0);

call SP_ADD_JOB_SCHEDULE(‘INCBAK’, ‘INC2’, 1, 2, 1, 126, 0, ‘23:00:00’, NULL, ‘2022-10-14 19:00:00’, NULL, ‘’);

call SP_JOB_CONFIG_COMMIT(‘INCBAK’);

配置sql日志
修改sqllog.ini,具体参数根据现场调整,通常需要修改的是日志的存放路径和switch_limit的值。
到实例路径下cd /XXXXXX/DMDB/dmdb/
vi sqllog.ini(记录1.5s以上sql)
BUF_TOTAL_SIZE = 10240
BUF_SIZE = 1024
BUF_KEEP_CNT = 6
[SLOG_ALL]
FILE_PATH = …/log
PART_STOR = 1
SWITCH_MODE = 2
SWITCH_LIMIT = 512
ASYNC_FLUSH = 1
FILE_NUM = 5
ITEMS = 0
SQL_TRACE_MASK = 2:3:25
MIN_EXEC_TIME = 1500
USER_MODE = 0
USERS =

执行优化SQL
在sql中,贴入优化sql的ddl语句,根据项目实际情况,调整参数,去掉注释部分,进行执行,在执行完成后的消息中,复制sql的执行结果,另开一个sql查询贴入并执行。执行成功,则部署全部结束。

更多内容,请访问达梦社区地址:https:eco.dameng.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值