Skip to content

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:

$ sudo dnf list --installed | grep -i mvmv

Ubuntu

$ sudo apt list --installed | grep -i mvmv

To remove the currently installed package and dependencies, use:

RHEL/CentOS/Fedora:

$ sudo dnf erase mvmv

Ubuntu

$ sudo apt --purge autoremove mvmv

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.

$ cd /opt/memverge
$ sudo ./uninstall.sh
$ sudo rmdir /opt/memverge

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:

python3 --version

Ubuntu 22.04: If Python 3.10 is not installed, you can install it using:

sudo apt update
sudo apt install python3.10

Install PIP and PyEnv

Run the following to install these packages:

sudo apt install python3-pip python3.10-venv

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:

chmod +x Cell_Mgmt_1.5.0-20241011191325.bin

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:

$ sudo ./Cell_Mgmt_1.5.0-20241011191325.bin

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:

$ sudo ./Cell_Mgmt_1.5.0-20241011191325.bin --install=management-host

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:

$ sudo ./Cell_Mgmt_1.5.0-20241011191325.bin --install=compute-host

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.