Sunday, June 7, 2015

Installasi Openvswitch CentOS7

Catetan ini dibuat karna ketika ane oprek openstack pake CentOS7 ternyata openvswitchnya belum terinstall di CentOS7. Berhubung lagi seneng otak-atik openstack mau sedikit sharing sih kalo openvswitch merupakan salah satu komponen yang dibutuhkan untuk membentuk bridge network yang akan membentuk neutron di dalam openstack.

Untuk langkah-langkah instalasinya adalah sebagai berikut ini :
  • Instalasi paket yang dibutuhkan, jalankan command dibawah ini sebagai root.
    [root@servera ~]# yum -y install wget openssl-devel gcc make python-devel openssl-devel kernel-devel graphviz kernel-debug-devel autoconf automake rpm-build redhat-rpm-config libtool
  • Tambahkan user ovs
    [root@servera ~]# adduser ovs
  • Generate RPM file sebagai ovs user
    [root@servera ~]# su - ovs
    [ovs@servera ~]$ mkdir -p ~/rpmbuild/SOURCES
    [ovs@servera ~]$ wget http://openvswitch.org/releases/openvswitch-2.3.1.tar.gz
    [ovs@servera ~]$ cp openvswitch-2.3.1.tar.gz ~/rpmbuild/SOURCES/
    [ovs@servera ~]$ tar xfz openvswitch-2.3.1.tar.gz
    [ovs@servera ~]$ sed 's/openvswitch-kmod, //g' openvswitch-2.3.1/rhel/openvswitch.spec > openvswitch-2.3.1/rhel/openvswitch_no_kmod.spec
    [ovs@servera ~]$ rpmbuild -bb --nocheck ~/openvswitch-2.3.1/rhel/openvswitch_no_kmod.spec
    [ovs@servera ~]$ exit
  • Install RPM package dari rpm yang sudah di generate di langkah sebelumnya
    [root@servera ~]# yum localinstall /home/ovs/rpmbuild/RPMS/x86_64/openvswitch-2.3.1-1.x86_64.rpm

    Notes

    Apabila selinux dalam enforcing mode, maka context file nya harus disesuaikan dulu. Maka lakukan langkah-langkah dibawah ini.
    [root@servera ~]# yum install policycoreutils-python -y
    [root@servera ~]# mkdir /etc/openvswitch
    [root@servera ~]# restorecon -Rv /etc/openvswitch
    [root@servera ~]# semanage fcontext -a -t openvswitch_rw_t "/etc/openvswitch(/.*)?"
Setelah selesai lalu reboot.

Lalu untuk mengecek apakah openvswitch sudah terinstall atau belum jalankan command line tools dibawah ini.
[root@servera ~]# ovs-vsctl -V
##Apabila output seperti dibawah ini berarti instalasi openvswitch berhasil##
ovs-vsctl (Open vSwitch) 2.3.1
Compiled Jun  7 2015 18:06:48
DB Schema 7.6.2

Instalasi openvswitch di CentOS7 berhasil dilakukan. Semoga bermanfaat yah....

Saturday, June 6, 2015

Mengubah Network Interface Name Dari ENO ke ETH CentOS 7

Hari ini ane sedikit ngoprek CentOS7 dan seperti biasa sebagai catetan makanya ditulis diblog biar enggak lupa. Kali ini ane mau bahas sedikit tentang interface name di CentOS7.

Buat agan yang udah cobain CentOS7 pasti aneh ya setelah proses instalasi lalu pas ngecek nama interfacenya bukan ethxx melainkan enoxxx. Kalo di versi sebelumnya seperti di CentOS6.x ketika kita mengecek interface dengan command 'ifconfig' pasti output interface name yang terlihat adalah ethx, contoh : eth0, eth1, dst

Untuk penjelasan kenapa di CentOS 7 penamaan interface berubah temen-temen sekalian bisa baca link ini mengenai Predictable Network Interfaces Names.

Berbeda dengan ketika kita selesai instalasi CentOS7 ketika kita mengecek interface name dengan command 'ip addr show' maka outputnya adalah enoxxx, contoh : eno1677728, eno1677729, dst. Dibawah ini penampakannya :








