Managing ColumnStore Module Configurations
Contents
Configuring modules
A Module (UM or PM) can be added or removed from MariaDB ColumnStore.
Before configuring modules
Before configuring modules, you should shut down the database and backup up the system and the database. <<See “Performing Backup and Recovery” for instructions.>>
Ensure you have the root password for all modules that will be added, removed or reconfigured.
NOTE: After adding modules, update the NMS system so that new modules are monitored as part of the system.
While removing modules, the NMS may issue an alert that servers are no longer functioning on the network.
Module IDs
Modules in the system are identified by the "um" or "pm" followed by a unique number - such as um1, pm1, pm2, pm3 etc.
The system assigns the module id as they are added
Adding DBRoots
To add dbroots (storage files) into your system requires two operations: creating the physical dbroots and assigning them to a Performance Module.
Creating the physical dbroot
The OAM addDbRoot command is used to create the physical storage (dbroot):
# mcsadmin addDbroot numRoots
where numRoots is the total number of new dbroots to be added. The command will return the dbroot id’s created.
Example to add 2 additional dbroots to an already existing 2 dbroot system:
# mcsadmin adddbroot 2 adddbroot Mon Aug 26 15:00:38 2013 New DBRoot IDs added = 3, 4
After the addDbroot command, dbroots 3 and 4 have been created. You can see that they have been created by using the getSystemConfig command. Along with other information, towards the bottom of the output you will see information that reflects the additional, unassigned dbroots.
# mcsadmin getsystemconfig : System Assigned DBRoot Count = 2 DBRoot IDs assigned to 'pm1' = 1 DBRoot IDs assigned to 'pm2' = 2 DBRoot IDs unassigned = 3, 4 :
Assign DBRoots to Performance Module
After adding a DBRoot, it must be assigned to a Performance Module before it can be used. Use the mcsadmin assignDbrootPmConfig
command to do so.
Note: The system must be in a STOPPED state when assigning a DBRoot. Use the stopSystem command. Do not attempt when the system is running or when the system has been shut down.
Syntax
# mcsadmin assignDbrootPmConfig dbrootid perfmod
where dbrootid is the unassigned dbroot(s) to be assigned. You can assign multiple dbroots to a single Performance module with a comma separated list. perfmoed is the Performance Module being assigned the dbroots.
Example #1 of assigning the 2 new dbroots to 2 separate PMs:
# mcsadmin assignPmDBRootConfig 3 pm1 assigndbrootpmconfig Tue Aug 19 18:03:15 2015 DBRoot IDs assigned to 'pm1' = 1 Changes being applied DBRoot IDs assigned to 'pm1' = 1, 3 Successfully Assigned DBRoots REMINDER: Update the /etc/fstab on pm1 to include these dbroot mounts # mcsadmin assignPmDBRootConfig 4 pm2 assigndbrootpmconfig Tue Aug 19 18:03:18 2015 DBRoot IDs assigned to 'pm2' = 2 Changes being applied DBRoot IDs assigned to 'pm2' = 2, 4 Successfully Assigned DBRoots REMINDER: Update the /etc/fstab on pm2 to include these dbroot mounts
Example #2 of assigning the 2 new dbroots to 1 PM:
# mcsadmin assignPmDBRootConfig 3,4 pm2 assigndbrootpmconfig Tue Aug 19 18:17:46 2015 DBRoot IDs assigned to 'pm2' = 2 Changes being applied DBRoot IDs assigned to 'pm2' = 2, 3, 4 Successfully Assigned DBRoots REMINDER: Update the /etc/fstab on pm2 to include these dbroot mounts
Once completed, start the system back up with the startsystem command.
Moving DBRoots
Before moving a dbroot from 1 module to another, the system must be in a STOPPED state. Dbroots cannot be moved while the system is active.
Syntax
#mcsadmin movePMDbrootConfig [fromPM] [DBRoot] [toPM] and press Enter.
Note: If your storage is configured as internal and once this command has been executed, you must move the data to the appropriate PMs (i.e., SCP) before the system is restarted.
Example: This example moves DBRoot 6 from PM6 to PM 5
# mcsadmin movePmDbrootConfig pm6 6 pm5 movepmdbrootconfig Wed Mar 28 11:22:22 2015 DBRoot IDs currently assigned to 'pm6' = 6 DBRoot IDs currently assigned to 'pm5' = 5 DBroot IDs being moved, please wait... DBRoot IDs newly assigned to 'pm6' = DBRoot IDs newly assigned to 'pm5' = 5, 6
Adding modules
Before a modules can be added, the system must be ACTIVE or OFFLINE. Once added, they can be placed in-service with the alterSystem-Enable command.
addModule command
mcsadmin addModule module_type number_of_modules IP_address_or_host_name (separated by commas) root_password
For example, to add two Performance Modules with host names MYHST1 and MYHST2:
mcsadmin addModule pm 2 MYHST1,MYHST2 mypwd
ColumnStore.xml is updated to add new modules and the appropriate files are installed to the new modules. If the module addition fails, the mcsadmin displays an error message. Additional details are located in the MariaDB ColumnStore log files on the Performance Module #1.
NOTE: When adding Performance Modules with multiple NICs, you must add the host name for all NICs. If you do not, the add module process will fail with invalid parameters.
Adding module to AWS EC2 instances.
To add a module to the system on an Amazon EC2 system, perform one of the following:
- To accept default module IDs, add multiple modules and have it automatically create the instances:
addModule module_type number_of_modules
An example to add two Performance Modules with defaulted instance names, type the following:
addModule pm 2
- To accept default module IDs, add multiple modules and have it install on existing Instances:
addModule module_type number_of_modules instance-ids
An example to add two Performance Modules with instance names id-1234890 and id-9876598
addModule pm 2 id-1234890,id-9876598
- To create IDs manually one at a time and have it automatically create the Instance
addModule module_ID
For example to add one Performance Module with a default instance name, type the following:
addModule pm2
- To create IDs manually one at a time and have it install on existing Instance addModule module_ID instance-i For example to add one User Module number 2 with instance name id-100, type the following:
addModule um2 id-100
Removing modules
Modules can be removed from the system when they are no longer needed or in the event that they need to be taken offline for hardware updates. A module can be removed if it is disabled or if the system is stopped
NOTE: You cannot remove the last um or pm module. To remove a module
- To remove the last modules added to the system,
#mcsadmin removeModule module_type number_of_modules
For example, to remove two Performance Modules:
#mcsadmin removeModule pm 2
- To remove a specific module,
#mcsadmin removeModule module_ID
For example to remove one User Module with module ID UM1285
#mcsadmin removeModule um1285