Nutanix NDB (formerly: Nutanix Era) Membuat Profile Database PostgreSQL HA
Manual cara membuat profile nutanix ndb / era database postgresql terbaru di Centos

Mengenal Nutanix HCI dan Nutanix NDB/Era: Solusi Inovatif untuk Transformasi Modern Infrastruktur
Di era digital ini, efisiensi dan keandalan infrastruktur TI menjadi kunci keberhasilan bisnis. Nutanix, sebagai pelopor di bidang cloud computing dan infrastruktur hiperkonvergen (HCI), menawarkan solusi yang mengubah cara perusahaan mengelola data dan aplikasi.

Nutanix HCI adalah solusi infrastruktur yang menggabungkan komputasi, penyimpanan, dan virtualisasi dalam satu sistem terpadu. Dikenal karena kemampuannya dalam menyederhanakan manajemen data center, Nutanix HCI membantu mengurangi kompleksitas operasional dan mengurangi biaya yang terkait dengan infrastruktur IT tradisional. Ini dilakukan dengan mengkonsolidasi sumber daya yang sebelumnya tersebar di banyak sistem terpisah menjadi satu platform yang mudah dikelola.

Manfaat Nutanix HCI:

1.. Simplifikasi Manajemen IT:

Mengurangi kompleksitas dengan menyatukan komputasi, penyimpanan, dan virtualisasi. Memudahkan manajemen sumber daya dan operasional dengan antarmuka pengguna yang intuitif.

2. Skalabilitas:

Memungkinkan penambahan sumber daya (seperti CPU, RAM, dan penyimpanan) secara linier tanpa gangguan, memastikan sistem dapat berkembang sesuai kebutuhan bisnis.

3. Efisiensi Biaya:

Mengurangi total biaya kepemilikan dengan mengoptimalkan penggunaan sumber daya dan mengurangi kebutuhan perangkat keras.

4. Kinerja Tinggi dan Keandalan:

Menawarkan latensi yang rendah dan kinerja yang tinggi, sangat penting untuk aplikasi dan layanan kritis. Menyediakan redundansi dan ketahanan untuk menjaga kesinambungan bisnis.

5. Integrasi dan Kompatibilitas:

Mendukung berbagai platform virtualisasi (Vmware maupun dari Nutanix sendiri Virtualisasi AHV) dan bekerja dengan berbagai jenis aplikasi dan layanan.


Nutanix NDB / Era:

Nutanix Database Service atau Era adalah platform yang dirancang untuk menyederhanakan dan mengotomatisasi siklus hidup manajemen database. Era memungkinkan pengguna untuk dengan mudah melakukan provisioning, mengelola, dan menskalakan database di lingkungan Nutanix HCI. Ini mengintegrasikan manajemen basis data dengan infrastruktur Nutanix, menyediakan satu solusi terpadu untuk operasional database.

Nutanix Database Service (NDB) mengotomatiskan dan menyederhanakan administrasi database, menghadirkan kesederhanaan satu klik dan operasi tak kasat mata pada penyediaan database dan manajemen siklus hidup.

NDB memungkinkan administrator basis data untuk melakukan operasi seperti registrasi basis data, penyediaan, kloning, patching, dan pemulihan. Hal ini memungkinkan administrator untuk menentukan standar penyediaan dengan fungsionalitas berbasis end-state yang mencakup segmentasi jaringan, penerapan database ketersediaan tinggi (HA), dan banyak lagi.

Dengan multi-cluster NDB Anda dapat dengan mudah mengelola database di berbagai lokasi, baik on-prem maupun di cloud, dengan cluster Nutanix.

Fitur Utama Nutanix NDB / Era:

1. Provisioning Database Cepat dan Mudah:

Kemampuan untuk dengan cepat menyediakan dan mengkloning database dengan meminimalkan penggunaan ruang penyimpanan.

2. Manajemen Siklus Hidup Database:

Otomatisasi tugas-tugas seperti patching, pembaruan, dan backup.

3. Optimasi Kinerja:

Menawarkan alat untuk memonitor dan mengoptimalkan kinerja database.

4. Skalabilitas dan Fleksibilitas:

Memungkinkan database untuk diskalakan sesuai kebutuhan, mendukung berbagai jenis beban kerja.

5. Keamanan dan Kesinambungan:

Fitur keamanan terintegrasi dan kemampuan untuk pemulihan cepat dari bencana.

Kali ini, kita akan membahas untuk salah satu point dari Fitur utama dari Nutanix NDB, saat ini versi terbaru nya adalah 2.5.

Database yang di support Nutanix NDB:
1. Database Oracle
2. Database SQL Server
3. Database PostgreSQL
4. Database MongoDB
5. Database MySQL
6. Database MariaDB

Langkah-langkah membuat profil database postgresql (environment yang digunakan di dalam artikel ini menggunakan postgresql-15 dan centos 7):
1. membuat vm dengan centos 7 dan repo postgresql
a. membuat vm untuk menjadi template
(cpu core 2, memory 4Gb, disk 2 @10Gb)
-> instalasi untuk /root pada disk 1
-> instalasi untuk /var pada disk 2
-> untuk local user bisa dibuat dengan nama era



b. Download repo postgresql 15 & Update latest OS Centos & Update untuk akses sudoers untuk user era

# ref dari: https://www.postgresql.org/download/linux/redhat/
# Install the repository RPM:
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# Install PostgreSQL:
sudo yum install -y postgresql15-server