Buat yang udah terbiasa ngeliat interface name pake ethx, ngeliat interface name jadi enoxxx aneh banged kan? Sama ane juga hahaha, tapi ada solusinya kok dan itu kita kudu menambah sedikit value di kernel parameternya.

Dibawah ini langkah-langkah untuk mengubah enoxxx menjadi ethx.

1) Edit file /etc/sysconfig/grub

Ubah parameter di dalam file grub dengan text editor, saya mengubahnya dengan vim.

[root@localhost ~]# vim /etc/sysconfig/grub

###Output seperti dibawah ini###

GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos/root crashkernel=auto  vconsole.keymap=us rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

Lalu di parameter GRUB_CMDLINE_LINUX tambahkan parameter net.ifnames=0 biosdevname=0.

Sebelum :
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos/root crashkernel=auto  vconsole.keymap=us rhgb quiet"

Sesudah
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos/root crashkernel=auto  vconsole.keymap=us rhgb quiet net.ifnames=0 biosdevname=0"

Setelah selesai quit lalu jangan lupa disave perubahan konfigurasi tersebut.

2) Regenerate Konfigurasi GRUB

Setelah selesai mengubah paramater di grub sekarang saatnya kita mengenerate ulang konfigurasi GRUB yang sudah kita ubah pada langkah pertama. Command yang digunakan adalah sebagai berikut ini.

[root@localhost ~]# grub2-mkconfig  -o /boot/grub2/grub.cfg
#Apabila output seperti dibawah, berarti regenerate file grub sukses##

Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-123.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-123.el7.x86_64.img
Warning: Please don't use old title `CentOS Linux, with Linux 3.10.0-123.el7.x86_64' for GRUB_DEFAULT, use `Advanced options for CentOS Linux>CentOS Linux, with Linux 3.10.0-123.el7.x86_64' (for versions before 2.00) or `gnulinux-advanced-4530bfa1-ba73-46ed-99ef-e131800b4c48>gnulinux-3.10.0-123.el7.x86_64-advanced-4530bfa1-ba73-46ed-99ef-e131800b4c48' (for 2.00 or later)
Found linux image: /boot/vmlinuz-0-rescue-b503d97b7594463984dc9545862de1a1
Found initrd image: /boot/initramfs-0-rescue-b503d97b7594463984dc9545862de1a1.img
done

3) Rename Network File di /etc/sysconfig/network-scripts/

Langkah terakhir adalah mengubah nama Network File dari enoxx menjadi ethx di direktori /etc/sysconfig/network-scripts. 

[root@localhost ~]# mv /etc/sysconfig/network-scripts/ifcfg-eno16777728 /etc/sysconfig/network-scripts/ifcfg-eth0

Notes :
ifcfg-eno16777728 tergantung file di server masing-masing, angka setelah eno(16777728) bisa berbeda-beda maka sesuaikan yah.

Setelah selesai lalu reboot server.
[root@localhost ~]# reboot

4) Verifikasi

Langkah terakhir yang jelas verifikasi untuk mastiin apakah langkah-langkah diatas berhasil atau tidak. Caranya simple, gunakan command 'ip addr show' lalu liat apakah nama interfacenya sudah menjadi ethx atau belum.











Apabila setelah di cek output interface name menjadi eth0 seperti diatas berarti konfigurasi kita sudah berhasil, interface name sudah berubah dari enoxxx menjadi ethx.

Semoga bermanfaat!

Wednesday, June 3, 2015

Mengenal Arsitektur, Istilah dan Terminologi Openstack

Openstack merupakan salah satu cloud software paling powerful di dunia, selain opensource fitur-fitur yang disediakan pun gak kalah powerful dengan platform lain seperti vmware, hyper-v, xen, dsb. Di beberapa negara openstack sangat booming dan cepat sekali perkembangannya, apabila berbicara cakupan asia tenggara singapura dan malaysia adalah salah satu contoh pesatnya perkembangan openstack di negara tsb. Saya pikir Indonesia dalam beberapa tahun kedepan akan mengikuti langkah yang sama.

Nah, setelah bicara sedikit tentang sejarah openstack sekarang kita overview sedikit arsitektur dari openstack. Dibawah ini kira-kira arsitektur openstack :


