Arahan dalam Linux (intermediate)

1. lsblk

Untuk melihat 'disks' yang ada dalam linux dan anak-anaknya. Contoh output

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 600M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 198.4G 0 part
├─almalinux-root 253:0 0 70G 0 lvm /
├─almalinux-swap 253:1 0 7.9G 0 lvm [SWAP]
└─almalinux-home 253:2 0 120.5G 0 lvm /home
sdb 8:16 0 200G 0 disk
2. pvs - nak tengok semua physical volume yang ada. tak semestinya disk ada tapi volume dah ada. Output
PV VG Fmt Attr PSize PFree
/dev/sda3 almalinux lvm2 a-- 198.41g 0
Command yang sama macam pvs adalah pvdisplay. Ni lagi banyak maklumat. Tak macam pvs. Output
--- Physical volume ---
PV Name /dev/sda3
VG Name almalinux
PV Size 198.41 GiB / not usable 2.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 50793
Free PE 0
Allocated PE 50793
PV UUID GbcRQx-RQOJ-egqT-fuRc-DkI6-q0Ip-oLEnY5
3. vgs - Volume group scan. Untuk tengok volume group yang ada.
VG #PV #LV #SN Attr VSize VFree
almalinux 1 3 0 wz--n- 198.41g 0
Arahan yang serupa adalah vgdisplay. Output
--- Volume group ---
VG Name almalinux
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 1
Act PV 1
VG Size 198.41 GiB
PE Size 4.00 MiB
Total PE 50793
Alloc PE / Size 50793 / 198.41 GiB
Free PE / Size 0 / 0
VG UUID F6zi4v-3uVP-kWdm-jZOm-WJeI-6s46-bFJTAF
4. lvs - Logical volume scan. Untuk melihat segala logical volume yang ada
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home almalinux -wi-ao---- 120.52g
root almalinux -wi-ao---- 70.00g
swap almalinux -wi-ao---- <7.89g
Arahan yang hampir serupa adalah lvdisplay. Output
--- Logical volume ---
LV Path /dev/almalinux/swap
LV Name swap
VG Name almalinux
LV UUID Yqta7D-DWFC-OsAf-kaP8-Xsog-xgid-SGVyYg
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2023-01-31 21:54:30 +0800
LV Status available
# open 2
LV Size <7.89 GiB
Current LE 2019
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
--- Logical volume ---
LV Path /dev/almalinux/home
LV Name home
VG Name almalinux
LV UUID i8zaxO-79nV-7EKH-KCZp-7eDJ-P9ah-BI1SpY
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2023-01-31 21:54:30 +0800
LV Status available
# open 1
LV Size 120.52 GiB
Current LE 30854
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2
--- Logical volume ---
LV Path /dev/almalinux/root
LV Name root
VG Name almalinux
LV UUID 9mC2Dc-94CU-pFgO-cqlQ-L93v-7R2X-QDiCjU
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2023-01-31 21:54:30 +0800
LV Status available
# open 1
LV Size 70.00 GiB
Current LE 17920
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0

Purple Snickers


Suka betul tengok Snickers yang baru ni. Hari ni baru terasa nak beli. Tak de lah rasa lain pun. Sama je dengan Snickers yang sebelum-sebelum ni. Cuma warna dia nampak menarik, dan tulisan dia pun ok. 

 

Penggunaan Redis di dalam PHP 7.2

Artikel ini akan menunjukkan cara-cara pemasangan dan konfigurasi redis di dalam PHP 7.2 bagi CentOS 7.

Artikel ini menjangkakan anda telah mengkonfigurasi repository kepada repositori remi. Anda juga telah membuat pemasangan PHP 7.2. Anda juga telah membuat pemasangan redis dengan jayanya di server lain.

Artikel ini ditulis disebabkan aku menghadapi masalah dalam menggunakan redis di dalam PHP 7.2.

1. Pasang redis ke dalam sistem pengoperasian CentOS 7 dengan cara
$ yum install php72*redis
====================================================================================================
 Package                          Arch            Version                       Repository     Size
====================================================================================================
Installing:
 php72-php-pecl-redis             x86_64          3.1.6-1.el7.remi              remi          156 k
 php72-php-phpiredis              x86_64          1.0.0-3.el7.remi              remi           16 k