# Optionally initialize the database and enable automatic start:
# Config postgresql.conf dan pg_hba.conf
# referensi tuning postgresql:
# https://pgtune.leopard.in.ua/
# contoh minimal config:
# max_connections = 500
# min_wal_size = 1GB
# max_wal_size = 4GB
# max_worker_processes = 4
# max_parallel_workers_per_gather = 2
# max_parallel_workers = 4
# max_parallel_maintenance_workers = 2
sudo /usr/pgsql-16/bin/postgresql-15-setup initdb

sudo systemctl enable postgresql-15
sudo systemctl start postgresql-15

# Update Centos to latest update, instalasi yum-cron untuk update otomatis minimal-security
yum -y update
yum install yum-cron 

# Edit file /etc/yum/yum-cron.conf
[commands]
#  What kind of update to use:
# default                            = yum upgrade
# security                           = yum --security upgrade
# security-severity:Critical         = yum --sec-severity=Critical upgrade
# minimal                            = yum --bugfix update-minimal
# minimal-security                   = yum --security update-minimal
# minimal-security-severity:Critical =  --sec-severity=Critical update-minimal
update_cmd = minimal-security

# Whether a message should be emitted when updates are available,
# were downloaded, or applied.
update_messages = yes

# Whether updates should be downloaded when they are available.
download_updates = yes

# Whether updates should be applied when they are available.  Note
# that download_updates must also be yes for the update to be applied.
apply_updates = yes

# Install Chrony untuk update synchronize time
yum install chrony

# Edit sudoers untuk local user linux era
visudo
# tambahkan di baris terakhir:
Defaults:era !requiretty
era ALL=(ALL) NOPASSWD: ALL

# Mengganti password untuk user postgresql (admin postgresql)
# To change the PostgreSQL user's password, follow these steps:
# log in into the psql console:

sudo -u postgres psql

# Then in the psql console, change the password and quit:

postgres=# \password postgres
Enter new password: <new-password-postgres>
postgres=# \q

2. Register Database


- IP Address or Name of VM -> VM Template yang sudah dibuat sebelumnya
- NDB Drive User -> era
- PG Home -> /usr/pgsql-15
- Provide Credentials Through -> Password
- Password -> <new-password-postgres> password yang dipakai untuk user postgres


3. Create new profile Postgresql
- Pilih Profiles
- Create -> PostgreSQL -> Instance



4. Create new profile Postgresql HA
- Pilih Profiles
- Create -> PostgreSQL -> HA Instance

The database server VM used for creating the software profile for HA instance must have Patroni, HAProxy, etcd, and Keepalived software installed.

# untuk pembuatan profile HA, membutuhkan instalasi package patroni, haproxy, etcd, dan keepalived
yum -y install patroni haproxy etcd keepalived



Untuk detail nya, bisa melihat dari referensi dari link portal nutanix di bawah 

Catatan untuk NDB versi 2.5.2:
1. Jika terdapat error: “Unsuppored configuration: OS or DB_SOFTWARE drives must not used as DATA Drives”
https://portal.nutanix.com/page/documents/kbs/details?targetId=kA07V0000010zdMSAQ 

Enviroment yang dipakai:
- centos 7
- postgresql 15

perlu dibedakan disk nya, bukan hanya dari mount point, contohnya:

/dev/sda2 untuk /usr/pgsql-15 (disk sda untuk DB_SOFTWARE) dan /dev/sdb1 untuk /var/lib/pgsql (disk sdb untuk DATA)


Log: /var/log/messages:

{'category': 'DB_SOFTWARE', 'file_list': [{'name': '/usr/pgsql-15', 'device_list': ['/dev/sda2'], 'lv_name': '/dev/mapper/centos_centos-root'}]}],

[{'category': 'DATA', 'file_list': [{'name': '/var/lib/pgsql/15/data', 'device_list': ['/dev/sdb1'], 'lv_name': '/dev/mapper/centos_postgres-pgdata'},

lrwxrwxrwx. 1 root root 7 Jan 22 17:17 centos_centos-root -> ../dm-0
lrwxrwxrwx. 1 root root 7 Jan 22 17:17 centos_centos-swap -> ../dm-1
lrwxrwxrwx. 1 root root 7 Jan 22 17:17 centos_postgres-opt -> ../dm-4
lrwxrwxrwx. 1 root root 7 Jan 22 17:17 centos_postgres-pgdata -> ../dm-2

# mount |grep centos
/dev/mapper/centos_centos-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
/dev/mapper/centos_postgres-pgdata on /var/lib/pgsql type ext4 (rw,relatime,seclabel,stripe=256,data=ordered)
/dev/mapper/centos_postgres-opt on /opt type ext4 (rw,relatime,seclabel,stripe=256,data=ordered)

Referensi:
1. https://www.nutanix.com/products/ahv
2. https://portal.nutanix.com/page/documents/details?targetId=Nutanix-NDB-User-Guide-v2_5:Nutanix-NDB-User-Guide-v2_5
3. https://portal.nutanix.com/page/documents/details?targetId=Nutanix-NDB-PostgreSQL-Database-Management-Guide-v2_5:top-software-profile-postgresql-create-t.html
4. https://portal.nutanix.com/page/documents/details?targetId=Nutanix-NDB-User-Guide:top-dbserver-pre-requirement-checks-c.html
5. https://portal.nutanix.com/page/documents/details?targetId=Nutanix-NDB-User-Guide:top-script-pre-requirement-linux-t.html
6. https://portal.nutanix.com/page/documents/kbs/details?targetId=kA07V0000010zdMSAQ

Sign in to leave a comment
Cara Memilih Metode Pendingin yang Tepat untuk Data Center Anda