Kalo dari gambar diatas terlihat bahwa arsitektur openstack bisa dibilang rumit karna begitu banyak komponen dan service yang menopang openstack itu sendiri. Tapi kali ini saya akan coba bahas satu-persatu istilah dan terminologi openstack dari gambar yang ada pada arsitektur diatas.

OPENSTACK ARCHITECTURE
  1. Horizon (Dashboard) : Horizon adalah istilah developer openstack untuk web-based interfaces yang digunakan untuk manajemen service di dalam openstack. Meski di dunia real memanage dengan command line jauh lebih powerful, namun dengan adanya horizon maka memungkinkan kamu memanage openstack dengan "graphical user interfaces" dan membuat openstack jauh lebih bersahabat. Biasanya administrator menggunakan horizon untuk membuat instance(vm), manajemen network (nova/neutron), setting tenant(projects), access control, dsb.
  2. Keystone (Identity) : Keystone ini seperti kerberos kalo di LDAP, fungsinya adalah untuk centralized identity service dan Authorization Services. Keystone juga berfungsi untuk autentikasi username dan password credentials untuk user yang autentikasi ke cloud ato via horizon contohnya, keystone juga memberikan token atau istilahnya token-based systems untuk setiap user yang melakukan autentikasi. Singkatnya keystone itu bertindak sebagai SSO (Single-Sign On) authentication services untuk user dan komponen lainnya di openstack.
  3. Neutron (Networking) : Neutron adalah salah satu komponen penting dalam openstack, neutron berfungsi untuk menghubungkan Instances(vm) ke dunia real. Singkatnya neutron adalah services yang menghandel dan memanage virtual networking infrastructure di dalam platform openstack cloud. Apa saja elemen-elemen tersebut? Elemen tersebut yaitu networks, subnets, dan routers. Beberapa advanced fitur seperti firewall dan VPN juga menggunakan services neutron.
  4. Cinder (Block Storage) : Cinder adalah services yang memanage volume storage untuk virtual machine. Jadi apabila kita berbicara mengenai block storage di openstack maka hal itu erat kaitannya dengan cinder.
  5. Nova (Compute) : Nova dan neutron serupa tapi fungsinya berbeda, nova merupakan service yang memanage network virtual machine yang berjalan di compute nodes. Nova juga berfungsi sebagai distributed components yang berinteraksi dengan keystone untuk autentikasi, glances untuk menampung images, dan komunikasi dengan horizon web interfaces. Hal yang paling penting kita ketahui adalah services nova compute menggunakan libvirtd, qemu, dan kvm sebagai hypervisornya.
  6. Glance (Image) : Glance adalah sebuah services yang bertugas sebagai registry atau penampung virtual machines images. Dengan adanya glance maka memungkinkan user untuk mencopy images tersebut menjadi sebuah instances (virtual machine) dengan lebih cepat karna services glance menjadikan virtual machines images tersebut sebagai template yang disimpan di dalam storage.
  7. Swift (Object Storage) : Swift merupakan sebuah services yang memungkinkan sebuah block storage diubah menjadi object storage dan dengan adanya object storage maka user dapat melakukan store dan retrieve files dari object storage tsb. Swift merupakan salah satu fitur powerful menurut saya sebab arsitekturnya distributed, scaleable (mudah di expand) dan bisa dibuat redudancy,
  8. Ceilometer (Metering) : Ceilometer erat kaitannya dengan monitoring resources di openstack itu sendiri, ceilometer mencentralized sources untuk memonitor dan metering data. Dengan adanya ceilometer maka administrator dapat mengukur penggunaan user dan membuat bill untuk tiap2 openstack users.
  9. Heat (Orchestration) : Heat adalah sebuat services yang digunakan untuk menyusun/mengkolaborasi multiple composite aplikasi cloud menggunakan AWS menggunakan REST (Representational State Transfer) API dan CloudFormation-Compatible Query API. Software ini mengintegrasikan komponen lainnya dari openstack ke dalam sebuah one-file template. Dari template tersebut memungkinkan pembuatan hampir semua openstack resource type seperti : Instances, Floating, IPs, Volumes, Security Groups, Users, dan juga advanced fungsionality seperti High Availability, instance autoscaling, dan nested stacks.