Installing for dependencies:
 hiredis-last                     x86_64          0.13.3-1.el7.remi             remi           30 k
 php72-php-pecl-igbinary          x86_64          2.0.8-1.el7.remi              remi           66 k

Transaction Summary
====================================================================================================
Install  2 Packages (+2 Dependent packages)

Total download size: 268 k
Installed size: 817 k
Is this ok [y/d/N]:y

Downloading packages:
(1/4): php72-php-phpiredis-1.0.0-3.el7.remi.x86_64.rpm                       |  16 kB  00:00:01
(2/4): hiredis-last-0.13.3-1.el7.remi.x86_64.rpm                             |  30 kB  00:00:01
(3/4): php72-php-pecl-redis-3.1.6-1.el7.remi.x86_64.rpm                      | 156 kB  00:00:02
(4/4): php72-php-pecl-igbinary-2.0.8-1.el7.remi.x86_64.rpm                   |  66 kB  00:00:02
----------------------------------------------------------------------------------------------------
Total                                                               115 kB/s | 268 kB  00:00:02
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : hiredis-last-0.13.3-1.el7.remi.x86_64                                            1/4
  Installing : php72-php-pecl-igbinary-2.0.8-1.el7.remi.x86_64                                  2/4
  Installing : php72-php-pecl-redis-3.1.6-1.el7.remi.x86_64                                     3/4
  Installing : php72-php-phpiredis-1.0.0-3.el7.remi.x86_64                                      4/4
  Verifying  : php72-php-phpiredis-1.0.0-3.el7.remi.x86_64                                      1/4
  Verifying  : php72-php-pecl-redis-3.1.6-1.el7.remi.x86_64                                     2/4
  Verifying  : php72-php-pecl-igbinary-2.0.8-1.el7.remi.x86_64                                  3/4
  Verifying  : hiredis-last-0.13.3-1.el7.remi.x86_64                                            4/4

Installed:
  php72-php-pecl-redis.x86_64 0:3.1.6-1.el7.remi    php72-php-phpiredis.x86_64 0:1.0.0-3.el7.remi

Dependency Installed:
  hiredis-last.x86_64 0:0.13.3-1.el7.remi     php72-php-pecl-igbinary.x86_64 0:2.0.8-1.el7.remi

Complete!


2. Pakej remi di dalam CentOS secara default akan diletakkan di dalam /opt/remi/php72. Ada dua cara bagi anda menggunakan module php72. Pertama adalah dengan meletakkan command yang ada di dalam /opt/remi/php72/enable ke dalam /etc/bash_profile. Kedua adalah dengan menyalin module .so dari /opt/remi/php72/root/usr/lib64/php/modules/ ke /usr/lib64/php/modules. Aku membuat cara kedua.

$ cp *redis.so igbinary.so /usr/lib64/php/modules

3. Pergi ke /usr/lib64/php/modules

$ cd /usr/lib64/php/modules
$ ls

Anda akan melihat redis.so dan igbinary.so dipindahkan.

3. Cipta fail redis.ini di dalam /etc/php.d/

$ vi /etc/php.d/redis.ini 

Masukkan entry ini
extension=igbinary.so
extension=phpiredis.so

extension=redis.so






Pasti igbinary.so berada di atas sekali. Hal ini kerana modul ini akan digunakan oleh redis.so. Ianya perlu diload terlebih dahulu oleh php.

4. Restart daemon php. Jika anda menggunakan daemon php yang diintegrasi bersama Apache HTTPD, restart httpd. Jika anda menggunakan daemon php-fpm, restart php-fpm

Jika anda menggunakan php di dalam apache httpd

$ systemctl reload httpd 

atau

$ systemctl stop httpd
$ systemctl start httpd

Jika anda menggunakan php-fpm

$ systemctl reload php-fpm

atau

$ systemctl stop php-fpm
$ systemctl start php-fpm

5. Cuba redis server anda dengan melaksanakan fail arahan ini (namakan sebagai redisConn.php)

