In the context of an ExaCC Gen2 environment, the command-line utility ExaCLI can be used to monitor and manage (only a subset of commands are allowed) the Exadata Storage Server (with 18.1.4.2 and higher). For example, you can check the software version of the Dom0 layer. In this blog post, I will describe all the required steps to get ExaCLI running.
Table of Contents
Preparation
Oracle creates a user on the Exadata Storage Server for every existing VM cluster. The naming notation is cloud_user_<cluster name>. The cluster name is auto-generated and does not reflect the name which is used during the creation of the VM cluster. To get the cluster name run the following command as root or grid user.
$> /u01/app/19.0.0.0/grid/bin/crsctl get cluster name
CRS-6724: Current cluster name is 'fra123456ex-371'
The above result would result in the username cloud_user_fra123456ex-371. A default password is defined and saved as the encrypted value in the file /opt/exacloud/cs_data.enc and can be converted using the get_cs_data.py Python script (run as root or opc).
$> cat /opt/exacloud/cs_data.enc
U2FsdGVkX18D8KUpegiiA1TsgyHM0qbuDmssE0ds0obLgSzrJGe0qa6Anec7D5kV
O1Wqr+W9giQvmP3sVM5HMK6V7Xqn/u1wWBBn411xoo6oUc6UFDiBhQP0mJ+rrmol
qJQ+/xCDscCCzQ8l2bzv5Q==
$> /opt/exacloud/get_cs_data.py --data_file /opt/exacloud/cs_data.enc
ExaCli initial password is:
Zb3-Sb7#p1cbBx0k2Yq7A021
To connect to the Exadata Storage Servers we need their IP addresses. If you don’t know the IP addresses, check the content of the file /etc/oracle/cell/network-config/cellip.ora.
$> cat /etc/oracle/cell/network-config/cellip.ora
cell="xxx.xxx.xxx.xxx;xxx.xxx.xxx.xxx"
cell="xxx.xxx.xxx.xxx;xxx.xxx.xxx.xxx"
cell="xxx.xxx.xxx.xxx;xxx.xxx.xxx.xxx"
Test
Now it is time to check the connection.
$> exacli -l cloud_user_fra123456ex-371 -c xxx.xxx.xxx.xxx
Password: ************************
EXA-30000: Cannot connect to MS at xxx.xxx.xxx.xxx:443. Error: Connection refused (Connection refused).
I used the initial password, but the connection failed. It looks like that the initial password is not correct – I tested this with different clusters and the result is always the same.
To reset the password a service request needs to be open.
If the connection was successful, you are connected to the Exadata Storage Server.
$> exacli -l cloud_user_fra123456ex-371 -c xxx.xxx.xxx.xxx
exacli cloud_user_fra123456ex-37@xxx.xxx.xxx.xxx>
Not all commands can be used. If you use a command which is not allowed, you will get an error.
exacli cloud_user_fra123456ex-37@xxx.xxx.xxx.xxx> LIST SOFTWAREUPDATE;
CELL-06015: Current user does not have privileges to run this command.
One of the useful commands is LIST CELL DETAIL. With the help of this command, you can for example see the software version and other details.
exacli cloud_user_fra123456ex-37@xxx.xxx.xxx.xxx> LIST CELL DETAIL;
name: fra123456exdcl02
accessLevelPerm: remoteLoginEnabled
bbuStatus: normal
cellVersion: OSS_20.1.9.0.0_LINUX.X64_210416
cpuCount: 96/96
diagHistoryDays: 7
doNotServiceLEDStatus: off
exacliEnabled: TRUE
fanCount: 8/8
fanStatus: normal
flashCacheMode: WriteBack
httpsAccess: ALL
id: XXXXXXXXXX
interconnectCount: 4
interconnect1: stre0
interconnect2: stre1
iormBoost: 0.0
ipaddress1: xxx.xxx.xxx.xxx/23
ipaddress2: xxx.xxx.xxx.xxx/23
kernelVersion: 4.14.35-1902.306.2.2.el7uek.x86_64
locatorLEDStatus: off
makeModel: Oracle Corporation ORACLE SERVER X8-2L High Capacity
memoryGB: 188
metricHistoryDays: 7
offloadGroupEvents:
powerCount: 2/2
powerStatus: normal
ramCacheMaxSize: 0
ramCacheMode: Auto
ramCacheSize: 0
releaseImageStatus: success
releaseVersion: 20.1.9.0.0.210416
rpmVersion: cell-20.1.9.0.0_LINUX.X64_210416-1.x86_64
releaseTrackingBug: 32738303
rollbackVersion: 20.1.4.0.0.201203
status: online
temperatureReading: 20.0
temperatureStatus: normal
upTime: 10 days, 16:05
usbStatus: normal
rsStatus: running
msStatus: running
cellsrvStatus: running
Batch Mode
ExaCLI asks for the password interactively. There is no password parameter to provide it. If you want to use it for scripts, you have to use a workaround.
$> echo "my_password" | exacli -l cloud_user_fra123456ex-371 -c xxx.xxx.xxx.xxx -e "LIST CELL DETAIL;"
Of course, this has the side effect, that the password is visible in clear text and in the process list.
As an alternative, the password can be provided using the expect utility.
$> expect -c "
spawn exacli -l cloud_user_fra12345ex-611 -c xxx.xxx.xxx.xxx -e \"LIST CELL DETAIL\"
expect \"Password:\"
send -- \"my_password\r\"
send -- \"\r\"
expect eof
"
Hi,
we have this exaCli stuff at our EXACC systems running,
currently we try to integrate the Exadata Storagecells to CloudControl 13.5 to get metrics displayed.
At SuperCluster this was quite easy – did somebody managed to get this running on EXACC ?
Cheers,
Charly
Hi Charly,
I know that the colleagues had also some issues with the integration of ExaCC into OEM. For example, only one VM Cluster was/is visible.
I am currently on vacation, I can try to get more information on Monday.
Cheers
Christian