OPENSTACK TERMINOLOGY
  1. Cloud Controller : Berfungsi untuk memanage seluruh compute node, oleh karna itu disebut dengan "Manager" dan biasanya kamu mengakses horizon via IP Address Cloud Controller ini. Semua machine/node dalam openstack cloud berkomunikasi dengan cloud controller menggunakan protocol AMQP (Advanced Message Queuing Protocol). Nah kalau di CentOS/Redhat/Fedora daemon yang menjalankan protocol AMQP adalah Apache Messaging Daemon (qpidd) atau RabbitMQ.
  2. Tenant : Tenant adalah istilah yang digunakan keystone dan equivalent dengan project dalam horizon (web-ui). Tenant atau project adalah group items yang terdiri dari users, images, instances, networks, volume, dsb.
  3. Compute Node : Compute node adalah Hypervisor, Compute node adalah machine/node yang menjalankan "Nova Compute Services".
  4. Volume (Block Storage) : Sebuah persistent disk yang dapat di attached/detached ke sebuah single instances (virtual machine). Service Cinder secara default menggunakan LVM. Logical volumes dibuat dari volume group ini. Snapshots volume dapat dibuat mirip dengan logical volume snapshot.
  5. Ephemeral Disk : Adalah sebuah temporary disk yang digunakan oleh instances (virtual machine). Ketika instances dibuat maka ephemeral disk akan dibuat sebagai QCOW2 image dalam /var/lib/nova/instances/instances-00000000x/disk.local dalam compute node. Dan ketika instances dihapus/terminated maka secara otomatis ephemeral disk juga akan diremove setelah dihapus dengan dd. Normalnya Ephemeral disk pertama akan muncul sebagai /dev/vdb di dalam instances yang kita buat.
  6. Server atau Instances : Instances adalah istilah di openstack yang menandakan sebuah Virtual Machines.
  7. Flavor : Adalah hardware yang diasosiasikan/diassign ke instances(virtual machine) yang akan dibuat. Hardware tersebut adalah RAM, CPUs, dan Disks.
Sekilas nampak ribet memang istilah dan terminologi dari openstack, namun kalo sudah terbiasa pasti lebih asik kok apalagi kalo sudah familiar.

Semoga bermanfaat yah.

Wednesday, April 22, 2015

Implementasi HTTP Kickstart CentOS/Rhel 6.X

Buat temen2 yang sering banged main di data center seringkali dihadapkan pada situasi harus melakukan installasi OS di puluhan server. Kalau satu2 ribet kan?
Sebenernya ada cara mudah untuk melakukan instalasi secara otomatis yaitu menggunakan kickstart.

Metode ini memang konvensional karna zaman sekarang cloud sudah lebih populer yang dilengkapi dengan fitur cloning. Tapi di beberapa kasus masih sangat berguna banged fitur ini.

Nah kickstart ini biasanya digunakan untuk instalasi OS Linux, kickstart bakal men-generate sebuah file yang bisa digunakan sebagai template installer sebuah OS.

Langsung aja dibawah ini contohnya.

Langkah 1 - Install Kickstart Generator

[root@ip-local-private ~]# yum install system-config-kickstart

Langkah 2 - Generate Kickstart File

[root@ip-local-private ~]# system-config-kickstart

Akan muncul kickstart configurator, nah silahkan generate template sesuai yang anda inginkan. Dibawah ini langkah-langkah untuk mengenerate kickstart file.

- Setting TimeZone dan Password root


- Setting Partisi Harddisk yang digunakan, kalo dilinux temen2 harus perhatikan mount point yang wajib kudu itu / dan /boot. 

Contoh dibawah partisi mount point / dengan file system ext4 berukuran 10GB



Lalu setting partisi /boot 100 MB dengan filesystem ext4.



- Jangan lupa linux juga harus ada swap, maka bikinlah partisi swap. Contoh dibawah ini swapnya 100MB.


- Save kickstart file dengan cara pilih tab file - save.


Kickstart file sudah selesai di generate.

Langkah 3 - Pindahkan kickstart file ke direktori root HTTP

Setelah di save pindahin ke direktori root HTTP anda agar bisa diakses oleh server lain. Sebenernya metode carriernya macem2 bisa HTTP, FTP, dsb. 
Pada contoh ini saya sudah save kickstart filenya di direktori /root dengan nama ks.cfg dan akan dipindahkan ke /var/www/html

