In this short tutorial we will see how we can remove a storage location for a HP Vertica Database Cluster.
This is a common task for Vertica DW administrator.
Before you go ahead and copy + pate what ever code i have put here make sure you backup your database and you test in DEV environment before.
If you dont know how to backup your database you can follow this tutorial here - Full HP Vertica Backup.
So this is how my storage looks at the moment in my Vertica Database
dbadmin= select node_name,location_path,location_usage,location_label,is_retired from storage_locations;
node_name | location_path | location_usage | location_label | is_retired
----------------------+---------------------------------------------------+----------------+----------------+------------
v_verticaDB_node0002 | /vertica_data/verticaDB/v_verticaDB_node0002_data | DATA,TEMP | | f
v_verticaDB_node0001 | /vertica_data/verticaDB/v_verticaDB_node0001_data | DATA,TEMP | | f
v_verticaDB_node0003 | /vertica_data/verticaDB/v_verticaDB_node0003_data | DATA,TEMP | | f
v_verticaDB_node0002 | vertica_data2 | DATA | T2_DATA | f
v_verticaDB_node0001 | vertica_data2 | DATA | T2_DATA | f
v_verticaDB_node0003 | vertica_data2 | DATA | T2_DATA | f
SELECT RETIRE_LOCATION('location_path','node_name',enforce_storage_move value);
dbadmin= SELECT RETIRE_LOCATION('vertica_data2','v_verticaDB_node0002',true);
RETIRE_LOCATION
------------------------
vertica_data2 retired.
(1 row)
dbadmin= SELECT RETIRE_LOCATION('vertica_data2','v_verticaDB_node0001',true);
RETIRE_LOCATION
------------------------
vertica_data2 retired.
(1 row)
dbadmin= SELECT RETIRE_LOCATION('vertica_data2','v_verticaDB_node0003',true);
RETIRE_LOCATION
------------------------
vertica_data2 retired.
(1 row)
dbadmin= select node_name,location_path,location_usage,location_label,is_retired from storage_locations;
node_name | location_path | location_usage | location_label | is_retired
----------------------+---------------------------------------------------+----------------+----------------+------------
v_verticaDB_node0002 | /vertica_data/verticaDB/v_verticaDB_node0002_data | DATA,TEMP | | f
v_verticaDB_node0001 | /vertica_data/verticaDB/v_verticaDB_node0001_data | DATA,TEMP | | f
v_verticaDB_node0003 | /vertica_data/verticaDB/v_verticaDB_node0003_data | DATA,TEMP | | f
v_verticaDB_node0002 | vertica_data2 | DATA | T2_DATA | t
v_verticaDB_node0001 | vertica_data2 | DATA | T2_DATA | t
v_verticaDB_node0003 | vertica_data2 | DATA | T2_DATA | t
dbadmin= select drop_location('vertica_data2','v_verticaDB_node0002');
drop_location
------------------------
vertica_data2 dropped.
(1 row)
dbadmin= select drop_location('vertica_data2','v_verticaDB_node0001');
drop_location
------------------------
vertica_data2 dropped.
(1 row)
dbadmin= select drop_location('vertica_data2','v_verticaDB_node0003');
drop_location
------------------------
vertica_data2 dropped.
cat /opt/vertica/conf/admintools.conf
[Nodes]
node0001 = 10.111.14.210,/vertica_data,/vertica_data
node0002 = 10.111.14.226,/vertica_data,/vertica_data
node0003 = 10.111.14.229,/vertica_data,/vertica_data
v_verticaDB_node0001 = 10.111.14.210,/vertica_catalog,/vertica_data
v_verticaDB_node0001 = 10.111.14.226,/vertica_catalog,/vertica_data
v_verticaDB_node0001 = 10.111.14.229,/vertica_catalog,/vertica_data
dbadmin= select node_name,node_state from nodes;
node_name | node_state
----------------------+------------
v_verticaDB_node0001 | UP
v_verticaDB_node0001 | UP
v_verticaDB_node0001 | UP
(3 rows)
[root@aodba/]# rm -rf /vertica_data2/
[dbadmin@aodba/]$ cat /etc/fstab | grep /vertica_data2
-- remove or comment this line
/dev/xvdk /vertica_data2 ext4 defaults 1 2