How to manually remove a JBOD/DAC that has been added to an RSA NetWitness Logs & Network appliance
Issue
How to manually remove a JBOD/DAC that has been added to an RSA NetWitness Logs & Network/RSA Security Analytics appliance.On running NwArrayConfig.py you may receive the following message:
Failed!: No available DAC drives found. Verify the DAC configuration before trying again.
Resolution
Certain situations may require the manual removal of a JBOD or DAC that is attached to an RSA Security Analytics appliance, such as physically moving a DAC or due to an incomplete run of either the nwinitarray.py (deprecated), nwmakearray.py (deprecated), arrayCfg (deprecated) or NwArrayConfig.py script package.
Note: CentOS6 commands should be used for: RSA Security Analytics/NetWitness 10.x
Note: CentOS7 commands should be used for: RSA NetWitness 11.x
Follow the instructions below to perform the procedure. Gather the supporting information below prior to starting the procedure.
Removing and Re-adding DAC to Log Hybrid
1) Stop services
CentOS6:
stop nwconcentrator
stop nwlogcollector
stop nwlogdecoder
service collectd stop
systemctl stop nwconcentrator.service
systemctl stop nwlogcollector.service
systemctl stop nwlogdecoder.service
2) Comment out the following lines in /etc/fstab relating to the logdecoder and concentrator service by adding # to start of the line:
/etc/fstab example for CentOS6 Log Hybrid:
/dev/mapper/VolGroup03-concinde /var/netwitness/concentrator/index xfs noatime,nosuid 1 2
/dev/mapper/VolGroup02-concmeta /var/netwitness/concentrator/metadb xfs noatime,nosuid 1 2
/dev/mapper/VolGroup02-concsess /var/netwitness/concentrator/sessiondb xfs noatime,nosuid 1 2
/dev/mapper/VolGroup01-ldecroot /var/netwitness/logdecoder xfs noatime,nosuid 1 2
/dev/mapper/VolGroup01-ldecinde /var/netwitness/logdecoder/index xfs noatime,nosuid 1 2
/dev/mapper/VolGroup01-ldecmeta /var/netwitness/logdecoder/metadb xfs noatime,nosuid 1 2
/dev/mapper/VolGroup01-ldecpack /var/netwitness/logdecoder/packetdb xfs noatime,nosuid 1 2
/dev/mapper/VolGroup01-ldecsess /var/netwitness/logdecoder/sessiondb xfs noatime,nosuid 1 2
/dev/concentrator0/sessiondb /var/netwitness/concentrator/sessiondb0 xfs noatime,nosuid 1 2
/dev/concentrator0/metadb /var/netwitness/concentrator/metadb0 xfs noatime,nosuid 1 2
/dev/logdecoder0/packetdb /var/netwitness/logdecoder/packetdb0 xfs noatime,nosuid 1 2
/etc/fstab example for CentOS7 Log Hybrid:
/dev/mapper/index-vlnwci /var/netwitness/concentrator/index xfs noatime,nosuid 0 0
/dev/mapper/concentrator-vlnwcm /var/netwitness/concentrator/metadb xfs noatime,nosuid 0 0
/dev/mapper/concentrator-vlnwcs /var/netwitness/concentrator/sessiondb xfs noatime,nosuid 0 0
/dev/mapper/hybrid-vlnwd /var/netwitness/decoder xfs noatime,nosuid 0 0
/dev/mapper/decodermeta-vlnwdm /var/netwitness/decoder/metadb xfs noatime,nosuid 0 0
/dev/mapper/hybrid-vlmng /var/netwitness/mongo xfs noatime,nosuid 0 0
/dev/mapper/netwitness_vg00-swap swap swap defaults 0 0
/var/netwitness/decoder /var/netwitness/logdecoder none defaults,rbind 0 0
/dev/concentrator0/sessiondb /var/netwitness/concentrator/sessiondb0 xfs noatime,nosuid 1 2
/dev/concentrator0/metadb /var/netwitness/concentrator/metadb0 xfs noatime,nosuid 1 2
/dev/decoder0/packetdb /var/netwitness/logdecoder/packetdb0 xfs noatime,nosuid 1 2
3) Reboot appliance
4) Remove # from start of lines in /etc/fstab that were added in step 2.
Steps 5 - 7 are optional (if backup of data is required)
5) Mount volumes:
/var/netwitness/concentrator/sessiondb0
/var/netwitness/concentrator/metadb0
/var/netwitness/logdecoder/packetdb0
7) umount volumes
umount -f /var/netwitness/concentrator/metadb0
umount -f /var/netwitness/logdecoder/packetdb0
lvchange -an /dev/concentrator0/metadb
lvchange -an /dev/logdecoder0/packetdb
lvremove -f /dev/concentrator0/metadb
lvremove -f /dev/logdecoder0/packetdb
vgremove -f logdecoder0
pvremove -ff /dev/sde
Example Output (confirms that adapters not reversed and so following commands will use -a1 versus -a0)
Product Name : PERC H710P Mini
Adapter #1
Product Name : PERC H810 Adapter
/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdDel -L1 -nolog -a1
14) Remove any remaining hotspares (as seen in nwraidutil.pl)
If nwraidutil.pl shows [15:14] as hotspare (either GEI or ID-0) then need to remove using MegaCli command:
15) Restart LVM2 daemon
CentOS6:
If daemon is stopped, skip to next step, for example
lvmetad is stopped
16) Remove the following 3 lines from /etc/fstab
/dev/concentrator0/metadb /var/netwitness/concentrator/metadb0 xfs noatime,nosuid 1 2
/dev/logdecoder0/packetdb /var/netwitness/logdecoder/packetdb0 xfs noatime,nosuid 1 2
17) Update Log Decoder service configuration (alternative to removing from service in explore mode under database/config)
Edit /etc/netwitness/ng/NwLogdecoder.cfg
Line 19: (searching for packet.dir)
BEFORE:
18) Update Concentrator service configuration (alternative to removing from service in explore mode under database/config)
Edit /etc/netwitness/ng/NwConcentrator.cfg
Line 60: (searching for meta.dir)
BEFORE:
Line 75: (searching for session.dir)
BEFORE:
Note: If service has not been licensed before then cfg file may not be present in /etc/netwitness/ng
19) Re-start services (except nwappliance)
CentOS6
start nwlogcollector (may already be running)
start nwconcentrator
systemctl start nwlogcollector.service
systemctl start nwconcentrator.service
20) Remove File System Monitors
20a) Stop nwappliance service
CentOS6
BEFORE:
<folder instance="folder" name="filesystem" prettyName="filesystem">
<config getRoles="appliance.manage" instance="filesystem" maxLength="255" name="0" prettyName="/" setRoles="appliance.manage" value="/"/>
<config getRoles="appliance.manage" instance="filesystem" maxLength="255" name="1" prettyName="/boot" setRoles="appliance.manage" value="/boot"/>
<config getRoles="appliance.manage" instance="filesystem" maxLength="255" name="2" prettyName="/var/netwitness" setRoles="appliance.manage" value="/var/netwitness"/>
<config getRoles="appliance.manage" instance="filesystem" maxLength="255" name="3" prettyName="/var/netwitness/concentrator/metadb" setRoles="appliance.manage" value="/var/netwitness/concentrator/metadb"/>
<config getRoles="appliance.manage" instance="filesystem" maxLength="255" name="4" prettyName="/var/netwitness/concentrator/sessiondb" setRoles="appliance.manage" value="/var/netwitness/concentrator/sessiondb"/>
<config getRoles="appliance.manage" instance="filesystem" maxLength="255" name="5" prettyName="/var/netwitness/concentrator/index" setRoles="appliance.manage" value="/var/netwitness/concentrator/index"/>
<config getRoles="appliance.manage" instance="filesystem" maxLength="255" name="6" prettyName="/var/netwitness/concentrator/sessiondb0" setRoles="appliance.manage" value="/var/netwitness/concentrator/sessiondb0"/>
<config getRoles="appliance.manage" instance="filesystem" maxLength="255" name="7" prettyName="/var/netwitness/concentrator/metadb0" setRoles="appliance.manage" value="/var/netwitness/concentrator/metadb0"/>
<config getRoles="appliance.manage" instance="filesystem" maxLength="255" name="8" prettyName="/var/netwitness/logdecoder/packetdb0" setRoles="appliance.manage" value="/var/netwitness/logdecoder/packetdb0"/>
</folder>
</folder>
<folder instance="folder" name="filesystem" prettyName="filesystem">
<config getRoles="appliance.manage" instance="filesystem" maxLength="255" name="0" prettyName="/" setRoles="appliance.manage" value="/"/>
<config getRoles="appliance.manage" instance="filesystem" maxLength="255" name="1" prettyName="/boot" setRoles="appliance.manage" value="/boot"/>
<config getRoles="appliance.manage" instance="filesystem" maxLength="255" name="2" prettyName="/var/netwitness" setRoles="appliance.manage" value="/var/netwitness"/>
<config getRoles="appliance.manage" instance="filesystem" maxLength="255" name="3" prettyName="/var/netwitness/concentrator/metadb" setRoles="appliance.manage" value="/var/netwitness/concentrator/metadb"/>
<config getRoles="appliance.manage" instance="filesystem" maxLength="255" name="4" prettyName="/var/netwitness/concentrator/sessiondb" setRoles="appliance.manage" value="/var/netwitness/concentrator/sessiondb"/>
<config getRoles="appliance.manage" instance="filesystem" maxLength="255" name="5" prettyName="/var/netwitness/concentrator/index" setRoles="appliance.manage" value="/var/netwitness/concentrator/index"/>
</folder>
</folder>
CentOS6
21) CentOS6 NetWitness/Security Analytics 10.4.x - 10.6.x Only
22) Re-add DAC
Check using nwraidutil.pl that all disks in DAC show as 'U' for Unconfigured
Security Analytics versions prior to 10.6.X (using arrayCfg script)
NetWitness 10.6.X
# ./NwArrayConfig.py --drives 7
Note: For 10.6, may need to make sure rsa-sa-tools RPM is the latest as per this reference.
NetWitness 11.X
# ./nwraidutil.pl
# OWB_FORCE_FIPS_MODE_OFF=1 ./NwArrayConfig.py
Notes
General order of operations in adding JBOD/DAC: (as performed by above scripts)
1. Create Hardware RAID Virtual Disk (VD) using MegaCli commands - as seen in nwraidutil.pl
You can see the VD presented as a block device to the CentOS6 operating system using: lsblk -i
2. Create partition on block device (optional) - as seen in fdisk -l
3. Create LVM Physical Volume (PV) - as seen in pvscan/pvdisplay -C
If Step 2 was done and block device created in previous step was /dev/sde1 then this step will create PV on /dev/sde1
4. Create LVM Volume Group (VG) - as seen in vgscan/vgdisplay -C
5. Create LVM Logical Volume (LV) - as seen in lvscan/lvdisplay -C
6. Update /etc/fstab
7. Update service configuration e.g. adding new packet.dir location to /etc/netwitness/ng/NwLogdecoder.cfg
8. Add File System Monitors to NwAppliance configuration - /etc/netwitness/ng/NwAppliance.cfg
To remove we go through the list and determine how far through the process it got and work our way backwards
For steps 6 - 8, we'll remove changes last (you could well do them first to reverse Steps 8 -> Step 1 in order)
We can ignore Step2 when removing (could perform something like: fdisk /dev/sde and then d and w to write file table and quit) but not necessary
Supporting Detail:
Using a Log Hybrid as the example:
We can easily tell in this case that the DAC hosts the following volumes:
/var/netwitness/concentrator/sessiondb0
/var/netwitness/concentrator/metadb0
/var/netwitness/logdecoder/packetdb0
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-root
20G 2.0G 17G 11% /
tmpfs 48G 0 48G 0% /dev/shm
/dev/sdf1 256M 35M 208M 15% /boot
/dev/mapper/VolGroup00-usrhome
4.0G 137M 3.7G 4% /home
/dev/mapper/VolGroup02-tmp
20G 588M 19G 4% /tmp
/dev/mapper/VolGroup02-varlog
9.9G 310M 9.1G 4% /var/log
/dev/mapper/VolGroup01-nwhome
10G 50M 10G 1% /var/netwitness
/dev/mapper/VolGroup02-concroot
30G 209M 30G 1% /var/netwitness/concentrator
/dev/mapper/VolGroup03-concinde
300G 301M 300G 1% /var/netwitness/concentrator/index
/dev/mapper/VolGroup02-concmeta
2.4T 7.1G 2.4T 1% /var/netwitness/concentrator/metadb
/dev/mapper/VolGroup02-concsess
300G 434M 300G 1% /var/netwitness/concentrator/sessiondb
/dev/mapper/VolGroup01-lcol
489G 303M 488G 1% /var/netwitness/logcollector
/dev/mapper/VolGroup01-ldecroot
30G 286M 30G 1% /var/netwitness/logdecoder
/dev/mapper/VolGroup01-ldecinde
10G 40M 10G 1% /var/netwitness/logdecoder/index
/dev/mapper/VolGroup01-ldecmeta
300G 11G 290G 4% /var/netwitness/logdecoder/metadb
/dev/mapper/VolGroup01-ldecpack
2.8T 365G 2.5T 13% /var/netwitness/logdecoder/packetdb
/dev/mapper/VolGroup01-ldecsess
30G 899M 30G 3% /var/netwitness/logdecoder/sessiondb
/dev/mapper/VolGroup03-warec
400G 33M 400G 1% /var/netwitness/warehouseconnector
/dev/mapper/VolGroup00-vartmp
6.0G 140M 5.5G 3% /var/tmp
/dev/mapper/concentrator0-sessiondb
373G 586M 372G 1% /var/netwitness/concentrator/sessiondb0
/dev/mapper/concentrator0-metadb
3.3T 8.3G 3.3T 1% /var/netwitness/concentrator/metadb0
/dev/mapper/logdecoder0-packetdb
19T 9.8G 19T 1% /var/netwitness/logdecoder/packetdb0
nwraidutil.pl's Physical Disk Information for Adapter 1:
Adapter 1 enclosure 15 slots found: 15
Encl Slot State P.Fail.Count Raw Size Inquiry Data
15 0 (O) 0 1.819 TB HITACHI HUS72302CLAR2000C1D6YGKKE0TK
15 1 (O) 0 1.819 TB HITACHI HUS72302CLAR2000C1D6YGKKT1TK
15 2 (O) 0 1.819 TB HITACHI HUS72302CLAR2000C1D6YGKKDXMK
15 3 (O) 0 1.819 TB HITACHI HUS72302CLAR2000C1D6YGKKSLUK
15 4 (O) 0 1.819 TB HITACHI HUS72302CLAR2000C1D6YGKLJXVK
15 5 (O) 0 1.819 TB HITACHI HUS72302CLAR2000C1D6YGKLHUDK
15 6 (O) 0 1.819 TB HITACHI HUS72302CLAR2000C1D6YGKKSLSK
15 7 (O) 0 1.819 TB HITACHI HUS72302CLAR2000C1D6YGKKSZYK
15 8 (O) 0 1.819 TB HITACHI HUS72302CLAR2000C1D6YGKLJBKK
15 9 (O) 0 1.819 TB HITACHI HUS72302CLAR2000C1D6YGKK855K
15 10 (O) 0 1.819 TB HITACHI HUS72302CLAR2000C1D6YGKKDXPK
15 11 (O) 0 1.819 TB HITACHI HUS72302CLAR2000C1D6YGKJS17K
15 12 (O) 0 1.819 TB HITACHI HUS72302CLAR2000C1D6YGKJS14K
15 13 (O) 0 1.819 TB HITACHI HUS72302CLAR2000C1D6YGKLKGKK
15 14 (GEI) 0 1.819 TB HITACHI HUS72302CLAR2000C1D6YGKJ6WPK Hotspare Information
PV VG Fmt Attr PSize PFree
/dev/sda1 VolGroup01 lvm2 a-- 3.64t 0
/dev/sdb1 VolGroup02 lvm2 a-- 2.73t 0
/dev/sdc1 VolGroup03 lvm2 a-- 930.97g 230.97g
/dev/sdd concentrator0 lvm2 a-- 3.64t 0
/dev/sde logdecoder0 lvm2 a-- 18.19t 0
/dev/sdf2 VolGroup00 lvm2 a-- 29.56g 0
VG #PV #LV #SN Attr VSize VFree
VolGroup00 1 3 0 wz--n- 29.56g 0
VolGroup01 1 8 0 wz--n- 3.64t 0
VolGroup02 1 6 0 wz--n- 2.73t 0
VolGroup03 1 2 0 wz--n- 930.97g 230.97g
concentrator0 1 2 0 wz--n- 3.64t 0
logdecoder0 1 1 0 wz--n- 18.19t 0
Finding all logical volumes
ACTIVE '/dev/VolGroup00/usrhome' [4.00 GiB] inherit
ACTIVE '/dev/VolGroup00/vartmp' [6.00 GiB] inherit
ACTIVE '/dev/VolGroup00/root' [19.56 GiB] inherit
ACTIVE '/dev/logdecoder0/packetdb' [18.19 TiB] inherit
ACTIVE '/dev/concentrator0/sessiondb' [372.50 GiB] inherit
ACTIVE '/dev/concentrator0/metadb' [3.27 TiB] inherit
ACTIVE '/dev/VolGroup03/concinde' [300.00 GiB] inherit
ACTIVE '/dev/VolGroup03/warec' [400.00 GiB] inherit
ACTIVE '/dev/VolGroup02/swap01' [8.00 GiB] inherit
ACTIVE '/dev/VolGroup02/varlog' [10.00 GiB] inherit
ACTIVE '/dev/VolGroup02/tmp' [20.00 GiB] inherit
ACTIVE '/dev/VolGroup02/concroot' [30.00 GiB] inherit
ACTIVE '/dev/VolGroup02/concsess' [300.00 GiB] inherit
ACTIVE '/dev/VolGroup02/concmeta' [2.37 TiB] inherit
ACTIVE '/dev/VolGroup01/nwhome' [10.00 GiB] inherit
ACTIVE '/dev/VolGroup01/swap00' [8.00 GiB] inherit
ACTIVE '/dev/VolGroup01/lcol' [488.28 GiB] inherit
ACTIVE '/dev/VolGroup01/ldecroot' [30.00 GiB] inherit
ACTIVE '/dev/VolGroup01/ldecinde' [10.00 GiB] inherit
ACTIVE '/dev/VolGroup01/ldecmeta' [300.00 GiB] inherit
ACTIVE '/dev/VolGroup01/ldecsess' [30.00 GiB] inherit
ACTIVE '/dev/VolGroup01/ldecpack' [2.78 TiB] inherit
UUID=47b608f7-c1ee-45ff-b5b4-125ab6343806 / ext3 defaults 1 1
UUID=a8a64b2e-773f-48ef-83c0-a8ace849e32c swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/mapper/VolGroup00-usr /usr ext4 defaults 1 2
/dev/mapper/VolGroup00-usrhome /home ext4 defaults,nosuid 1 2
/dev/mapper/VolGroup00-var /var ext4 defaults 1 2
/dev/mapper/VolGroup00-log /var/log ext4 defaults 1 2
/dev/mapper/VolGroup00-tmp /tmp ext4 defaults,nosuid 1 2
/dev/mapper/VolGroup00-vartmp /var/tmp ext4 defaults,nosuid 1 2
/dev/mapper/VolGroup00-nwhome /var/netwitness xfs defaults,noatime,nosuid 1 2
/dev/mapper/VolGroup01-decoroot /var/netwitness/logdecoder ext4 defaults,noatime,nosuid 1 2
/dev/mapper/VolGroup01-index /var/netwitness/logdecoder/index xfs defaults,noatime,nosuid 1 2
/dev/mapper/VolGroup01-sessiondb /var/netwitness/logdecoder/sessiondb xfs defaults,noatime,nosuid 1 2
/dev/m