[root@ip-local-private ~]# cp ks.cfg /var/www/html/

Lalu verivikasi service HTTP anda ON karna semua server nanti akan mengakses file kickstart ini melalui HTTP service.
[root@ip-local-private ~]# /etc/init.d/httpd status
httpd (pid  2591) is running...

Lalu testing menggunakan curl, sebagai notes IP Address server saya adalah 192.168.99.103/

[root@ip-local-private ~]# curl http://192.168.99.103/ks.cfg
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use CDROM installation media
cdrom
# Root password
rootpw --iscrypted $1$zrSCw4PY$M4XtjK3SS8OuQ0uxdAEkF/
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info

# System timezone
timezone --isUtc Asia/Jakarta
# System bootloader configuration
bootloader --location=mbr
# Partition clearing information
clearpart --all  
# Disk partitioning information
part swap --fstype="swap" --size=100
part / --fstype="ext4" --size=10000
part /boot --fstype="ext4" --size=100


Apabila output dari curl sudah seperti diatas artinya sudah OK. 
Output diatas itu merupakan hasil generate dari kickstart generator tadi.

Langkah 4 - Instalasi OS Centos

Sekarang anda dapat mencoba instalasi OS menggunakan kickstart ini. Caranya seperti dibawah ini.

- Ketika muncul gambar seperti dibawah tekan [tab] lalu tambahkan parameter kernel seperti dalam box merah pada gambar dibawah ini.


Kalau sudah kelar pencet [ENTER], maka proses instalasi akan berjalan secara otomatis.

Gampang kan?
Selamat mencoba guys.

Mengenal Apa Itu Systemd, Systemctl, dan Manajemen Services di CentOS 7

Dalam CentOS versi terbaru yaitu CentOS 7, system startup beserta proses server di manage oleh systemd dan service manager. Program ini memberikan sebuah metode untuk mengaktifkan system resources, daemons dan proses lainnya baik itu ketika booting maupun ketika system sedang berjalan.
Kita semua mengetahui bahwa selama bertahun-tahun sebelumnya process ID 1 dari Linux dan UNIX system adalah "init process" yang mana bertanggung jawab untuk mengaktifkan services lainnya dan mungkin inilah asal muasal istilah dari "init system".

Pada CentOS 7 prosess ID 1 adalah "systemd" yang merupakan init system baru, apa yang membuat systemd berbeda dengan initd?
  • Systemd merupakan enhancement dari initd yang memiliki kapabilitas paralel yang dapat meningkatkan proses boot speed dari OS meningkat lebih baik ketimbang sebelumnya.
  • On-demand start daemons tanpa membutuhkan service yang dipisahkan.
  • Automatic service dependency management yang bisa mencegah timeout panjang seperti menstart service network ketika network sedang tidak available.
  • Metode tracking process dengan menggunakan linux control groups.

Nah di CentOS 7 command yang digunakan untuk memanage tipe dari object systemd adalah "systemctl" dan dapat disebut dengan "units".
Berikut dibawah ini listing unit files systemctl yang bisa digunakan untuk memanage services di CentOS 7.

  • Services State/Status Services
    Format : systemctl status name.type
    Contoh : systemctl status httpd.service
    Status Output :
    loaded                = Configuration unit telah di proses.
    active (running) = Running dengan satu proses atau lebih.
    active (exited)    = Status aktif dan sukses (one-time configuration).
    active (waiting)  = Status running namun menunggu sebuah event.
    inactive              = Tidak aktif
    enabled              = Akan di start ketika boot (persistent).
    disabled             = Tidak akan di start ketika boot (tidak persistent).
  •  Listing Files Unit Menggunakan Systemctl

    Query state semua unit untuk memverifikasi sebuah startup system
    # systemctl

    Query state hanya dari unit service
    # systemctl --type=service

    Listing status sebuah services
    # systemctl status httpd.service -l
  • Manajemen Services Start, Stop, Persistent, dsb.

    Start/Jalankan Service
    # systemctl start httpd.service

    Verifikasi apakah sistem active
    # systemctl is-active httpd

    Restart Services
    # systemctl restart httpd.service

    Stop Services
    # systemctl stop httpd.service

    Reload Services
    # systemctl reload httpd.service

    Enable service ketika di booting (Persistent)
    # systemctl enable httpd.service

    Disabled Service ketika booting (Non-Persistent)
    # systemctl disable httpd.service

    Verifikasi apakah service di start ketika booting
    # systemctl is-enabled httpd

