业务IP | 192.168.40.135 | 192.168.40.136 |
---|---|---|
内部数据交换网络IP | 192.168.253.128 | 192.168.253.129 |
实例名 | xpcdsc1 | xpcdsc2 |
PORT_NUM | 5236 | |
MAL_PORT(dminit.ini) | 9340 | |
MAL_PORT(dmasvrmal.ini) | 7236 | 7237 |
DCR_EP_PORT (CSS) | 9541 | 9542 |
DCR_EP_PORT (ASM) | 9641 | 9642 |
DCR_EP_PORT (DSC) | 5236 | |
DCR_CHECK_PORT | 9741 | 9742 |
名称 | 拟定配置 | 分区大小 | 备注 |
---|---|---|---|
表决磁盘 | /dev/dm/asm-votedisk | 2G | 记录集群成员信息,集群通过 Voting Disk 进行心跳检测,确定集群中节点的状态 |
DCR盘 | /dev/dm/asm-dcrdisk | 2G | 用于存储、维护集群配置的详细信息,整个集群环境共享 DCR 配置信息 |
Redo日志盘 | /dev/dm/asm-logdisk1 | 3G | 用于存储数据库集群Redo log |
数据盘 | /dev/dm/asm-datadisk1 | 5G | 用于存放数据 |
数据盘 | /dev/dm/asm-datadisk2 | 5G | 用于存放数据 |
两台机器一起做
echo "192.168.40.135 dsc1" >> /etc/hosts
cat /etc/hosts
echo "192.168.40.136 dsc2" >> /etc/hosts
cat /etc/hosts
echo "export LANG=en_US.UTF8" >> ~/.bash_profile
cat ~/.bash_profile
vi /etc/security/limits.conf
root soft nofile 1048576
root hard nofile 1048576
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft stack 65536
dmdba hard stack 65536
systemctl status firewalld.service
systemctl stop firewalld.service
systemctl disable firewalld.service
echo "SELINUX=disabled" > /etc/selinux/config
echo "SELINUXTYPE=targeted" >> /etc/selinux/config
cat /etc/selinux/config
setenforce 0
echo "session required pam_limits.so" >> /etc/pam.d/login
cat /etc/pam.d/login
vi /etc/default/grub
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet numa=off transparent_hugepage=never elevator=deadline"
编译
grub2-mkconfig -o /etc/grub2.cfg
vi /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
vm.min_free_kbytes=5120 ##按照系统内存大小设置,过大可能导致虚拟机起不来
net.ipv4.ip_local_port_range = 1024 65535
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
vm.overcommit_memory=0
vm.swappiness=1
sysctl -p
groupadd -g 66000 dinstall
useradd -u 66000 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
echo "dameng" |passwd --stdin dmdba
mkdir -p /dm/dmdbms/dm8
mkdir -p /dm/dmdata
mkdir -p /dm/dmarch
mkdir -p /dm/dmback
chown -R dmdba:dinstall /dm
chmod -R 775 /dm
su - dmdba
vi ~/.bash_profile
export LANG=zh_CN.UTF8
export DM_INSTALL_TMPDIR=/tmp
export DM_HOME=/dm/dmdbms/dm8
export PATH=$DM_HOME/bin:$PATH:$HOME/bin
source ~/.bash_profile
选择虚拟机(DSC1) > 右键“设置” > 添加“硬盘” > SCSI > 创建新虚拟磁盘 > 指定磁盘容量 > 指定磁盘文件路径及命名 > 确定。依次添加5块硬盘(2G、2G、3G、5G、5G)
选择新添加得硬盘(SCSI) > 高级 > 设置设备号为 SCSI 0:1 ,模式为独立、永久。5块硬盘都要选择独立永久且scsi号要不同。
选择虚拟机(DSC2) > 右键“设置” > 添加“硬盘” > SCSI > 使用现有虚拟磁盘 > 选择现有磁盘(浏览找到刚创建的“DMDSC.vmdk”) > 完成。
选择新添加得硬盘(SCSI) > 高级 > 设置设备号为 SCSI 0:1 ,模式为独立、永久。5块硬盘都要设置独立永久且scsi号要与(DSC1)设置的一一对应。
找到虚拟机创建路径下的vmx文件,通过记事本形式打开,结尾添加以下内容。
scsi1.sharedBus = "virtual"
disk.locking = "false"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.dataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
disk.EnableUUID = "TRUE"
fdisk -l|grep -i dev
使用以下脚本绑定绑定设备的 UUID,创建 uuid.sh 文件,并生成配置文件。
curr=$(cd "$(dirname "$0")";pwd)
rm -f $curr/88-dm-asmdevices.rules
for i in a b c d e;
do
echo "KERNEL==\"sd?\",SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"`/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", SYMLINK+=\"dm/asm-disk$i\",OWNER=\"dmdba\", GROUP=\"dinstall\",MODE=\"0660\"" >> $curr/88-dm-asmdevices.rules
done
##执行 uuid.sh 脚本
chmod +x uuid.sh
./uuid.sh
脚本执行成功后,会生成绑定配置文件 88-dm-asmdevices.rules,可以根据自己的需求进行修改别名
配置部署文件。生成配置文件后,把 88-dm-asmdevices.rules 配置文件 cp 到 DSC 的每个节点上
cp 88-dm-asmdevices.rules /etc/udev/rules.d/88-dm-asmdevices.rules
scp 88-dm-asmdevices.rules 192.168.40.136:/etc/udev/rules.d/
检查生效
(1)重启服务器,建议使用该方法
(2)如果无法重启,执行下述命令
udevadm control --reload-rules
systemctl restart systemd-udev-trigger.service
授权
chown dmdba:dinstall /dev/dm/asm-* -R
ll /dev/dm/*
blockdev --getsize64 /dev/dm/asm-datadisk1
blockdev --getsize64 /dev/dm/asm-datadisk2
blockdev --getsize64 /dev/dm/asm-dcrdisk
blockdev --getsize64 /dev/dm/asm-logdisk1
blockdev --getsize64 /dev/dm/asm-votedisk
blockdev --getsize64 /dev/dm/asm-datadisk1
blockdev --getsize64 /dev/dm/asm-datadisk2
blockdev --getsize64 /dev/dm/asm-dcrdisk
blockdev --getsize64 /dev/dm/asm-logdisk1
blockdev --getsize64 /dev/dm/asm-votedisk
只需要安装数据库软件,暂不需要安装数据库实例
mount /dev/cdrom /mnt
su - dmdba
cd /mnt
./DMInstall.bin -i
/dm/dmdbms/dm8/script/root/root_installer.sh
两个节点都要执行
su - dmdba
cd /dm/dmdbms/dm8/
mkdir data
vi /dm/dmdbms/dm8/data/dmdcr_cfg.ini
DCR_N_GRP = 3
DCR_VTD_PATH = /dev/dm/asm-votedisk
DCR_OGUID = 63635
[GRP]
DCR_GRP_TYPE = CSS
DCR_GRP_NAME = xpc_css
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[xpc_css]
DCR_EP_NAME = xpccss1
DCR_EP_HOST = 192.168.253.128
DCR_EP_PORT = 9541
[xpc_css]
DCR_EP_NAME = xpccss2
DCR_EP_HOST = 192.168.253.129
DCR_EP_PORT = 9542
[GRP]
DCR_GRP_TYPE = ASM
DCR_GRP_NAME = xpcasm
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[xpcasm]
DCR_EP_NAME = xpcasm1
DCR_EP_SHM_KEY = 93360
DCR_EP_SHM_SIZE = 10
DCR_EP_HOST = 192.168.253.128
DCR_EP_PORT = 9641
DCR_EP_ASM_LOAD_PATH = /dev/dm
[xpcasm]
DCR_EP_NAME = xpcasm2
DCR_EP_SHM_KEY = 93361
DCR_EP_SHM_SIZE = 10
DCR_EP_HOST = 192.168.253.129
DCR_EP_PORT = 9642
DCR_EP_ASM_LOAD_PATH = /dev/dm
[GRP]
DCR_GRP_TYPE = DB
DCR_GRP_NAME = xpcdsc
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[xpcdsc]
DCR_EP_NAME = xpcdsc1
DCR_EP_SEQNO = 0
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 9741
[xpcdsc]
DCR_EP_NAME = xpcdsc2
DCR_EP_SEQNO = 1
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 9742
只需在一个节点上执行
# dmasmcmd
#asm script file
create dcrdisk '/dev/dm/asm-dcrdisk' 'dcr'
create votedisk '/dev/dm/asm-votedisk' 'vote'
init dcrdisk '/dev/dm/asm-dcrdisk' from '/dm/dmdbms/dm8/data/dmdcr_cfg.ini' identified by 'dmdsc'
init votedisk '/dev/dm/asm-votedisk' from '/dm/dmdbms/dm8/data/dmdcr_cfg.ini'
create asmdisk '/dev/dm/asm-datadisk1' 'datadisk1'
create asmdisk '/dev/dm/asm-logdisk1' 'logdisk1'
create asmdisk '/dev/dm/asm-datadisk2' 'datadisk2'
两个节点都要执行
vi /dm/dmdbms/dm8/data/dmasvrmal.ini
[MAL_INST1]
MAL_INST_NAME = xpcasm1
MAL_HOST = 192.168.253.128
MAL_PORT = 7236
[MAL_INST2]
MAL_INST_NAME = xpcasm2
MAL_HOST = 192.168.253.129
MAL_PORT = 7237
节点1 dmdcr_seqo为0:
vi /dm/dmdbms/dm8/data/dmdcr.ini
DMDCR_PATH = /dev/dm/asm-dcrdisk
DMDCR_MAL_PATH = /dm/dmdbms/dm8/data/dmasvrmal.ini
DMDCR_SEQNO = 0
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /dm/dmdbms/dm8/bin/dmasmsvr DCR_INI=/dm/dmdbms/dm8/data/dmdcr.ini
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /dm/dmdbms/dm8/bin/dmserver path=/dm/dmdbms/dm8/data/xpcdsc1_config/dm.ini DCR_INI=/dm/dmdbms/dm8/data/dmdcr.ini
节点2 dmdcr_seqo为1:
vi /dm/dmdbms/dm8/data/dmdcr.ini
DMDCR_PATH = /dev/dm/asm-dcrdisk
DMDCR_MAL_PATH = /dm/dmdbms/dm8/data/dmasvrmal.ini
DMDCR_SEQNO = 1
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /dm/dmdbms/dm8/bin/dmasmsvr DCR_INI=/dm/dmdbms/dm8/data/dmdcr.ini
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /dm/dmdbms/dm8/bin/dmserver path=/dm/dmdbms/dm8/data/xpcdsc2_config/dm.ini DCR_INI=/dm/dmdbms/dm8/data/dmdcr.ini
两个节点都要操作
在虚拟机里检查是不是有virbr0,一定要禁用,否则影响后面的使用
virbr0 是 KVM 默认创建的一个 Bridge,其作用是为连接其上的虚机网卡提供 NAT 访问外网的功能
virbr0 默认分配了一个IP 192.168.122.1,并为连接其上的其他虚拟网卡提供 DHCP 服务
禁用端口
ifconfig virbr0 down
删除端口
brctl delbr virbr0
virbr0 是由libvirtd 服务创建,关闭服务
systemctl disable libvirtd
192.168.40.135
/dm/dmdbms/dm8/script/root/dm_service_installer.sh -t dmcss -dcr_ini /dm/dmdbms/dm8/data/dmdcr.ini -p xpcdsc1
/dm/dmdbms/dm8/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /dm/dmdbms/dm8/data/dmdcr.ini -p xpcdsc1 -y DmCSSServicexpcdsc1
192.168.40.136
/dm/dmdbms/dm8/script/root/dm_service_installer.sh -t dmcss -dcr_ini /dm/dmdbms/dm8/data/dmdcr.ini -p xpcdsc2
/dm/dmdbms/dm8/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /dm/dmdbms/dm8/data/dmdcr.ini -p xpcdsc2 -y DmCSSServicexpcdsc2
192.168.40.135
root:
systemctl start DmCSSServicexpcdsc1
systemctl start DmASMSvrServicexpcdsc1
systemctl status DmCSSServicexpcdsc1
systemctl status DmASMSvrServicexpcdsc1
or:
su - dmdba
DmCSSServicexpcdsc1 start
DmASMSvrServicexpcdsc1 start
192.168.40.136
root:
systemctl start DmCSSServicexpcdsc2
systemctl start DmASMSvrServicexpcdsc2
systemctl status DmCSSServicexpcdsc2
systemctl status DmASMSvrServicexpcdsc2
or:
su - dmdba
DmCSSServicexpcdsc2 start
DmASMSvrServicexpcdsc2 start
选择一个节点,启动 dmasmtool 工具
su - dmdba
dmasmtool DCR_INI=/dm/dmdbms/dm8/data/dmdcr.ini
输入下列语句创建 DMASM 磁盘组
#创建日志磁盘组
create diskgroup 'dglog' asmdisk '/dev/dm/asm-logdisk1'
#创建数据磁盘组
create diskgroup 'dgdata01' asmdisk '/dev/dm/asm-datadisk1'
在两个节点的/dm/dmdbms/dm8/data/ 下创建dminit.ini文件,添加如下内容:
vi /dm/dmdbms/dm8/data/dminit.ini
db_name = xpcdsc
system_path = +dgdata01/data
system = +dgdata01/data/xpcdsc/system.dbf
system_size = 128
roll = +dgdata01/data/xpcdsc/roll.dbf
roll_size = 128
main = +dgdata01/data/xpcdsc/main.dbf
main_size = 128
ctl_path = +dgdata01/data/xpcdsc/dm.ctl
ctl_size = 8
log_size = 256
dcr_path = /dev/dm/asm-dcrdisk
dcr_seqno = 0
auto_overwrite = 1
[xpcdsc1]
#inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME对应
config_path = /dm/dmdbms/dm8/data/xpcdsc1_config
port_num = 5236
mal_host = 192.168.253.128
mal_port = 9340
log_path = +dglog/log/xpcdsc1_log01.log
log_path = +dglog/log/xpcdsc1_log02.log
[xpcdsc2]
#inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME对应
config_path = /dm/dmdbms/dm8/data/xpcdsc2_config
port_num = 5236
mal_host = 192.168.253.129
mal_port = 9340
log_path = +dglog/log/xpcdsc2_log01.log
log_path = +dglog/log/xpcdsc2_log02.log
在任意节点启动dminit工具初始化数据库
dminit control=/dm/dmdbms/dm8/data/dminit.ini
scp -r /dm/dmdbms/dm8/data/xpcdsc2_config 192.168.40.136:/dm/dmdbms/dm8/data/
192.168.40.135
root:
/dm/dmdbms/dm8/script/root/dm_service_installer.sh -t dmserver -dm_ini /dm/dmdbms/dm8/data/xpcdsc1_config/dm.ini -dcr_ini /dm/dmdbms/dm8/data/dmdcr.ini -p xpcdsc1 -y DmASMSvrServicexpcdsc1
systemctl start DmServicexpcdsc1
systemctl status DmServicexpcdsc1
or:
su - dmdba
DmServicexpcdsc1 start
192.168.40.136
root:
/dm/dmdbms/dm8/script/root/dm_service_installer.sh -t dmserver -dm_ini /dm/dmdbms/dm8/data/xpcdsc2_config/dm.ini -dcr_ini /dm/dmdbms/dm8/data/dmdcr.ini -p xpcdsc2 -y DmASMSvrServicexpcdsc2
systemctl start DmServicexpcdsc2
systemctl status DmServicexpcdsc2
or:
su - dmdba
DmServicexpcdsc2 start
更改自动重启参数
两个节点都需要更改
vi /dm/dmdbms/dm8/data/dmdcr.ini
disql ##初始化的时候没有指定密码,登录时连续输入两次空格
修改密码
alter user sysdba identified by dameng123;
检查集群信息
select * from v$dsc_ep_info;select group_id,disk_id,disk_name,disk_path,size/1024 from V$ASMDISK;select path from v$datafile;
节点1:
节点2:
https://eco.dameng.com
文章
阅读量
获赞