PDA

View Full Version : getting around the impex volume size limit


PeterNic
01-10-2009, 03:18 PM
The grid impex volume (where apps and volumes to be imported/exported are temporarily stored) is 10GB by default. The size of the impex volume is defined during grid install and cannot be changed later.

If you are the grid maintainer (or can ask the grid maintainer to follow this procedure), there is a workaround that would allow you to get a temporary larger impex volume, so you can do the larger import/export operation.

NOTE: This procedure uses root-level access to the grid controller appliance and undocumented internal grid utilities. It is possible to damage the grid if you make a mistake.

The procedure has the following steps:
1. Create a new volume that's large enough to hold the entity you want to export or import (you may want to create an empty app to hold the volume, or in 2.4+, use global volumes. The commands can be executed by a regular user via the shell:
- create app impex
- create vol impex:data size=1024G fs=ext3

2. Mount the new, temporary impex volume in the place of the regular impex volume.
2.0. Log in as root on the controller.
2.1. Check and remember the block device that is mounted as /vol/_impex (using "mount | grep impex"). It will be most likely /dev/md2
2.2. Unmount the filesystem of the current impex volume (using "umount /vol/_impex")
2.3. Mount the new volume as a block device (using "3tctl mount sysvol app.user.volume", where app is the application name and volume is the volume name, so it would be "3tctl mount sysvol impex.user.data" using the example app/volume name above)
2.4. The output from the command will show you the device name (e.g., it will look something like "mount_id = /dev/md3"). Remember the name of the device
2.5. Mount the filesystem of the block device to the impex directory (using "mount /dev/md3 /vol/_impex")
2.6. Now you should have a large impex volume available

3. Perform the import/export operation. Keep in mind that if the grid is rebooted, it will re-mound the original impex volume (i.e., the steps above are non-persistent).

4. Undo the above steps in reverse:
4.1 unmount the temp impex volume filesystem ("umount /vol/_impex") (before that, make sure you are not in a subdirectory of /vol/_impex -- do "cd /" first)
4.2. unmount the temp impex volume device ("3tctl umount sysvol app.user.volume")
4.3. re-mount the original impex volume ("mount /dev/md2 /vol/_impex")
4.4. destroy the temp impex app/volume if you no longer need them
4.5. verify that you can still access the grid normally, including the old impex volume

Before using this procedure, please verify it on a test grid. I will also ask someone from our support group to do a step-by-step verification on AppLogic 2.1.1 and 2.4.7 and make corrections to the above if needed.

Best regards,
-- Peter

agathongroup
02-01-2011, 08:13 AM
Two years later, an update. :-)

This worked a treat, with a couple of minor updates to the original instructions.


The device created with the "3tctl mount" command will most likely be /dev/mdN (/dev/md2 on all of my tests).
The "3tvol umount" command needs to be "3tctl umount"


Other than that, it worked perfectly and got our client exactly what they needed. Thanks!

Peter

PeterNic
02-10-2011, 02:12 PM
Thanks, Peter. I'll correct the instructions - I am glad this stayed mostly the same :)

Best regards,
- Peter

PavelGeorgiev
08-24-2011, 04:42 PM
An important update:

Steps 2.2 and 4.3 (which is the oposite of 2.2) should be skipped.

If you unmount the original _impex volume, a cron job that runs every hour on the 42 min will try to mount it on top of your new volume which will leave you scratching your head (especially when running utilities like image2class that run multiple operations from the_impex volume and freak out when at some point the _impex volume get remounted).

calvin1982
10-07-2011, 05:19 AM
resume steps:
umount /vol/_impex
/etc/init.d/3trsh-init stop
/etc/init.d/nfs restart
exportfs -a -u
/etc/init.d/3trsh-init start
mount /dev/hdc /vol/_impex

andybrucenet
12-08-2011, 01:40 PM
Hi Peter,

I have created a second BFC and sucked in a single server. I then built a grid using the BFC UI - at no point in the Add Grid wizard do I see an option to set the _impex volume! I want to set it to something reasonable (like 150GB) so that I pretty much always have room (disk space is cheap for me).

What am I missing?

PeterNic
12-08-2011, 04:34 PM
Andy,

There is a large number of advanced parameters that are not in the screens as they are rarely modified. You can see them here (for AppLogic 3.0):
http://doc.3tera.com/AppLogic30/en/Fabric_Guide/GridParametersReference.html

During grid creation you can set the impex_vol_mb parameter (see the doc above for details) in order to create the grid with a different size impex volume.

These additional parameters are specified in step 17 of grid creation, as described here: http://doc.3tera.com/AppLogic30/en/Fabric_Guide/Creating_a_Grid.html (the last item in this step is Additional Grid Parameters).

(Note that the above links are for AppLogic 3.0; they should be in similar locations in the docs for other releases. Make sure you are always using the docs for the correct version of AppLogic)

Best regards,
- Peter

SeanCurry
02-04-2012, 07:58 AM
to all for this thread. I used Peters procedure, which worked great, and then noticed that second impex mount, and then read further, and understood why, and want to do to resolve...

Thanks!

SeanCurry
02-04-2012, 12:08 PM
Not sure what the experts have to say, but given the issues with the cron job remounting the base impex volume, I wonder if it wouldn't be better to create a mount point under /vol/_impex.... I'm giving it a try now (doing a app import from cloud commons for the Service Desk application, very big import!):

create app impex (create the app for the volumes)
create vol impex:data size=200G fs=ext3 (create the actual volume you're going to use)
3tctl mount sysvol impex.user.data (mount the volume (and observe the disk device to use in the next command instead of md1)
mkdir /vol/_impex/temp (create the directory)
mount /dev/md1 /vol/_impex/temp (mount the volume)

From there it appears as /vol/_impex/temp like it should on the grid controller, I'm doing an SCP of files in now, and then I'll try the app import.

SeanCurry
02-04-2012, 12:24 PM
(root)nimbus-alpha-vpsprod01> application import CA_Service_Desk_Manager_12_6_Small temp/CA_Service_Desk_Manager_12_6_Small.tar
import directory must be specified as a simple name (no /, ..)