Semoga bermanfaat yah terutama buat yang ingin mencoba CentOS 7 ataupun RHEL 7.

Sunday, April 19, 2015

Command Konfigurasi Network CentOS 7

Ada banyak pembaharuan di CentOS 7 bukan hanya dari consolidate files yang membuat performance OS ini menjadi lebih baik namun juga beberapa command pun ada yang berubah terutama di bagian network dan services.

Kali ini saya mau coba share beberapa command yang sangat berguna untuk konfigurasi network di CentOS 7.

Display Status Network Menggunakan nmcli dan Beberapa Command Lainnya

- Display current IP Address dan Netmask di semua interfaces
# ip addr

- Display statistik untuk interface eth0
# ip -s link show eth0

- Display Informasi Routing
# ip route

- Traceroute command 
# tracepath google.com

- Display seluruh list connection
# nmcli con show

- Display connection yang active saja
# nmcli con show --active

- Display connection detail dari sebuah interface
# nmcli con show eth0

- Display device status connection dari semua device
# nmcli dev status

- Display device status connection dari interface yg spesifik
# nmcli dev show eth0


Membuat Network Connection Dengan nmcli

- Membuat koneksi default DHCP bedasarkan ethernet yang digunakan
# ip addr show (liat dulu ada interface apa yang digunakan)
# nmcli con add con-name "default" type ethernet ifname eth0

- Membuat koneksi bernama statik, medefine IP address & gateway, no persistent (autoconnect no)
# nmcli con add con-name "statik" ifname eth0 autoconnect no type ethernet ip4 192.168.99.19/24 gw4 192.168.99.5

- Membuat koneksi yang sama seperti diatas namun persistent (autoconnect automatically yes)
# nmcli con add con-name "statik" ifname eth0 type ethernet ip4 192.168.99.19/24 gw4 192.168.99.5

Notes :
Kalo autoconnect diganti menjadi yes atau gak dipake, maka ketika di reboot koneksi menjadi persistent.

-  Ubah jadi koneksi network menggunakan koneksi yang telah dibuat yaitu koneksi "statik".
# nmcli con up "static"

- Ubah lagi ke koneksi default "DHCP"
# nmcli con up "default"


Modifikasi Network Interfaces Dengan nmcli

- Turn off autoconnect
# nmcli con mod "statik" connection.autoconnect no

- Mendefine DNS Server
# nmcli con mod "statik" ipv4.dns 8.8.8.8

- Nambahin value dari DNS atau istilah menjadi DNS2
# nmcli con mod "statik" +ipv4.dns 8.8.4.4

- Replace statik IP address and gateway
# nmcli con mod "statik" ipv4.address "192.168.227.10/24 192.168.227.2"

- Nambahin secondary IP Address tanpa gateway
# nmcli con mod "statik" +ipv4.address 10.10.10.19/24

- Jangan lupa, "nmcli con mod" akan menyimpan setting ke file configuration namun belum aktif, untuk mengaktifkan perubahan maka koneksi butuh diaktifkan ulang.
# nmcli con up "statik"

- Reload Network Manager
# nmcli con reload

Konfigurasi Hostname

- Cek hostname yang digunakan
# hostname

- konfigurasi hostname 
# hostnamectl set-hostname arifzulfikar.com

- Cek status hostname
# hostnamectl status

Notes :
Apabila ingin mengignore auto dns atau peerdns dengan nmcli bisa gunakan command dibawah ini.
# nmcli con mod "statik" ipv4.ignore-auto-dns yes

Wednesday, April 15, 2015

7 Hal Penting di Operating System Berbasis Linux

