Moment-carc configuration
This page documents the configuration requirements for moment-carc, the CyberShake production database hosted by CARC.
Contents
Functionality
moment-carc should support the following:
- Relational database to host CyberShake input data, run status, run metadata, and store commonly used intensity measures and hazard curves.
- Different stages of the workflow are able to access this database, including at workflow creation, during some jobs, and data product creation.
Hardware
- 2 TB of local storage for the database (SSD, if possible). Current database size on moment is ~1.5 TB, but some of that should be migrated to focal, as the intent is that focal serves as the access point for completed studies.
- At least 64 GB RAM (current moment has 128 GB)
Software (installed by CARC)
- Latest production version of MariaDB (10.6.7 as of 4/27/22)
Software (installed by SCEC)
Database configuration
We would like to use the following settings in the mariadb-server.cnf file:
innodb_file_per_table = 1 innodb_buffer_pool_size = 112G (should be 16 GB less than the available system memory) innodb_buffer_pool_instances = 8 query_cache_type = 0 tmp_table_size = 32M max_heap_table_size = 32M innodb_log_file_size = 2G
In terms of users, The functionality we want is read-only access for the user 'cybershk_ro' who can authenticate from anywhere, and read/write access for the user 'cybershk', from anywhere. In our current setup, entries for these users in the USER_PRIVILEGES table are:
GRANTEE | TABLE_CATALOG | PRIVILEGE_TYPE | IS_GRANTABLE | |
---|---|---|---|---|
'cybershk'@'localhost' | def | INDEX | NO | |
'cybershk'@'localhost' | def | CREATE TABLESPACE | NO | |
'cybershk'@'localhost' | def | ALTER | NO | |
'cybershk'@'localhost' | def | DELETE HISTORY | NO | |
'cybershk'@'localhost' | def | SHOW DATABASES | NO | |
'cybershk'@'localhost' | def | SUPER | NO | |
'cybershk'@'localhost' | def | CREATE TEMPORARY TABLES | NO | |
'cybershk'@'localhost' | def | LOCK TABLES | NO | |
'cybershk'@'localhost' | def | SELECT | NO | |
'cybershk'@'localhost' | def | EXECUTE | NO | |
'cybershk'@'localhost' | def | INSERT | NO | |
'cybershk'@'localhost' | def | REPLICATION SLAVE | NO | |
'cybershk'@'localhost' | def | UPDATE | NO | |
'cybershk'@'localhost' | def | REPLICATION CLIENT | NO | |
'cybershk'@'localhost' | def | DELETE | NO | |
'cybershk'@'localhost' | def | CREATE VIEW | NO | |
'cybershk'@'localhost' | def | CREATE | NO | |
'cybershk'@'localhost' | def | SHOW VIEW | NO | |
'cybershk'@'localhost' | def | DROP | NO | |
'cybershk'@'localhost' | def | CREATE ROUTINE | NO | |
'cybershk'@'localhost' | def | RELOAD | NO | |
'cybershk'@'localhost' | def | ALTER ROUTINE | NO | |
'cybershk'@'localhost' | def | SHUTDOWN | NO | |
'cybershk'@'localhost' | def | CREATE USER | NO | |
'cybershk'@'localhost' | def | PROCESS | NO | |
'cybershk'@'localhost' | def | EVENT | NO | |
'cybershk'@'localhost' | def | FILE | NO | |
'cybershk'@'localhost' | def | TRIGGER | NO | |
'cybershk'@'localhost' | def | REFERENCES | NO | |
'cybershk'@'%.usc.edu' | def | USAGE | NO | |
'cybershk'@'%' | def | SHOW DATABASES | NO | |
'cybershk'@'%' | def | DELETE HISTORY | NO | |
'cybershk_ro'@'localhost' | def | USAGE | NO | |
'cybershk_ro'@'%' | def | USAGE | NO |
Network configuration
To support access to the MariaDB server, we would like to enable access to the MySQL port (3306 by default) for external users. We would prefer the database port be open to all external access. If necessary, we could produce a whitelist of systems that require access.
For SSH access, we would like support for logging in from endeavour.