$ vi /var/www/html/redisConn.php
try {
   //Connecting to Redis server on localhost
   $redis = new Redis();

   echo "Test connect to Redis server ip.server.redis:6379";
   $redis->connect('ip.server.redis', 6379);
   echo "
Connection to server sucessfully";
   //check whether server is running or not
   echo "
Test Ping Connection";
   echo "
Server is running: ".$redis->ping();
} catch (Exception $ex) {
   echo "
" . $ex->getMessage();
}
?>



6. Laksanakan arahan sama ada menggunakan php-cli atau menggunakan web. Output seperti di bawah mungkin anda perolehi.
Test connect to Redis server 10.2.10.107:6379
Connection to server sucessfully
Test Ping Connection
Redis server went away



Pemasangan VMware vSphere 6.5

Artikel ini akan menunjukkan cara pemasangan VMware vSphere 6.5

ISO bagi VMware vSphere 6.5 boleh dimuat turun dari laman web VMware.

1. Masukkan DVD/USB yang mengandungi ISO ke dalam server anda. Splash screen seperti gambarajah 1 akan dipaparkan.

Gambarajah 1 : Imej sedang dibaca oleh server

2. Selesai imej dibaca oleh server, skrin seperti gambarajah 2 akan dipaparkan. Untuk pengetahuan, VMware vSphere 6.5 masih tidak membenarkan penggunaan tetikus semasa pemasangan. Tekan Enter bagi meneruskan pemasangan.

Gambarajah 2 : Skrin selamat datang.


3. Kemudian skrin yang memaparkan "End User Licensing Agreement (EULA)" akan dipaparkan. Anda boleh membaca keseluruhan EULA dengan menggunakan kekunci panah ke bawah. Jika anda tidak setuju dengan EULA tekan kekunci Esc dan anda akan dibawa keluar dari skrin pemasangan. Jika anda ingin meneruskan pemasangan tekan F11.

Gambarajah 3 : Skrin EULA


4. Kemudian imej akan 'scan' cakera keras (hard disk) yang ada di dalam server anda. Apabila ianya selesai, skrin seperti gambarajah 4 akan dipaparkan. Jika anda ada membuat sambungan kepada NAS atau SAN, ianya akan turut dipaparkan di dalam skrin ini. Untuk artikel ini, saya membuat pemasangan di atas server maya bagi menyenangkan proses 'screen capture'. Disebabkan itu di skrin ini hanya ada satu saiz cakera keras sebanyak 100GiB yang dapat diperolehi oleh vSphere 6.5. Tekan Enter bagi meneruskan pemasangan.

Gambarajah 4 : Skrin yang memaparkan cakera keras yang boleh digunakan bagi pemasangan imej


5. Disebabkan vSphere 6.5 dibangunkan menggunakan sistem pengoperasian Linux, maka saiz yang diperlukan adalah rendah. 100GiB adalah tersangat besar bagi vSphere 6.5. Seterusnya anda akan dibawa ke skrin bagi memilih 'layout' papan kekunci. Ambil 'layout' yang dikenali oleh imej vSphere 6.5. Tekan Enter bagi meneruskan pemasangan.

Gambarajah 5 : 'Layout' papan kekunci

6. Skrin seterusnya adalah bagi memasukkan kata laluan (password) bagi pengguna root. root adalah satu-satunya kata nama yang anda boleh cipta buat masa ini. Kata nama lain anda hanya boleh cipta melalui vSphere Web Client nanti. Masukkan kata laluan bagi root dan tekan Enter untuk meneruskan pemasangan.

 Gambarajah 6 : Masukkan kata laluan bagi root

7. 'System scanning' akan dilakukan oleh vSphere 6.5. Ianya bagi mengetahui perkara berikut
  • Informasi tentang 'processor'
  • Informasi tentang perkakasan yang ada di dalam sistem
  • Informasi tentang rangkaian
  • Dan lain-lain
Gambarajah 7 : 'System scanning' sedang dijalankan

8. Kebiasaannya jika anda membuat pemasangan ESXi 6.5 di atas server maya, anda akan mendapat ralat seperti di dalam gambarajah 8. Abaikan ralat tersebut buat sementara, dan tekan Enter bagi meneruskan pemasangan. Ralat ini boleh diperbaiki sama ada di dalam BIOS (jika server anda merupakan server fizikal) atau di dalam 'settings' vSphere.