Kalo buat temen-temen yang seneng bermain sama linux pasti tau hal-hal yang bakal saya sebut dibawah ini. Berikut dibawah ini 7 hal yang penting di OS Linux beserta penjelesan singkat dan fungsinya sebagai apa.
  1. Bootloader
    Bootloader adalah program pertama ketika OS linux dijalankan dan secara gak langsung bootloader merupakan elemen penting dari linux, itulah sebabnya kenapa saya ketika mengintall OS linux selalu memberikan partisi khusus untuk folder /boot sebab kalo sudah corrupt pusing troubleshootnya. Fungsi bootloader adalah meload dan memuat operating system ketika pertama kali di start, di linux mungkin kamu familiar kan dengan yang namanya grub loader? Grub loader lah yang menangani metode loader OS linux kamu.

  2. Kernel
    Saya pernah baca di sebuah forum bahwa ada yang bilang bahwa "Linux is not an Operating System, it's a kernel".  Statement itu memang bener bahwa linux itu adalah kernel, di dunia ini yang saya tau ada 3 kernel yang terkenal sebagai platform OS yaitu kernel windows, unix, dan linux yang merupakan turunan unix. Agar gak salah paham coba mindsetnya diubah menjadi seperti ini, linux itu adalah kernel yang merupakan Operating System itu adalah redhat, centos, ubuntu, fedora, dsb. Pertanyaan selanjutnya apa sih fungsi kernel? Kernel adalah program yang dibuat yang berfungsi sebagai bridge antara program dan mesin komputer, fungsinya itu agar intruksi-intruksi program dapat dieksekusi oleh hardware secara aman. Maka sebenernya sebelum program kamu di eksekusi oleh CPU atau masuk ke RAM sebenernya intruksi-intruksi tersebut melewati kernel terlebih dahulu sebelum di esksekusi oleh mesin komputer.

  3. Daemons
    Kalo bahasa indonesianya itu hantu ato dedemit hahahaha. Namun kalo di operating system daemons adalah sebuah program yang berjalan di background, mungkin karna itu disebut "Daemons". Kalo di linux hampir semua service dijalankan oleh daemon contohnya httpd, slapd, vsftpd, syslogd, dsb. Hampir semuanya berakhiran "D" yah haha, tapi yang umum itu adalah hampir di semua operating system yang servicenya dijalankan oleh daemon biasanya berjalan dalam waktu yang sangat lama bahkan harus terus-terusan berjalan.

  4. Shell
    Kalo sering bermain linux pasti tau apa itu shell, shell merupakan salah satu jenis program asli bawaan linux yang apabila digunakan menyediakan komunikasi langsung antara user dan kernel. Hampir semua distro linux saat ini default environment shellnya adalah bash yang merupakan improvement dari unix shell, tanpa adanya bash maka kamu gak akan pernah mengeksekusi perintah di command prompt. Kalo kamu gak percaya coba aja hapus file /bin/bash di OS linux kamu dan liat hasilnya apaan, inget buat uji coba di komputer sendiri yah jangan di komputer production hehehe....

  5. Shell Utilities
    Shell utilities adalah perintah built in yang merupakan bagian atau bawaan dari shell, maka kalo sudah ada shell/bash berarti sudah pasti ada sekumpulan perintah/command bawaan yang bisa digunakan dan command ini biasanya fungsinya penting banged contohnya cp, ls, mv, dsb. Command yang menjadi bagian dari shell utilities ini biasanya ada di folder /bin coba cek aja kalo gak percaya binary file seperti cp, gunzip, mv, mount, dsb biasanya ada di folder tsb. Hati2 yah jangan sampe kedelete.. ^,^

  6. X.org
    X.org adalah package graphical desktop yang biasanya terdapat di distro linux sehingga X.org ini bukan merupakan bagian dari kernel. X.org adalah package terpisah dan oleh sebab itu ketika kita install linux kita bisa pilih juga mau diinstall paket GUI-nya atau tidak, dan X.org ini sudah ada dari taun 1984 dari jaman jadul yang memang khusus dikembangkan OS berbasis UNIX memiliki kemampuan untuk di akses dan dimanage oleh GUI. Ada beberapa package yang terkenal untuk saat ini yaitu KDE, GNOME, XFCE, LXDE, dsb.

  7. Desktop Environment
    Kalo ngomongin linux desktop otomatis kita juga akan berbicara tentang desktop environment. Desktop environment terdiri dari icons, windows, toolbar, folders, dan lain sebagainya. Ada banyak desktop environment yang beredar saat ini. Ubuntu menggunakan Unity, Fedora menggunakan GNOME dan Mint menggunakan Cinnamon/Mate.

Nah semoga ada pencerahan yah hehehe..