达梦数据库搭建2节点DSC+1节点DW集群
配置
|
节点 |
Ip地址 |
角色 |
硬件配置 |
|
A |
192.168.159.101 |
DSC0 |
1核 CPU /3.5GB 内存 / 40GB 磁盘 |
|
B |
192.168.159.102 |
DSC1 |
1核 CPU /3.5GB 内存 / 40GB 磁盘 |
|
C |
192.168.159.103 |
DW |
1核 CPU /3.5GB 内存 / 40GB 磁盘 |
|
ASM软链接路径 |
指向的实际设备 |
用途说明 |
大小 |
|
/dev/dm/asm-dmdcr |
/dev/sdb |
DCR 盘(集群配置盘) |
1G |
|
/dev/dm/asm-dmvote |
/dev/sdc |
Vote 盘(仲裁盘) |
1G |
|
/dev/dm/asm-dmdata |
/dev/sde |
数据盘(存放数据文件) |
10G |
|
/dev/dm/asm-dmlog |
/dev/sdd |
日志盘(存放联机日志) |
10G |
|
/dev/dm/asm-dmarch |
/dev/sdf |
归档盘(存放归档日志) |
10G |
|
节点 |
实例端口 |
CSS监听端口 |
ASM监听端口 |
PORT_NUM |
ASM MAL监听端口 |
DM MAL监听端口 |
|
A |
5236 |
11286 |
11276 |
5236 |
11266 |
11246 |
|
B |
5236 |
11286 |
11276 |
5236 |
11266 |
11246 |
|
C |
5236 |
11286 |
11276 |
5236 |
11266 |
11246 |
两台虚拟机的OGUID为均210715。操作系统为CentOS Linux release 7.9 (Core);达梦镜像版本为dm8_20251016_x86_CentOS7_64.iso;安装目录为/home/dmdba/dmdbms;实例目录为/home/dmdba/dmdbms/data。
搭建2节点DSC集群
精简流程如下(后续配置DW过程中会修改部分配置)
##脚本写88文件
[root@localhost ~]# vim uuid.sh
[root@localhost ~]# chmod +x uuid.sh
[root@localhost ~]# ./uuid.sh
[root@localhost ~]# vim 88-dm-asmdevices.rules
KERNEL=="sd?",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29ce2d55fc345bf3ed8fd7d294e", SYMLINK+="dm/asm-dmdcr",OWNER="dmdba", GROUP="dinstall",MODE="0660"
KERNEL=="sd?",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c292d058722acb3e0bc0529ceefe", SYMLINK+="dm/asm-dmvote",OWNER="dmdba", GROUP="dinstall",MODE="0660"
KERNEL=="sd?",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c290ba88194ba6623504348c47e6", SYMLINK+="dm/asm-dmlog",OWNER="dmdba", GROUP="dinstall",MODE="0660"
KERNEL=="sd?",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29355a32c979d98e99b0f382462", SYMLINK+="dm/asm-dmdata",OWNER="dmdba", GROUP="dinstall",MODE="0660"
KERNEL=="sd?",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29435cf8137c6c2540425e65662", SYMLINK+="dm/asm-dmarch",OWNER="dmdba", GROUP="dinstall",MODE="0660"
##复制
cp 88-dm-asmdevices.rules /etc/udev/rules.d/88-dm-asmdevices.rules
##重启
udevadm trigger --type=devices --action=change
udevadm control --reload-rules
##授权
chown dmdba:dinstall /dev/dm/asm-* -R
##验证
[root@localhost ~]# ls -l /dev/dm/
总用量 0
lrwxrwxrwx 1 dmdba dinstall 6 1月 5 23:29 asm-dmarch -> ../sdf
lrwxrwxrwx 1 dmdba dinstall 6 1月 5 23:29 asm-dmdata -> ../sde
lrwxrwxrwx 1 dmdba dinstall 6 1月 5 23:29 asm-dmdcr -> ../sdb
lrwxrwxrwx 1 dmdba dinstall 6 1月 5 23:29 asm-dmlog -> ../sdd
lrwxrwxrwx 1 dmdba dinstall 6 1月 5 23:29 asm-dmvote -> ../sdc
[root@localhost ~]# ls -l /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf
brw-rw---- 1 dmdba dinstall 8, 16 1月 5 23:29 /dev/sdb
brw-rw---- 1 dmdba dinstall 8, 32 1月 5 23:29 /dev/sdc
brw-rw---- 1 dmdba dinstall 8, 48 1月 5 23:29 /dev/sdd
brw-rw---- 1 dmdba dinstall 8, 64 1月 5 23:29 /dev/sde
brw-rw---- 1 dmdba dinstall 8, 80 1月 5 23:29 /dev/sdf
blockdev --getsize64 /dev/dm/asm-dmdcr
blockdev --getsize64 /dev/dm/asm-dmvote
blockdev --getsize64 /dev/dm/asm-dmlog
blockdev --getsize64 /dev/dm/asm-dmdata
blockdev --getsize64 /dev/dm/asm-dmarch
# 1. 创建 config 目录
mkdir -p /home/dmdba/dmdbms/config
chown -R dmdba:dinstall /home/dmdba/dmdbms/config
chmod 755 /home/dmdba/dmdbms/config
##AB创建dmdcr_cfg.ini
vim /home/dmdba/dmdbms/config/dmdcr_cfg.ini
##AB创建dmasvrmal.ini
vim /home/dmdba/dmdbms/config/dmasvrmal.ini
##将该文件分别拷贝到A和B机器的/home/dmdba/dmdbms/config/DSC0和/home/dmdba/dmdbms/config/DSC1目录下
##确保目标目录存在
mkdir -p /home/dmdba/dmdbms/config/DSC0
mkdir -p /home/dmdba/dmdbms/config/DSC1
##拷贝文件
cp /home/dmdba/dmdbms/config/dmasvrmal.ini /home/dmdba/dmdbms/config/DSC0/
cp /home/dmdba/dmdbms/config/dmasvrmal.ini /home/dmdba/dmdbms/config/DSC1/
##AB创建dmdcr.ini
vim /home/dmdba/dmdbms/config/dmdcr.ini
cp /home/dmdba/dmdbms/config/dmdcr.ini /home/dmdba/dmdbms/config/DSC0/
cp /home/dmdba/dmdbms/config/dmdcr.ini /home/dmdba/dmdbms/config/DSC1/
##前台启动DMCSS
/home/dmdba/dmdbms/bin/dmcss DCR_INI=/home/dmdba/dmdbms/config/DSC0/dmdcr.ini
/home/dmdba/dmdbms/bin/dmcss DCR_INI=/home/dmdba/dmdbms/config/DSC1/dmdcr.ini
##前台启动DMASM
/home/dmdba/dmdbms/bin/dmasmsvr DCR_INI=/home/dmdba/dmdbms/config/DSC0/dmdcr.ini
/home/dmdba/dmdbms/bin/dmasmsvr DCR_INI=/home/dmdba/dmdbms/config/DSC1/dmdcr.ini
##A创建dminit.ini
vim /home/dmdba/dmdbms/config/dminit.ini
# CASE_SENSITIVE = Y
# CHARSET = 0
##A初始化磁盘组
/home/dmdba/dmdbms/bin/dmasmcmd
ASM> create dcrdisk '/dev/dm/asm-dmdcr' 'dcr'
ASM> create votedisk '/dev/dm/asm-dmvote' 'vote'
ASM> init dcrdisk '/dev/dm/asm-dmdcr' from '/home/dmdba/dmdbms/config/dmdcr_cfg.ini' identified by 'Dameng123'
ASM> init votedisk '/dev/dm/asm-dmvote' from '/home/dmdba/dmdbms/config/dmdcr_cfg.ini'
ASM> create asmdisk '/dev/dm/asm-dmdata' 'DATA0'
ASM> create asmdisk '/dev/dm/asm-dmlog' 'LOG0'
ASM> create asmdisk '/dev/dm/asm-dmarch' 'ARCH0'
ASM> exit
##AB中停止服务
/home/dmdba/dmdbms/bin/DmCSSServiceCSS stop
/home/dmdba/dmdbms/bin/DmASMSvrServiceASM stop
##卸载服务
sudo /home/dmdba/dmdbms/script/root/dm_service_uninstaller.sh -n DmCSSServiceCSS
sudo /home/dmdba/dmdbms/script/root/dm_service_uninstaller.sh -n DmASMSvrServiceASM
##注册服务
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini -p CSS
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini -y DmCSSServiceCSS.service -p ASM
##启动服务
/home/dmdba/dmdbms/bin/DmCSSServiceCSS start
/home/dmdba/dmdbms/bin/DmASMSvrServiceASM start
##A中创建磁盘组
##启动dmasmtool
/home/dmdba/dmdbms/bin/dmasmtool DCR_INI=/home/dmdba/dmdbms/config/DSC0/dmdcr.ini
create diskgroup 'DMLOG' asmdisk '/dev/dm/asm-dmlog'
create diskgroup 'DMDATA' asmdisk '/dev/dm/asm-dmdata'
create diskgroup 'DMARCH' asmdisk '/dev/dm/asm-dmarch'
##A中初始化实例
/home/dmdba/dmdbms/bin/dminit control=/home/dmdba/dmdbms/config/dminit.ini
##A中初始化成功后拷贝文件到B中
scp -r /home/dmdba/dmdbms/config/DSC1 192.168.159.102:/home/dmdba/dmdbms/config/
##A机器编辑dm.ini与dmarch.ini
vim /home/dmdba/dmdbms/config/DSC0/dm.ini
vim /home/dmdba/dmdbms/config/DSC0/dmarch.ini
##B机器编辑dmarch.ini
vim /home/dmdba/dmdbms/config/DSC1/dm.ini
vim /home/dmdba/dmdbms/config/DSC1/dmarch.ini
##注册DMSERVER服务
##AB
root用户执行:
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdbms/config/DSC0/dm.ini -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini -y DmASMSvrServiceASM.service -p DMS
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdbms/config/DSC1/dm.ini -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini -y DmASMSvrServiceASM.service -p DMS
##启动服务
/home/dmdba/dmdbms/bin/DmServiceDMS start
##停止服务
/home/dmdba/dmdbms/bin/DmServiceDMS stop
##卸载服务
sudo /home/dmdba/dmdbms/script/root/dm_service_uninstaller.sh -n DmServiceDMS
##配置监视器AB都执行
vi /home/dmdba/dmdbms/bin/dmcssm.ini
备份数据
关闭DSC集群的DB服务
/home/dmdba/dmdbms/bin/DmServiceDMS stop
![]()
初始化C机器中的实例
/home/dmdba/dmdbms/bin/dminit \
PATH='/dmdata/data' \
INSTANCE_NAME=DW01 \
DB_NAME=DAMENG \
SYSDBA_PWD=Dameng@123 \
SYSAUDITOR_PWD=Dameng@123 \
PAGE_SIZE=32 \
EXTENT_SIZE=16 \
BLANK_PAD_MODE=1 \
CASE_SENSITIVE=1 \
CHARSET=0 \
UNICODE_FLAG=1 \
LOG_SIZE=512 \
AUTO_OVERWRITE=1
进行脱机备份
/home/dmdba/dmdbms/bin/dmrman DCR_INI=/home/dmdba/dmdbms/config/DSC0/dmdcr.ini
backup database '/home/dmdba/dmdbms/config/DSC0/dm.ini' full backupset '/home/dmdba/dmbak/BACKUP_FILE' compressed level 5 parallel 8;
检验备份有效性
check backupset '/home/dmdba/dmbak/BACKUP_FILE' ;