Gambarajah 8 : Ralat yang dipaparkan.

9. Skrin seperti gambarajah 9 akan dipaparkan sebelum pemasangan dilakukan. Ianya adalah 'safety features' di dalam vSphere 6.5 yang memerlukan anda memastikan bahawa anda akan membuat pemasangan di dalam cakera keras yang dinyatakan. Tekan F11 untuk memasang ESXi 6.5 ke dalam server anda.

Gambarajah 9 : 'Confirm install screen'

10. vSphere 6.5 akan memasang perisian ke dalam server anda seperti di dalam gambarajah 10. Seterusnya ianya akan meminta anda 'reboot' secara manual atau akan dilakukan secara automatik oleh imej.

Gambarajah 10 : Pemasangan ESXi 6.5

Mudah bukan pemasangan VMware vSphere 6.5?

Apa beza snapshot dan backup di dalam perkomputeran maya?

Snapshot dan backup adalah 2 fungsi yang disalahertikan oleh ramai pentadbir-pentadbir perkomputeran maya.

Snapshot adalah fungsi di dalam Hyper-V dan VMware yang membenarkan pentadbir mengambil keadaan semasa server maya yang ada di dalam infrastruktur Hyper-V atau VMware bagi melakukan perkara berikut :
  1. Ingin memasang kemaskini (update) terkini di dalam server maya tetapi tidak diketahui bagaimana atau apa yang akan berlaku jika kemaskini tersebut dipasang. Contoh kepada keadaan ini adalah kemaskini .NET Framework, kernel dan lain-lain seangkatan dengannya.
  2. Ingin membuat perubahan kepada kod di dalam sistem yang terdapat di dalam server maya tetapi memerlukan titiktanda (checkpoint) yang membolehkan sistem ini dikembalikan kepada asal (rollback) jika berlakunya masalah.
  3. Sebagai tanda untuk membuat backup di dalam perkomputeran maya. Perisian backup seperti Commvault, Veeam, Zerto, Acronis dan lain-lain akan membuat snapshot terlebih dahulu sebelum membuat backup kepada data-data yang ada di dalam server maya. Segala akses yang berlaku semasa server maya di backup adalah menggunakan snapshot yang sedia ada. Selesai backup, snapshot akan digabungkan dengan data yang sedia ada dan dibuangkan. 
Berdasarkan pemerhatian, ramai yang menggunakan snapshot sebagai backup. Hal ini adalah salah kerana jika satu masa nanti anda ingin recover server anda di atas sesuatu sebab, snapshot yang banyak ini akan menyusahkan anda.

Di dalam artikel "Best Practices for using snapshot in vSphere environment", VMware ada menyenaraikan langkah-langkah terbaik dalam menggunakan snapshot. Berikut merupakan langkah tambahan daripada saya.
  1. Sentiasa menamakan snapshot anda. Sebagai contoh, "kemaskini windows 2012 untuk service pack 2". Hal ini kerana jika anda menggunakan nama yang diberikan sama ada oleh vCenter atau SCVMM, saya berani jamin, esok anda akan lupa.
  2. Apabila anda sudah selesai membuat pengujian dan didapati kemaskini yang dibuat tidak dapat digunakan atas sebab-sebab tertentu, gunakan fungsi "Revert snapshot" dan pilih snapshot yang dikehendaki.
  3. Apabila anda tidak pasti, gunakan fungsi "Consolidate Snapshot". Fungsi ini akan menggabungkan kesemua snapshot kembali ke dalam 1 virtual hard disk tanpa menjejaskan integriti data. Hal ini bermakna kesemua perubahan yang anda lakukan akan disimpan terus ke dalam server maya dan snapshot akan dibuangkan.
Untuk membuat sandaran (backup), sila gunakan perisian sandaran yang ada. Jika anda ingin ke Hyperconverge, teknologi di dalam Nutanix dan Simplivity membolehkan anda membuat sandaran dengan baik. Berdasarkan siri Technology Update yang saya selalu hadiri, Commvault, Veeam dan Zerto merupakan perisian sandaran yang terbaik bagi membuat sandaran server maya.