Install Memory Machine
To install Memory Machine 1.5.0, we need to verify that any previous memory viewer installations are removed, download the Memory Machine software, then install that software.
1. Remove a Previous Memory Machine Installation
Uninstalling Memory Machine 1.3.0 and older
To confirm if the mvmv
package is currently installed, use:
RHEL/CentOS/Fedora:
Ubuntu
To remove the currently installed package and dependencies, use:
RHEL/CentOS/Fedora:
Ubuntu
Uninstalling Memory Machine 1.4.0 or newer
If you have Memory Machine v1.4.0 or newer, run the /opt/memverge/uninstall.sh
script to completely remove Memory Machine from your system.
Example:
$ sudo ./uninstall.sh
Uninstalling compute host...
--> Uninstalling mmtier services...
Removed /etc/systemd/system/mmtier.service.wants/mmtier_dm.service.
Removed /etc/systemd/system/mmtier.service.wants/mmtier_de.service.
Removed /etc/systemd/system/mmtier.service.wants/mmtier_mp.service.
Removed /etc/systemd/system/multi-user.target.wants/mmtier.service.
mmtier-buffers: using settings from /etc/memverge/mmtier_cfg.json
mmtier-buffers: data mover shm_name 'data_mover_buffer', size 1048576 B
mmtier-buffers: samples shm_name 'mmtier_samples', size 131072 B
mmtier-buffers: hidden pages shm_name 'mmtier_hidden_pages', size 131072 B
Removed /etc/systemd/system/multi-user.target.wants/mmlet.service.
Uninstalling management host...
Removed /etc/systemd/system/multi-user.target.wants/mmmgr.service.
Uninstall completed.
2. Install Memory Machine Prerequisites
Memory Machine 1.5.0 requires the following software to be installed for the root user:
- Python 3.10.x
- PIP
- PyEnv
Install Python 3.10
Check the Existing Python Version. Ubuntu 22.04 has Python 3.10 available. You can verify this by running:
Ubuntu 22.04: If Python 3.10 is not installed, you can install it using:
Install PIP and PyEnv
Run the following to install these packages:
3. Download Memory Machine
Download the Memory Machine package from the MemVerge download site:
If the host has an Internet connection, use curl
or wget
to download the file directly on the target server.
For example:
wget https://memory-viewer-bucket.s3.amazonaws.com/releases/v1.5.0/Cell_Mgmt_1.5.0-20241011191325.bin
If the host does not have Internet access, download it and the dependency packages to a host that does, then transfer the packages to the target server.
4. Install Memory Machine
Ensure the downloaded BIN file is executable:
The usage information shows options to specify non-default values:
$ sudo ./Cell_Mgmt_1.5.0-20241011191325.bin --help
Verifying archive integrity... 100% MD5 checksums are OK. All good.
Uncompressing Memory Machine 100%
./Cell_Mgmt_1.5.0-20240531010915.bin
Options:
--install-path Optional. Default is /opt/memverge. Specify CXL Memory Machine install path
--install=[SERVICE] Optional.
SERVICE='all', default, install both mmmgr and mmlet services
SERVICE='management-host', install only mmmgr service on management-host
SERVICE='compute-host', install only mmlet service on compute-host
--mmmgr-port=[PORT] Optional. Default port is 8081
--mmlet-port=[PORT] Optional. Default port is 8090
--prometheus-port=[PORT] Optional. Default port is 8091
--grafana-port=[PORT] Optional. Default port is 8092
--caddy-port=[PORT] Optional. Default port is 8080
--help Print this help message
Install the Management and Host Agent on the same system
If this is the first time installing Memory Machine, or you intend to use Memory Machine on a single system, it is recommended to install both the Management and Host agent together. This is the default installation method when no options or arguments are provided to the installer. Run the following:
Installation Example:
$ sudo ./Cell_Mgmt_1.5.0-20241011191325.bin
[sudo] password for steves:
Verifying archive integrity... 100% MD5 checksums are OK. All good.
Uncompressing Memory Machine 100%
./Cell_Mgmt_1.5.0-20240531010915.bin
Welcome to the MemVerge Memory Machine installation wizard!
Please press ENTER to read the MemVerge End User License Agreement:
I have read and agree to the End User License Agreement [y/n]: y
Start to install MemVerge CXL Memory Machine...
Ready to install into "/opt/memverge"
Installing compute host components...
--> Installing mmlet service...
temp_file.tar.gz 100%[=====================================================================================================================>] 3.57M 20.0MB/s in 0.2s
--> Installing mmtier services...
Verifying archive integrity... 100% MD5 checksums are OK. All good.
Uncompressing Memverge Tiering Component Services 100%
Created symlink /etc/systemd/system/mmtier.service.wants/mmtier_dm.service → /etc/systemd/system/mmtier_dm.service.
Created symlink /etc/systemd/system/mmtier.service.wants/mmtier_de.service → /etc/systemd/system/mmtier_de.service.
Created symlink /etc/systemd/system/mmtier.service.wants/mmtier_mp.service → /etc/systemd/system/mmtier_mp.service.
Created symlink /etc/systemd/system/mmtier.service.wants/mmtier_bw.service → /etc/systemd/system/mmtier_bw.service.
Created symlink /etc/systemd/system/multi-user.target.wants/mmtier.service → /etc/systemd/system/mmtier.service.
Starting mmlet service
Created symlink /etc/systemd/system/multi-user.target.wants/mmlet.service → /etc/systemd/system/mmlet.service.
Feb 02 15:39:41 sr0 bash[42393]: }]
Feb 02 15:39:41 sr0 bash[42393]: 2024/02/02 15:39:41 "GET http://sr0.eng.memverge.com:8080/v1/wss/history?startTimestamp=0&endTimestamp=1706917181128000 HTTP/1.1" from 10.4.0.105:52828 - 200 138B in 942.261µs
Feb 02 15:39:42 sr0 bash[42393]: 2024/02/02 15:39:42 "GET http://sr0.eng.memverge.com:8080/v1/core/processes HTTP/1.1" from 10.4.0.105:54512 - 200 31713B in 1.611500163s
Feb 02 15:55:10 sr0 bash[240627]: 2024/02/02 15:55:10 [/opt/memverge/sbin/mmlet --config=/etc/memverge/mmlet.yml]
Feb 02 15:55:11 sr0 bash[240627]: 2024/02/02 15:55:11 Starting server on :8090
mmlet is running
Installing management host components...
--> Installing mmmgr service...
temp_file.tar.gz 100%[=====================================================================================================================>] 90.48M 18.6MB/s in 5.0s
temp_file.tar.gz 100%[=====================================================================================================================>] 79.30M 18.9MB/s in 4.2s
temp_file.tar.gz [ <=> ] 9.63M 11.3MB/s in 0.9s
temp_file.tar.gz 100%[=====================================================================================================================>] 13.98M 19.0MB/s in 0.7s
Starting mmmgr service
Created symlink /etc/systemd/system/multi-user.target.wants/mmmgr.service → /etc/systemd/system/mmmgr.service.
Feb 02 15:55:34 sr0 bash[240812]: 2024/02/02 15:55:34 [/opt/memverge/sbin/mmmgr --config=/etc/memverge/mmmgr.yml]
Feb 02 15:55:34 sr0 bash[240812]: 2024/02/02 15:55:34 Opened Bolt database
Feb 02 15:55:34 sr0 bash[240812]: 2024/02/02 15:55:34 Started Prometheus on 8091
Feb 02 15:55:34 sr0 bash[240812]: 2024/02/02 15:55:34 Started Grafana on 8092
Feb 02 15:55:34 sr0 bash[240812]: 2024/02/02 15:55:34 Started Caddy on 8080
Feb 02 15:55:34 sr0 bash[240812]: 2024/02/02 15:55:34 Starting server on :8081
mmmgr is running
Adding Compute Host to Management Host list ...
Install completed.
Successfully installed MemVerge CXL Memory Machine to "/opt/memverge", see "/var/log/memverge/package_install.log" for details.
Install the Management Host Service
To install only the Management service, run:
Install the Client Host Agent
To install only the Client services and register the host with a running Management Server on a different system, run:
During the installation, you will see the following prompted question so the client can register itself with the management host. The management host must be reachable, and the services must be running; otherwise, this process will fail.
Please provide management server address the compute host will register with (optional). Press ENTER if none:
If you skip this question, you can manually register a client with the management server by running /opt/memverge/bin/mmcli hosts add ip:port
on the management server. The client agent software must be installed and running on the client.
Installation Example:
# sudo ./Cell_Mgmt_1.5.0-20241011191325.bin --install=compute-host
Verifying archive integrity... 100% MD5 checksums are OK. All good.
Uncompressing Memory Machine 100%
./Cell_Mgmt_1.5.0-20240531010915.bin
Welcome to the MemVerge Memory Machine installation wizard!
Please press ENTER to read the MemVerge End User License Agreement:
I have read and agree to the End User License Agreement [y/n]: y
Start to install MemVerge CXL Memory Machine...
Ready to install into "/opt/memverge"
Installing compute host components...
--> Installing mmlet service...
temp_file.tar.gz 100%[==========================================================================>] 3.57M --.-KB/s in 0.06s
--2024-04-04 16:42:14-- https://pci-ids.ucw.cz/v2.2/pci.ids
Resolving pci-ids.ucw.cz (pci-ids.ucw.cz)... 195.113.17.242, 46.255.230.100, 217.31.202.99, ...
Connecting to pci-ids.ucw.cz (pci-ids.ucw.cz)|195.113.17.242|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1444058 (1.4M) [application/octet-stream]
Saving to: ‘/opt/memverge/sbin/pci.ids’
/opt/memverge/sbin/pci.ids 100%[==========================================================================>] 1.38M 1.65MB/s in 0.8s
2024-04-04 16:42:16 (1.65 MB/s) - ‘/opt/memverge/sbin/pci.ids’ saved [1444058/1444058]
--> Installing mmtier services...
Verifying archive integrity... 100% MD5 checksums are OK. All good.
Uncompressing Memverge Tiering Component Services 100%
Starting mmlet service
Created symlink /etc/systemd/system/multi-user.target.wants/mmlet.service → /etc/systemd/system/mmlet.service.
Apr 04 00:49:24 aep0 bash[4033151]: 2024/04/04 00:49:24 [/opt/memverge/sbin/mmlet --config=/etc/memverge/mmlet.yml]
Apr 04 00:49:24 aep0 bash[4033151]: 2024/04/04 00:49:24 Starting server on :8090
Apr 04 16:42:20 aep0 bash[4085461]: 2024/04/04 16:42:20 [/opt/memverge/sbin/mmlet --config=/etc/memverge/mmlet.yml]
Apr 04 16:42:20 aep0 bash[4085461]: 2024/04/04 16:42:20 Starting server on :8090
mmlet is running
Please provide management server address the compute host will register with (optional). Press ENTER if none: 10.2.0.74
Adding Compute Host to Management Host list via POST request ...
{"ID":2,"address":"10.0.1.93","hostResource":{"CXLCapacity":0,"CXLCount":0,"DRAMCapacity":0,"GPUCount":4},"online":true,"port":8090}
201
Install completed.
Successfully installed MemVerge CXL Memory Machine to "/opt/memverge", see "/var/log/memverge/package_install.log" for details.
Register a Client with the Management Server
If you skipped the client registration step when the client software was installed, you can register a client with the management server by running /opt/memverge/bin/mmcli hosts add ip:port
on the management server. The client agent software must be installed and running on the client.