发送备份文件给C机器
scp -r /home/dmdba/dmbak/BACKUP_FILE dmdba@192.168.159.103:/home/dmdba/dmbak/

C机器中恢复
/home/dmdba/dmdbms/bin/dmrman
check backupset '/home/dmdba/dmbak/BACKUP_FILE' ;
RESTORE DATABASE '/dmdata/data/DAMENG/dm.ini' FROM BACKUPSET '/home/dmdba/dmbak/BACKUP_FILE';
RECOVER DATABASE '/dmdata/data/DAMENG/dm.ini' FROM BACKUPSET '/home/dmdba/dmbak/BACKUP_FILE';
RECOVER DATABASE '/dmdata/data/DAMENG/dm.ini' UPDATE DB_MAGIC;
配置文件
修改AB机器的dm.ini
DW_INACTIVE_INTERVAL = 60 #接收守护进程消息超时时间
ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间
MAL_INI = 1 #打开 MAL 系统
ARCH_INI = 1 #打开归档配置
RLOG_SEND_APPLY_MON = 64 #统计最近 64 次的日志发送信息
修改C机器的dm.ini
vim /dmdata/data/DAMENG/dm.ini
INSTANCE_NAME = DW01
PORT_NUM = 5236
DW_INACTIVE_INTERVAL = 60
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
MAL_INI = 1
ARCH_INI = 1
RLOG_SEND_APPLY_MON = 64
ABC机器配置一致的dmmal.ini
vim /home/dmdba/dmdbms/config/DSC0/dmmal.ini
vim /home/dmdba/dmdbms/config/DSC1/dmmal.ini
vim /dmdata/data/DAMENG/dmmal.ini
MAL_CHECK_INTERVAL=87
MAL_CONN_FAIL_INTERVAL=33
MAL_SYS_BUF_SIZE=6000
MAL_BUF_SIZE=3000
MAL_VPOOL_SIZE=5000
MAL_COMPRESS_LEVEL=0
[MAL_INST0]
MAL_INST_NAME = DSC0
MAL_HOST = 192.168.159.101
MAL_PORT = 11246
MAL_INST_HOST = 192.168.159.101
MAL_INST_PORT = 5236
MAL_DW_PORT = 52141
MAL_INST_DW_PORT = 5276
MAL_LINK_MAGIC =1
[MAL_INST1]
MAL_INST_NAME = DSC1
MAL_HOST = 192.168.159.102
MAL_PORT = 11246
MAL_INST_HOST = 192.168.159.102
MAL_INST_PORT = 5236
MAL_DW_PORT = 52141
MAL_INST_DW_PORT = 5276
MAL_LINK_MAGIC =1
[MAL_INST2]
MAL_INST_NAME = DW01
MAL_HOST = 192.168.159.103
MAL_PORT = 11246
MAL_INST_HOST = 192.168.159.103
MAL_INST_PORT = 5236
MAL_DW_PORT = 52141
MAL_INST_DW_PORT = 5276
MAL_LINK_MAGIC =1
ABC配置dmarch.ini
vim /home/dmdba/dmdbms/config/DSC0/dmarch.ini
#A配置dmarch.ini
ARCH_WAIT_APPLY = 0
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMARCH/ARCH/DSC0/arch
ARCH_FILE_SIZE = 512
ARCH_SPACE_LIMIT = 4028
[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC1
ARCH_INCOMING_PATH = +DMARCH/ARCH/DSC1/arch
ARCH_FILE_SIZE = 512
ARCH_SPACE_LIMIT = 4028
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME
ARCH_DEST = DW01 #备库实例名
vim /home/dmdba/dmdbms/config/DSC1/dmarch.ini
#B配置dmarch.ini
ARCH_WAIT_APPLY = 0
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMARCH/ARCH/DSC1/arch
ARCH_FILE_SIZE = 512
ARCH_SPACE_LIMIT = 4028
[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC0
ARCH_INCOMING_PATH = +DMARCH/ARCH/DSC0/arch
ARCH_FILE_SIZE = 512
ARCH_SPACE_LIMIT = 4028
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME
ARCH_DEST = DW01
vim /dmdata/data/DAMENG/dmarch.ini
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = DSC0/DSC1
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dmdata/arch
ARCH_FILE_SIZE = 512
ARCH_SPACE_LIMIT = 5120
ABC配置dmwatcher.ini
vim /home/dmdba/dmdbms/config/DSC0/dmwatcher.ini
#A
[GRP1]
DW_TYPE = GLOBAL
DW_MODE = AUTO
DW_ERROR_TIME = 120
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 120
INST_OGUID = 453331
INST_INI = /home/dmdba/dmdbms/config/DSC0/dm.ini
DCR_INI=/home/dmdba/dmdbms/config/DSC0/dmdcr.ini
INST_STARTUP_CMD = /home/dmdba/dmdbms/config/DmServiceDSC0 start
INST_AUTO_RESTART = 0
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0
vim /home/dmdba/dmdbms/config/DSC1/dmwatcher.ini
#B
[GRP1]
DW_TYPE = GLOBAL
DW_MODE = AUTO
DW_ERROR_TIME = 120
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 120
INST_OGUID = 453331
INST_INI = /home/dmdba/dmdbms/config/DSC1/dm.ini
DCR_INI=/home/dmdba/dmdbms/config/DSC1/dmdcr.ini
INST_STARTUP_CMD = /home/dmdba/dmdbms/config/DmServiceDSC1 start
INST_AUTO_RESTART = 0
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0
vim /dmdata/data/DAMENG/dmwatcher.ini
#C
DW_TYPE = GLOBAL
DW_MODE = AUTO
DW_ERROR_TIME = 120
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 120
INST_OGUID = 453331
INST_INI = /dmdata/data/DAMENG/dm.ini
INST_AUTO_RESTART = 0
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0
注册服务
A注册服务
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini -p CSS
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini -y DmCSSServiceCSS.service -p ASM
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdbms/config/DSC0/dm.ini -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini -y DmASMSvrServiceASM.service -p DMS -m mount
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /home/dmdba/dmdbms/config/DSC0/dmwatcher.ini
B注册服务
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini -p CSS
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini -y DmCSSServiceCSS.service -p ASM
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdbms/config/DSC1/dm.ini -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini -y DmASMSvrServiceASM.service -p DMS -m mount
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /home/dmdba/dmdbms/config/DSC1/dmwatcher.ini
C注册服务
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmserver -p DW1_01 -dm_ini /dmdata/data/DAMENG/dm.ini -m mount
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /dmdata/data/DAMENG/dmwatcher.ini
/home/dmdba/dmdbms/script/root/dm_service_uninstaller.sh -n DmServiceDW1_01
配置监视器
ABC配置监视器
vi /home/dmdba/dmdbms/bin/dmmonitor.ini
#监视器
MON_DW_CONFIRM = 1
MON_LOG_PATH = /home/dmdba/dmdbms/log
MON_LOG_INTERVAL = 0
MON_LOG_FILE_SIZE = 32
MON_LOG_SPACE_LIMIT = 0
[GRP1]
MON_INST_OGUID = 453331
MON_DW_IP = 192.168.159.101:52141/192.168.159.102:52141
MON_DW_IP = 192.168.159.103:52141
vi /home/dmdba/dmdbms/bin/dmcssm.ini
#CSSM
CSSM_OGUID = 210715
CSSM_CSS_IP = 192.168.159.101:11286
CSSM_CSS_IP = 192.168.159.102:11286
CSSM_LOG_PATH = home/dmdba/dmdbms/log
CSSM_LOG_FILE_SIZE = 512
CSSM_LOG_SPACE_LIMIT = 2048
设置主备
重启AB的ASM和CSS服务
/home/dmdba/dmdbms/bin/DmCSSServiceCSS stop
/home/dmdba/dmdbms/bin/DmASMSvrServiceASM stop
/home/dmdba/dmdbms/bin/DmCSSServiceCSS start
/home/dmdba/dmdbms/bin/DmASMSvrServiceASM start
AB启动DB服务
/home/dmdba/dmdbms/bin/DmServiceDMS start
C启动DB服务
systemctl status DmServiceDW1_01
A修改配置
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL> sp_set_oguid(453331);
SQL> alter database primary;
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
C修改配置
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL> sp_set_oguid(453331);
SQL> alter database standby;
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
查看监视器
ABC启动守护进程
/home/dmdba/dmdbms/bin/DmWatcherServiceWatcher start
查看监视器
/home/dmdba/dmdbms/bin/dmmonitor /home/dmdba/dmdbms/bin/dmmonitor.ini

/home/dmdba/dmdbms/bin/dmcssm INI_PATH=/home/dmdba/dmdbms/bin/dmcssm.ini

更多推荐




所有评论(0)