MariaDB ColumnStore Module Operations
A Module(UM or PM) can be added ore 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.
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
To add dbroots (storage files) into your system, it requires a 2 phase approach: creating the physical dbroots and assigning them to a Performance Module. 10.2.1 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
The addDbRoot command added the physical dbroots, but they must be assigned to a Performance Module before they can be used by using the assignDbrootPmConfig command. Note: The system must be in a STOPPED state when this command is used. Use the stopSystem command. Do not attempt when the system is running or when the system has been ShutDown.
- 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 26 15:03:15 2013 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 26 15:07:20 2013 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 26 15:17:46 2013 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.
To move a dbroot from 1 module to another, you must first perform a stop system. Dbroots cannot be moved while the system is active. 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. To move dbroots: At the Linux prompt, type cmconsole. Type movePMDbrootConfig [fromPM] [DBRoot] [toPM] and press Enter. Examples:
- mcsadmin movePmDbrootConfig pm6 6 pm5 movepmdbrootconfig Wed Mar 28 10:44:24 2012 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
- mcsadmin movePmDbrootConfig pm5 6 pm6 movepmdbrootconfig Wed Mar 28 10:44:33 2012 DBRoot IDs currently assigned to 'pm5' = 5, 6 DBRoot IDs currently assigned to 'pm6' = DBroot IDs being moved, please wait... DBRoot IDs newly assigned to 'pm5' = 5 DBRoot IDs newly assigned to 'pm6' = 6
Adding Performance or User Modules effectively adds more processing power to the InfiniDB System. See “Performance Tuning” to learn more about which types of modules you can add to increase the performance or concurrency of your system. You can add User Modules for redundancy. WARNING: Modules can be added with the system active or offline. Once added, they can be placed in-service with the alterSystem-Enable command. When InfiniDB adds multiple modules of the same type with one command, it defaults the module IDs. To add modules using your own modules IDs, you must add modules one at a time.
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. To add a module to System through the mcsadmin Console: 1. Log on to the mcsadmin Console 2. Do one of the following:
- To accept default module IDs and add multiple modules, type 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 SRVCPT1 and SRVCPT2, type the following: mcsadmin addModule pm 2 SRVCPT1,SRVCPT2 mypwd
- To create IDs manually one at a time, type addModule module_ID IP_address_or_host_name root_password For example to add one User Module number 1285 with host name SRVCPT1, type the following: addModule UM1285 SRVCPT1 mypwd The Calpont.xml is updated to add new modules and the appropriate files are installed to the new modules. If the module addition fails, the mcsadmin Console displays an error message. Additional details are located in the MariaDB ColumnStore Log Files on the Performance Module #1. To add a module to the InfiniDB 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-1234567 and id-9876543, type the following: addModule pm 2 id-1234567,id-9876543
- 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-1111111, type the following: addModule um2 id-1111111
You can remove modules from the system when they are no longer needed or in the event that they need to be taken offline for hardware updates. You can remove a module if it is disabled (see “Disabling and Enabling System Modules”) or if the system is stopped (see “Stopping the system”). You can quickly remove multiple modules from the system by accepting default module IDs. This removes the last modules added to the system. You can also choose to remove specific modules individually by module ID. NOTE: You cannot remove the last um or pm module. To remove a module: 1. Log on to the mcsadmin Console. 2. Do one of the following:
- To remove the last modules added to InfiniDB, type removeModule module_type number_of_modules For example, to remove two Performance Modules, type the following: RemoveModule pm 2
- To remove a specific module, type removeModule module_ID For example to remove one User Module with module ID UM1285, type the following: removeModule um1285